灵渠 LingQu
多上游模型接入

OpenAI 兼容接入

遵循 OpenAI 规范的第三方上游接入——以 openai-compatible 协议类型登记、请求与响应字段映射、模型清单与路由配置示例

OpenAI 兼容接入用于纳管遵循 OpenAI 规范的第三方上游。由于平台的数据平面统一查询入口本身即 OpenAI 兼容,这类上游的协议映射最为直接——请求与响应几乎一一对应,平台只需做归属与计量的补充处理。本页只写 OpenAI 兼容接入相对通用接入规则的差异。

接入要点

登记时 sourcethird_partytypeopenai-compatible。平台据此把发往该上游的请求按 OpenAI 规范组织,并把上游返回的 chat.completion 结构对齐到统一响应。

curl https://your-platform/api/v1/providers \
  -H "Content-Type: application/json" \
  -H "Cookie: <控制台会话凭证>" \
  -d '{
    "name": "OpenAI 兼容上游",
    "source": "third_party",
    "type": "openai-compatible",
    "models": ["<模型中性名>"],
    "group": "default",
    "priority": 2,
    "weight": 1
  }'
字段OpenAI 兼容取值说明
sourcethird_party标记为第三方兼容接入,「模型接入」页归入第三方分区
typeopenai-compatible平台按 OpenAI 规范翻译请求与响应
models中性名数组上游实际模型名映射为对外中性名(见下)

请求与响应映射

OpenAI 兼容上游的对接点是 /v1/chat/completions 形态。客户应用发往平台统一入口的请求字段,绝大多数可原样透传给上游:

平台统一入口字段OpenAI 兼容上游字段映射
model(中性名)model(上游实际模型名)平台按 models 登记把中性名解析为上游实际模型
messagesmessages原样透传
streamstream原样透传,流式逐 chunk 经护栏中间件处理
max_tokens / temperature同名标准字段原样透传

响应方向,上游返回的 chat.completion 结构对齐到统一响应,平台在 usage 上补充 6 档计量信息:

{
  "object": "chat.completion",
  "model": "<实际路由的上游模型中性名>",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "<生成内容>" },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "completion_tokens": 0,
    "total_tokens": 0,
    "cached_input_tokens": 0,
    "price_tier": "<适用单价档(6 档之一)>",
    "thinking": false
  }
}

usage 扩展由平台补全。 上游原生 usage 仅含基础词元字段;cached_input_tokens / price_tier / thinking 等 6 档计量扩展由平台依统一计价词元口径补全,是逐条调用记录与计费的来源。客户应用无需感知这一补全过程。

模型清单拉取

接入后可在「模型接入」页对该上游做接入探测,确认连通后其登记的中性名即进入模型池准入判定:

curl https://your-platform/api/v1/providers/<上游标>/probe \
  -X POST \
  -H "Cookie: <控制台会话凭证>"

OpenAI 兼容上游往往与自有供应模型供给同一中性名,作为自有供应的备份层(较低优先级)。当自有供应不可用时,路由中间件按优先级降级到该上游,对客户应用透明。

OpenAI 兼容接入完成后,其模型与自有供应、其它规范的第三方上游在同一模型池中统一调度。其它第三方规范见 Anthropic 兼容接入Gemini 兼容接入;逐条调用与计量字段的完整契约见 API 参考

On this page