Crescendo Lab เอกสาร ดีพลอย
ไทย
สมัครใช้งาน

ข้อมูลอ้างอิง API ของ Gateway

endpoint /v1 ของ Gateway วิธียืนยันตัวตน เฮดเดอร์คำขอและคำตอบที่ Gateway เพิ่ม และเอกสาร OpenAPI ที่อธิบาย endpoint เหล่านี้

อัปเดตล่าสุด
ดู Markdown เปิดใน Claude เปิดใน ChatGPT

เอกสาร OpenAPI#

endpoint ด้านล่างอธิบายไว้ในเอกสาร OpenAPI 3.1 ซึ่งตรวจเทียบกับเส้นทางของ Gateway ทุกครั้งที่บิลด์

text
https://agentlab.cresclab.com/docs/openapi/gateway.json

Base URL: https://api.agentlab.cresclab.com รหัสข้อผิดพลาดดูได้ในข้อผิดพลาด

Endpoint#

เมธอดและพาธสิ่งที่ทำ
POST /v1/chat/completionsOpenAI Chat Completions แบบสตรีมหรือไม่สตรีม กับโมเดลใดก็ได้ที่เวิร์กสเปซอนุญาต
POST /v1/messagesAnthropic Messages ส่งต่อไปยังโมเดล Claude ตามที่ส่งมา
POST /v1/messages/count_tokensการนับโทเค็นของ Anthropic ไม่คิดค่าใช้จ่าย
POST /v1/responsesOpenAI Responses ส่งต่อไปยังโมเดล OpenAI ตามที่ส่งมา
POST /v1/prompts/{prompt}/completionsเรียกพรอมต์จากคลังพรอมต์ของเวิร์กสเปซพร้อมตัวแปร ตอบกลับในรูปแบบ Chat Completions
GET /v1/modelsauto และโมเดลที่คีย์นี้ระบุได้ ในรูปแบบรายการของ OpenAI หรือ Anthropic
GET /v1/gateway/readinessเซิร์ฟเวอร์ Gateway นี้พร้อมให้บริการหรือไม่ ไม่ต้องใช้คีย์

การยืนยันตัวตน#

ส่งคีย์ Gateway เป็น Authorization: Bearer <key> ทุก endpoint ยกเว้น /v1/chat/completions รับ x-api-key: <key> ได้ด้วย ถ้าส่งทั้งสองแบบต้องเป็นคีย์เดียวกัน คำขอจากเบราว์เซอร์ (ที่มีเฮดเดอร์ Origin) จะถูกปฏิเสธ

เฮดเดอร์คำขอ#

เฮดเดอร์ใช้ที่ความหมาย
X-AgentLab-Routingทุก endpoint สำหรับ inferenceauto: ให้ Gateway เลือกโมเดลแม้เนื้อหาคำขอจะระบุโมเดลไว้ ต้องเป็น auto พอดี
Idempotency-Keyทุก endpoint สำหรับ inference ไม่บังคับยาว 8 ถึง 128 ตัวอักษร คีย์เดียวกันจะไม่ถูกคิดค่าใช้จ่ายซ้ำ การนำไปใช้กับคำขออื่นจะถูกปฏิเสธ
X-AgentLab-Metadataทุก endpoint สำหรับ inference ไม่บังคับแท็กสำหรับรายงานการใช้งาน: ออบเจ็กต์ JSON ที่มีค่าสตริงไม่เกิน 16 ค่า ดูแท็ก
anthropic-version, anthropic-beta/v1/messagesส่งต่อให้ผู้ให้บริการตามที่ส่งมา

เฮดเดอร์คำตอบ#

เฮดเดอร์ความหมาย
X-Request-Idid ของคำขอ ตรงกับ request_id ในหน้าการใช้งานและในไฟล์ส่งออก
X-Agentlab-Modelโมเดลที่ตอบ
X-Agentlab-Decisionrequested_model หรือวิธีที่ auto ตัดสิน ดูauto
X-Agentlab-Assessmentเมื่อใช้ auto คือผลการประเมินงาน เช่น analysis/multi_step
X-Agentlab-Promptในการเรียกพรอมต์ คือเวอร์ชันของพรอมต์ที่ตอบ <prompt id>@<version>
Retry-After, X-Should-Retryเมื่อถูกปฏิเสธ บอกว่าควรลองใหม่หรือไม่และเมื่อไร ดู429 ทั้งสามแบบ

