API

Chat Completions

通过直接模型或治理策略路由发送消息

POST /v1/chat/completions 接收 OpenAI-compatible Chat 请求。Octoryn 验证工作区、解析模型或策略别名、分发给合资格供应商,并返回兼容响应或事件流。

Endpoint 与认证

使用目标工作区和环境签发的 API Key,以 Bearer Token 发送 JSON POST 请求。

POST https://api.octoryn.dev/v1/chat/completions
Authorization: Bearer $OCTORYN_API_KEY
Content-Type: application/json

Request body

model 与 messages 是必填字段。Router 接收标准 OpenAI-compatible 可选字段,并传递所选路由支持的字段。

  • model — 直接模型 ID 或 policy/* 别名
  • messages — 按顺序排列的 role/content 消息;多模态内容取决于路由能力
  • stream — 默认为 false;true 返回 Server-Sent Events
  • max_tokens 与 temperature — 可选生成控制
  • tools、tool_choice 与 response_format — 所选路由支持时可用
{
  "model": "policy/frontier",
  "messages": [
    {"role": "system", "content": "简洁回答。"},
    {"role": "user", "content": "比较两种部署方案。"}
  ],
  "temperature": 0.2,
  "stream": false
}

非流式响应

成功响应使用 OpenAI Chat Completion Envelope,包括 id、object、created、model、choices 与 usage。客户端应忽略不使用的扩展字段。

{
  "id": "chatcmpl_...",
  "object": "chat.completion",
  "model": "policy/frontier",
  "choices": [{
    "index": 0,
    "message": {"role": "assistant", "content": "..."},
    "finish_reason": "stop"
  }],
  "usage": {"prompt_tokens": 24, "completion_tokens": 96, "total_tokens": 120}
}

流式返回

设置 stream=true 后返回 text/event-stream。每个 data 行包含 chat.completion.chunk,最后以 data: [DONE] 结束。客户端应处理取消、超时与部分输出。

data: {"id":"chatcmpl_...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"你好"},"finish_reason":null}]}

data: [DONE]

关联信息与安全重试

记录 X-Request-Id 等关联标识、状态与延迟,但不要记录 API Key 或敏感 Prompt。只重试可安全重复的请求。

下一篇模型列表