服务提供方兼容性
服务提供方兼容性同时取决于面向调用方的端点和模型别名背后的上游服务提供方配置。一个模型可以在通用聊天端点正常工作,但仍会被某个服务提供方专属端点拒绝。
AISIX 从两个层面判断兼容性。适配器协议族决定如何为上游服务提供方编码聊天类请求。端点规则决定所选代理路由是否接受模型的服务提供方或适配器协议族。
端点兼容性
请根据调用方 API 格式和服务提供方支持要求选择代理路由。
| 需求 | 路由 | 服务提供方支持 |
|---|---|---|
| 广泛聊天兼容性 | /v1/chat/completions | OpenAI、Anthropic、Bedrock、Vertex AI、Azure OpenAI,以及通过已配置适配器接入的 OpenAI 兼容服务提供方。 |
| Anthropic 风格客户端 | /v1/messages | 原生支持 Anthropic 上 游;通过转换支持兼容的非 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/responses | OpenAI 上游使用原样转发;当服务提供方适配器支持转换后的请求形态时,非 OpenAI 上游通过 Responses 桥接获得支持。在桥接路径上,没有 Chat 等价项的 OpenAI 特定字段会被忽略。 |
| 图片生成 | /v1/images/generations | 已配置服务提供方为 OpenAI 的模型。 |
| 视频生成 | /v1/videos 及其状态和内容路由 | 已配置服务提供方为 alibaba、zhipuai(或 zhipu)、volcengine、runwayml(或 runway)或 openai 的模型。其他服务提供方返回 501 not_implemented。 |
| 音频 | /v1/audio/transcriptions、/v1/audio/translations、/v1/audio/speech | OpenAI 风格上游音频路由。AISIX 会转发音频格式,不会在不同服务提供方协议族之间转换音频。 |
| Realtime WebSocket | /v1/realtime | 使用 openai 或 azure-openai 适配器的直接模型。上游必须实现 OpenAI Realtime WebSocket 路径和事件协议;AISIX 会中继 Frame,不执行跨协议转换。 |
| Rerank | /v1/rerank | 支持 Cohere 和 Jina,或使用 openai 服务提供方值且实现 /v1/rerank 的 OpenAI 兼容上游。公开 OpenAI API 不提供此端点。 |
| 服务提供方原生路由 | /passthrough/:provider/*rest | 任何具有可访问模型和服务提供方密钥的服务提供方值,并带有限的网关标准化处理。 |
服务提供方专属支持
所有受支持的聊天和 Responses 路由都支持流式请求。下表说明额外端点支持和重要的服务提供方边界。
| 服务提供方配置 | 端点支持和边界 |
|---|---|
| OpenAI | 支持 Chat Completions、Responses、向量嵌入、图片生成和音频。公开 OpenAI API 不提供 Rerank 端点。 |
| Anthropic | 原生支持 Messages 和 Token 计数。Chat Completions 和 Responses 使用转换。不支持向量嵌入、图片生成和 Rerank。 |
| Amazon Bedrock | 支持 Chat Completions 和 Responses。向量嵌入仅限 Amazon Titan 和 Cohere 向量嵌入模型 ID。不支持图片生成和 Rerank。 |
| Google Vertex AI | 支持 Chat Completions 和 Responses。向量嵌入仅限 Google 发布方模型。不支持图片生成和 Rerank。 |
| Azure OpenAI | 支持 Chat Completions 和 Responses。Azure OpenAI 适配器未实现向量嵌入、图片生成或 Rerank。 |
| Gemini、DeepSeek、Groq 和 Mistral | 支持 Chat Completions 和桥接的 Responses 请求。不支持图片生成和 Rerank。 |
| Together AI | 通过兼容 OpenAI 的基础地址支持 Chat Completions、桥接的 Responses、Embedding、音频转录、音频翻译和文本转语音。togetherai 服务提供方值不支持规范化图片生成、视频生成和 Rerank;这些 Together 原生路由请使用透传。 |
| Qwen | 通过 Model Studio 兼容 OpenAI 的基础地址支持 Chat Completions、桥接的 Responses 和 Embedding。仅服务提供方值恰好为 alibaba 时支持视频生成,并映射到原生 Wan 文本生成视频任务 API;alibaba-cn 不在视频路由允许列表中。规范化路由不支持图片生成和 Rerank。 |
| OpenRouter 和 Fireworks AI | 支持 Chat Completions、桥接的 Responses,以及向量嵌入(当别名指向上游在其 OpenAI 兼容基础地址上发布的向量嵌入模型时)。不支持图片生成、视频生成和 Rerank:openrouter 和 fireworks-ai 服务提供方值不在 这些路由的允许列表中。 |
| Cohere | 通过 Cohere 兼容 API 基础地址支持 Chat Completions、桥接的 Responses 和向量嵌入。支持 Rerank,因为 cohere 是 Rerank 路由接受的三个服务提供方值之一;需要另一个指向 Cohere 原生 API 根地址的服务提供方密钥。不支持图片生成和视频生成。 |
| Zhipu AI | 支持 Chat Completions、桥接的 Responses、转换后的 Messages、Embedding、音频转录、文本转语音、Realtime WebSocket 中继和规范化视频生成。原生图片生成、Rerank 和高级 CogVideoX 请求仍可通过透传访问;不支持规范化图片生成、音频翻译和 Rerank。 |
| Perplexity | 支持 Sonar Chat Completions 和桥接的 Responses。Perplexity 标准 Embedding 模型只有使用 API Base 包含 /v1 的独立服务提供方密钥时才能通过 /v1/embeddings 使用;Sonar Chat Base 不支持。图片生成、视频生成和 Rerank 不受支持。 |
| Cerebras 和 Hugging Face | 支持 Chat Completions 和桥接的 Responses。两个上游都未在配置的基础地址上提供 Embedding 模型,因此不可使用 Embedding。图片生成、视频生成和 Rerank 不受支持。 |
| Moonshot AI | 支持 Chat Completions 和桥接的 Responses 请求。不支持图片生成、视频生成和 Rerank;Moonshot 原生路由请使用服务提供方透传。 |
| Baseten | 支持 Chat Completions 和桥接的 Responses 请求。当服务提供方密钥的 api_base 指向提 供 OpenAI 兼容 /v1/embeddings 路由的 Baseten 部署时,向量嵌入可用。不支持图片生成、视频生成和 Rerank,即使 Baseten 模型 ID 以 openai/ 开头也是如此——服务提供方值是 baseten,而不是 openai。 |
| Jina | 通过 Jina API 根地址上的 OpenAI 形态路由支持向量嵌入。原生支持 Rerank,因为 jina 是 Rerank 路由接受的三个服务提供方值之一,并且与向量嵌入共用相同的 API 根地址和服务提供方密钥。测试用 jina-ai/jina-vlm 模型在该根地址上支持 Chat Completions;Responses 和 Messages 通过此实验路由使用 AISIX 转换。其他 Jina 别名不支持这些 Chat 形态端点。不支持图片和视频生成。 |
| RunwayML | 仅支持视频生成,因为 runwayml(以及简写 runway)位于视频路由的服务提供方允许列表中。Chat Completions、Responses 和向量嵌入会在上游失败——Runway 不提供聊天或向量嵌入 API。不支持图片生成和 Rerank:runwayml 服务提供方值不在这些路由的允许列表中。对于网关尚未建模的 Runway 接口(例如图生视频),请使用服务提供方透传。 |
| 火山引擎方舟 | 通过方舟 OpenAI 兼容基础地址支持 Chat Completions、桥接的 Responses、转换后的 Messages 和 Embedding。volcengine 位于视频路由允许列表中,因此支持视频生成。方舟原生 Responses 和图片生成路由仍可通过服务提供方透传访问;不支持规范化图片生成和 Rerank。 |
| Cloudflare Workers AI、Databricks、DeepInfra 和 NVIDIA NIM | 支持 Chat Completions、桥接的 Responses,以及当别名指向上游在配置的兼容 OpenAI 根地址上提供的 Embedding 模型时支持 Embedding。这些服务提供方值不支持图片生成、视频生成和 Rerank;服务提供方原生路由请使用透传。 |
| SiliconFlow | 通过其 OpenAI 形态 API 根地址支持 Chat Completions、桥接的 Responses、转换后的 Messages、Embedding、音频转录和文本转语音。音频翻译会在上游失败。siliconflow 服务提供方值不支持图片生成、视频生成和 Rerank;原生 Messages 和其他服务提供方路由仍可通过透传访问。 |
| W&B Inference | 支持 Chat Completions、桥接的 Responses 和转换后的 Messages。W&B Serverless Inference 不提供 Embedding、图片生成、视频生成或 Rerank 端点。其原生模型列表仍可通过服务提供方透传访问。 |
| Amazon Nova API、Meta Llama API、Nebius Token Factory、Novita AI、OVHcloud AI Endpoints 和 DigitalOcean Gradient AI | 支持 Chat Completions 和桥接的 Responses。Messages 调用方可以使用 AISIX 中的 Chat 转换。Embedding 要求服务提供方配置的 API 根地址提供兼容模型和路由。图片生成、视频生成和 Rerank 不受这些服务提供方值支持。 |
| Snowflake Cortex | 支持 Chat Completions 以及 Responses 和 Messages 桥接。Snowflake 仅限 Claude 的原生 Messages 路由仍可通过透传访问。AISIX 规范化 Embedding 路由与 Snowflake 原生 POST /api/v2/cortex/inference:embed 协议不兼容;请使用独立服务提供方密钥透传调用,或使用其他 Embedding 服务提供方。snowflake-cortex 服务提供方值不支持图片生成、视频生成和 Rerank。 |
| MiniMax 和 ModelScope | 支持 Chat Completions 和桥接的 Responses 请求。向量嵌入取决于已配置的上游模型和路由,因为 AISIX 会转发 OpenAI 形态的向量嵌入请求体,而不执行服务提供方专属转换。这些服务提供方值不支持图片生成、视频生成和 Rerank。 |
| xAI | 支持 Chat Completions、桥接的 Responses、转换后的 Messages 和兼容 OpenAI 的 Realtime WebSocket 路由。规范化路由无法使用 Embedding 和 Rerank。xAI 原生 Responses、Messages、图片、视频、语音转文本、文本转语音和模型列表 API 仍可通过服务提供方透传访问。 |
| 其他公开 OpenAI 兼容服务提供方 | 必须提供 OpenAI 兼容 Chat Completions 路由。向量嵌入取决于上游路由。Rerank 还要求使用 Rerank 路由接受的服务提供方值。 |
| Ollama | 通过 BYO openai 适配器支持 Chat Completions。AISIX 通过 Chat Completions 桥接兼容的 Responses 和 Messages 请求。Embedding 取决于已安装模型。图片生成、视频生成和 Rerank 不接受 byo 和 ollama 服务提供方值。 |
| vLLM | 托管模型具备所需任务时支持 Completions、Chat Completions、Embedding、音频转录和音频翻译。AISIX 通过 Chat Completions 桥接规范化 Responses 和 Messages,而非使用 vLLM 原生路由。原生 Responses、Messages、Token 计数和 Rerank 可通过透传使用。图片生成、视频生成、文本转语音和规范化 Rerank 不受支持。 |
| 私有 OpenAI 兼容端点 | 必须实现应用调用的每个上游路由。向量嵌入取决于私有端点,服务提供方专属路由还可能施加额外的服务提供方值限制。 |
端点规则
以上表格是主要路由参考。以下规则用于说明服务提供方身份、适配器协议族和端点行为不一致的情况。
- Chat Completions 是覆盖最广的标准化路由。对于非 OpenAI 上游,面向服务提供方的请求在网关后仍可以使用 Anthropic、Bedrock、Vertex AI、Azure OpenAI 或其他适配器专属格式。
- Responses 使用服务提供方专属处理。由 OpenAI 提供支持的模型会转发到上游 Responses API。其他服务提供方通过 Chat 适配器路径上的 Responses 桥接,并返回 Responses 形态的结果;没有 Chat 等价项的 OpenAI 特定字段会在此路径上被忽略。
- 图片生成是 OpenAI 服务提供方路由。OpenAI 兼容厂商可以为 Chat Completions 使用 OpenAI 适配器,但当其服务提供方值不是
openai时,仍会被此路由拒绝。 - 向量嵌入通过解析后的适配器进行分发。OpenAI 适配器会转发 OpenAI 请求形态,而 Bedrock 和 Vertex 适配器会为受支持的向量嵌入模型系列转换请求。音频仍使用 OpenAI 风格转发,不会在不同服务提供方协议族之间进行转换。
- Rerank 使用路由专属服务提供方允许列表。接受的服务提供方值为
openai、cohere和jina,但已配置上游必须提供/v1/rerank。openai值支持兼容的 Rerank 服务提供方,并不表示公开 OpenAI API 提供此端点。 - Anthropic Messages 支持原生 Anthropic 上游和转换后的非 Anthropic 上游。AISIX 可以将文本、图片、文档和工具调用历史转换为标准化请求,但所选服务提供方适配器决定哪些转换后的内容能到达上游。Anthropic
thinking和redacted_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 上游。