Chat Completions#

เนื้อหาคำขอเป็นคำขอ OpenAI Chat Completions model คือ auto หรือชื่อจาก GET /v1/models ส่วน model ในคำตอบคือโมเดลที่ตอบ และ agentlab_decision.reason คือ auto หรือ requested_model เมื่อใช้ stream_options.include_usage ชิ้นสุดท้ายของสตรีมจะมีข้อมูลการใช้งาน

ออบเจ็กต์ agentlab ที่ไม่บังคับใช้ระบุสิ่งที่คำขอต้องการ เพื่อให้ auto เลือกเฉพาะโมเดลที่รองรับ: {"schema_version": 1, "tool_calling": true, "vision": false, "structured_output": false, "minimum_context_tokens": 0}

พรอมต์#

เจ้าของและผู้ดูแลจัดการพรอมต์ของเวิร์กสเปซได้ที่แท็บพรอมต์ของ Gateway ได้แก่ ข้อความที่มี {{ตัวแปร}} โมเดล (หรือ auto) และพารามิเตอร์ที่ไม่บังคับ ทุกครั้งที่บันทึกจะเป็นเวอร์ชันใหม่ และมีหนึ่งเวอร์ชันที่เผยแพร่ การเรียกใช้คัดลอกรูปแบบ API พรอมต์ของ Portkey

bash
curl https://<gateway>/v1/prompts/support-reply/completions \
  -H "Authorization: Bearer $AGENTLAB_API_KEY" -H "Content-Type: application/json" \
  -d '{"variables": {"company": "Acme", "question": "When does order 1042 ship?"}}'
  • ระบุพรอมต์ด้วย slug หรือ id ต่อท้ายด้วย @<version> เช่น support-reply@3 เพื่อตรึงเวอร์ชัน ไม่เช่นนั้นเวอร์ชันที่เผยแพร่จะเป็นผู้ตอบ
  • variables ต้องตรงกับตัวแปรของพรอมต์พอดีและค่าทุกตัวเป็นสตริง ตัวที่ขาดหรือเกินจะถูกปฏิเสธด้วย prompt_variables_mismatch ก่อนส่งสิ่งใด
  • สมาชิก Chat Completions อื่น เช่น model stream หรือ user จะแทนที่ค่าของพรอมต์ ส่วน messages จะถูกปฏิเสธเพราะพรอมต์เป็นผู้ถือข้อความ
  • คำตอบเป็นคำตอบแบบ Chat Completions ผ่านคีย์ ขีดจำกัด auto และการใช้งานเดียวกัน หน้าการใช้งานแยกคำขอตามพรอมต์ และแต่ละคำขอแสดงพรอมต์และเวอร์ชัน ค่าตัวแปรที่ส่งมาจะไม่ถูกเก็บ

Messages และ Responses#

สอง endpoint นี้ส่งต่อไปยังผู้ให้บริการตามที่ส่งมา ยกเว้น model ซึ่งจะเปลี่ยนเป็นโมเดลที่ Gateway เลือก การใช้งาน fast mode, regional inference, service tier, การเขียนแคชหนึ่งชั่วโมง, web search และเวลาของ code execution จะวัดจากรายงานของผู้ให้บริการเองและคิดราคาตามแค็ตตาล็อก

บางส่วนจะถูกปฏิเสธ เพราะจะอ่านหรือเรียกใช้สิ่งที่ Gateway ระบุไม่ได้ว่าเป็นของเวิร์กสเปซคุณ

  • Messages: fallbacks และเครื่องมือ advisor ซึ่งเรียกโมเดลที่สองภายในการเรียกเดียว
  • Responses: previous_response_id, conversation, prompt และการอ้างอิง item ซึ่งอ่านสถานะที่เก็บไว้ใต้บัญชีของผู้ให้บริการ รวมถึงเครื่องมือ file_search และ image_generation Gateway ส่ง store: false ผู้ให้บริการจึงไม่เก็บคำตอบไว้เรียกดูภายหลัง