跳到主要内容

服务提供方兼容性

服务提供方兼容性同时取决于面向调用方的端点,以及模型别名背后的上游服务提供方配置。一个模型可以在通用聊天端点正常工作,但在某个服务提供方专属端点被拒绝。

AISIX 有两层兼容性判断:

层级作用
适配器协议族决定如何为上游服务提供方编码聊天类请求。参见适配器协议族
端点规则决定特定代理路由是否接受选中的模型别名。

规划路由时需要同时检查这两层。适配器告诉 AISIX 如何与上游服务提供方通信;端点自身规则决定该代理路由是否支持选中的服务提供方或适配器协议族。

端点兼容性

请根据调用方 API 格式和服务提供方支持要求选择代理路由。

需求路由服务提供方支持
广泛聊天兼容性/v1/chat/completionsOpenAI、Anthropic、Bedrock、Vertex AI、Azure OpenAI,以及通过已配置适配器接入的 OpenAI 兼容服务提供方。
Anthropic 风格客户端/v1/messagesAnthropic 上游原生支持;受支持的非 Anthropic 上游通过转换支持。文本支持范围最广;图片、文档和工具调用支持取决于所选服务提供方适配器;签名的思考历史仍为 Anthropic 专属。
Anthropic Token 计数/v1/messages/count_tokens仅支持 Anthropic 上游模型。
流式聊天stream: true/v1/chat/completions/v1/messages服务提供方支持范围与所选端点一致。路由模型可以在 AISIX 发送响应字节之前执行故障转移,但响应流开始后不能切换目标。
向量嵌入/v1/embeddings支持 OpenAI 兼容上游、Bedrock 的 Amazon Titan/Cohere 向量嵌入模型以及 Vertex AI 的 Google 发布方所提供的向量嵌入模型。其它组合返回 501 not_implemented
OpenAI Responses API/v1/responsesOpenAI 上游原样转发;当服务提供方适配器支持转换后的请求形态时,非 OpenAI 上游通过 Responses 桥接支持。
图片生成/v1/images/generations已配置服务提供方为 OpenAI 的模型。
视频生成/v1/videos 及其状态和内容路由已配置服务提供方为 alibabazhipuai(或 zhipu)、volcenginerunwayml(或 runway)或 openai 的模型。其他服务提供方返回 501 not_implemented
音频/v1/audio/transcriptions/v1/audio/translations/v1/audio/speechOpenAI 风格上游音频路由。AISIX 会转发音频格式,不跨服务提供方协议族转换音频。
Rerank/v1/rerankCohere、Jina,或使用 openai 服务提供方值且实现 /v1/rerank 的 OpenAI 兼容上游。公开 OpenAI API 不提供该端点。
服务提供方原生路由/passthrough/:provider/*rest任何拥有可访问模型和服务提供方密钥的 provider 值,并带有限的网关标准化处理。

服务提供方专属支持

所有支持的聊天和 Responses 端点都支持流式请求。下表说明额外端点支持和重要边界:

配置路径端点支持和边界
OpenAI支持聊天补全、Responses、向量嵌入、图片生成和音频。公开 OpenAI API 不提供 Rerank。
Anthropic原生支持 Messages 和 Token 计数;聊天补全和 Responses 使用转换。不支持向量嵌入、图片生成和 Rerank。
Amazon Bedrock支持聊天补全和 Responses;向量嵌入仅支持 Amazon Titan 和 Cohere 模型 ID。不支持图片生成和 Rerank。
Google Vertex AI支持聊天补全和 Responses;向量嵌入仅支持 Google 发布方模型。不支持图片生成和 Rerank。
Azure OpenAI支持聊天补全和 Responses;Azure OpenAI 适配器不实现向量嵌入、图片生成和 Rerank。
GeminiQwenDeepSeekGroqMistralTogether AI支持聊天补全和桥接的 Responses 请求,不支持图片生成和 Rerank。
其他公开的 OpenAI 兼容服务提供方必须支持 OpenAI 兼容的聊天补全接口。向量嵌入取决于上游路由;Rerank 要求服务提供方值被 Rerank 接口接受。
私有 OpenAI 兼容端点必须实现应用实际调用的上游路由;向量嵌入取决于私有端点。示例中的 vllm 服务提供方值不被 Rerank 路由接受。

端点规则

兼容性矩阵是主要路由参考。以下规则用于澄清服务提供方身份、适配器协议族和端点行为不完全一致的情况。

  • Chat completions 是覆盖最广的标准化路由。对于非 OpenAI 上游,网关背后的服务提供方请求仍可以使用 Anthropic、Bedrock、Vertex AI、Azure OpenAI 或其它适配器专属格式。
  • Responses 使用服务提供方专属处理。OpenAI 上游模型会转发到上游 Responses API。其它服务提供方会通过聊天适配器路径桥接,并针对受支持请求能力返回 Responses 形态结果。
  • 图片生成是 OpenAI 服务提供方路由。某个 OpenAI 兼容厂商可以在 Chat Completions 中使用 OpenAI 适配器,但如果其 provider 值不是 openai,仍会在该路由上被拒绝。
  • 向量嵌入请求会通过解析后的适配器进行分发。OpenAI 适配器会转发 OpenAI 请求格式;Bedrock 和 Vertex 适配器会针对支持的向量嵌入模型系列进行格式转换。音频仍使用 OpenAI 风格转发,不进行格式转换。
  • Rerank 使用路由专属的服务提供方允许列表,接受的 provider 值为 openaicoherejina,但上游必须提供 /v1/rerank 接口。openai 也支持兼容服务提供方,并不表示请求一定发送到 OpenAI 的公开接口。
  • Anthropic Messages 支持原生 Anthropic 上游,也支持经过转换的非 Anthropic 上游。AISIX 可以将文本、图片、文档和工具调用历史转换为标准化请求,但最终能到达上游的转换内容取决于所选服务提供方适配器。Anthropic thinkingredacted_thinking 历史块不会向其他服务提供方重放。Token 计数需要 Anthropic 上游模型。

AISIX 会保留 reasoning_content,并将 reasoning 标准化为该规范字段。如果 OpenAI 兼容服务提供方从不同的 delta 路径输出推理内容,请在服务提供方密钥上配置 response.reasoning_field

内容转换边界

跨服务提供方的功能支持取决于面向调用方的端点和转换方向。不要假设一个方向的结果适用于所有服务提供方协议族组合。

当 Anthropic 形态的 /v1/messages 请求发送到受支持的非 Anthropic 上游时,AISIX 会将受支持内容转换为标准化请求,包括文本、base64 和 URL 图片、文档、工具定义、工具调用和工具结果。所选服务提供方适配器可能只支持其中一部分内容。OpenAI 兼容适配器会保留图片部分,而当前 Bedrock 和 Vertex AI 聊天适配器只使用多模态用户内容中提取的文本。签名的 Anthropic 思考历史会被丢弃,因为其他服务提供方无法重放。

当 OpenAI 形态的 /v1/chat/completions 请求发送到其他服务提供方协议族时,可移植的文本和工具字段支持范围最广。非文本处理取决于所选适配器和上游 API。例如,某个服务提供方适配器可能只使用多模态消息中拼接的文本,而 OpenAI 兼容上游则可以接受原始 image_url 部分。

如果应用依赖服务提供方专属内容,请优先选择匹配的面向调用方端点和服务提供方协议族。有关准确的 Anthropic 形态转换行为,请参阅 Anthropic Messages;有关反向转换,请参阅使用 OpenAI 客户端访问 Anthropic 上游