Skip to main content

概览

AI Sonar 用一个 API 密钥提供四个协议入口:Chat Completions、Responses、Anthropic Messages 和 Gemini 原生协议。只有模型公开该格式且存在同协议 service 路径时,原生入口才可用;原生入口绝不回落 Chat Completions。只有 Chat 入口可以单向编译到兼容的目标协议。

OpenAI 格式

/v1/chat/completions 标准格式,兼容性最广

Responses

/v1/responses 原生 Responses 生命周期与事件

Anthropic 格式

/v1/messages 延展思维,原生 Claude 功能

Gemini 格式

/v1beta/models/:model:generateContent Google 生态系统集成

为什么使用多格式?

格式比较

OpenAI 格式

这是面向已有 OpenAI SDK 集成、可移植聊天或 embeddings 的兼容路由。需要 Claude 或 Gemini 原生行为时,请使用下面的 Anthropic 或 Gemini 格式。
适用场景:
  • 通用场景
  • 已有 OpenAI SDK 集成
  • 最大兼容性

Anthropic 格式

原生 Anthropic Messages API。用于 Claude 特有功能,如延展思维。

延展思维(Claude Opus 4.6)

仅在 Anthropic 格式可用:
适用场景:
  • Claude 特有功能
  • 延展思维模式
  • 原生 Anthropic SDK 用户

Gemini 格式

原生 Google Gemini API 格式,适用于 Google 生态系统集成。

流式传输

适用场景:
  • Google Cloud 集成
  • 已有 Gemini SDK 代码
  • 原生 Gemini 功能
Gemini Files 和 Cache: 原生 Gemini 路径支持 /upload/v1beta/files/v1beta/files/v1beta/files:register/v1beta/cachedContents。请在后续 generateContent 调用中使用返回的公共文件或缓存标识;资源仅限创建它们的 API Key 使用。

工具兼容边界

只有 Chat 入口可以在目标能完整表达工具闭环时单向编译函数工具。提供商原生工具必须保留在对应的原生路径上:
  • OpenAI Responses 托管和原生工具,例如 tool_searchweb_searchfile_searchcode_interpreter、MCP、shell/apply_patch 和 computer-use 工具,需要 /v1/responses
  • Anthropic server/native 工具,例如 web_search_*web_fetch_*code_execution_*tool_search_*、bash、computer-use 和 text-editor 工具,需要 /v1/messages
  • Gemini 内置工具,例如 googleSearchcodeExecutionurlContextcomputerUse 以及类似的 tools 字段,需要 /v1beta
AI Sonar 不会把原生协议请求降级成 Chat Completions。未知字段和工具组合会 best-effort 透传,由选中的 service 决定是否支持。

选择合适的格式

迁移指南

来自 OpenAI 官方 API

来自 Anthropic 官方 API

来自 Google AI Studio

可移植 Chat 兼容

当一个客户端需要访问由不同 service 协议承载的模型时,使用 /v1/chat/completions。可移植 Chat 请求只有在能完整表达时,才可以单向编译成 Responses、Messages 或 Gemini。Responses、Messages 和 Gemini 原生请求绝不转成 Chat;模型名或厂商名不代表原生协议一定可用。

Responses 与 Gemini 边界

当前 Responses 入口包含创建、压缩、读取、删除和 SSE;background 只通过 HTTP 运行。收到 background: true 时,AI Sonar 会直接尝试所选原生 Responses 路由,由服务端响应决定是否支持,不按厂商或模型名称维护能力开关。WebSocket 只接受 response.create,stream 是隐含行为,且不提供 backgroundresponse.cancel。删除不是取消。 Gemini 的 ProtoJSON lowerCamelCase 和原始 proto snake_case 名称都是官方拼写,混合请求也会原样保留。当前入口包括 model list/get、generateContentstreamGenerateContentcountTokensembedContentbatchEmbedContents,不包括 Interactions 或 Live。未知字段会 best-effort 透传,由 service 决定是否支持。