适配器协议族
适配器是模型别名解析到服务提供方密钥后,AISIX 用来访问上游的协议族。它决定上游认证方式、请求编码方式,以及服务提供方相关的请求处理逻辑。
本文提供适配器取值 、服务提供方密钥配置、请求处理和端点兼容性的参考说明。
路由级服务提供方支持情况请参见服务提供方兼容性。
使用方式
在服务提供方密钥上设置适配器。适配器应根据上游 API 格式选择;provider 值和 adapter 值相互独立配置。
provider 值用于标识上游服务提供方或端点。它是开放字符串,例如 openai、anthropic、deepseek、amazon-bedrock、google-vertex、azure,也可以是私有端点名称。
adapter 值用于标识 AISIX 能够编码的协议族,它是受支持取值的闭集,需要设置在服务提供方密钥上。
服务提供方密钥可以保留自定义 provider 值,同时选择共享的适配器协议族。例如,私有 OpenAI 兼容端点可以使用自己的 provider 值,并选择 OpenAI 适配器:
{
"provider": "private-chat",
"adapter": "openai",
"api_base": "https://llm.private.example/v1"
}
在这个示例中,AISIX 会把 private-chat 作为 provider 值,并使用 OpenAI 兼容适配器发送上游请求。
适配器取值
| 上游 API 格式 | adapter | 示例 |
|---|---|---|
| OpenAI 兼容 API | openai | OpenAI、DeepSeek、Groq、Mistral、Together.ai、Fireworks、Perplexity、vLLM、SGLang、Ollama、私有 OpenAI 兼容端点 |
| Anthropic Messages | anthropic | Anthropic 原生 Messages API |
| AWS Bedrock Runtime | bedrock | Bedrock 上的 Anthropic Claude、Bedrock Converse 发布方 |
| Google Vertex AI 发布方路由 | vertex | Gemini 以及受支持的 Vertex AI 发布方路由 |
| Azure OpenAI Service | azure-openai | 使用 API Key 或 Entra ID 认证的 Azure OpenAI 部署 |
适配器行为
adapter | 行为 |
|---|---|
openai | 使用 OpenAI 兼容请求和响应格式。该适配器覆盖 OpenAI、公开的 OpenAI 兼容厂商,以及私有 OpenAI 兼容端点。 |
anthropic | 使用 Anthropic Messages API 请求。上游认证使用 x-api-key 和 anthropic-version。 |
bedrock | 使用 AWS Bedrock Runtime。AISIX 会使用 AWS SigV4 对出站请求签名。Anthropic Claude 模型使用 Bedrock invoke 请求,其它受支持发布方使用 Bedrock Converse。 |
vertex | 使用 Google Vertex AI 发布方路由。AISIX 通过 GCP OAuth2 Bearer token 认证,并调用发布方对应的 Vertex 端点。 |
azure-openai | 使用 Azure OpenAI Service 部署路由。AISIX 会根据服务提供方密钥中的资源主机和模型的上游部署名称构造 Azure URL。 |
请求处理
直接模型会通过 provider_key_id 引用服务提供方密钥。服务提供方密钥提供 provider 值和适配器。AISIX 会结合这些字段与模型的上游模型 ID 构造服务提供方请求。
AISIX 分两步选择上游请求处理方式:
- 检查
provider值是否有服务提供方专属请求处理逻辑。 - 如果没有,则使用适配器协议族。
如果两条路径都不可用,请求会在到达上游服务提供方之前失败。
模型的 display_name 是面向调用方的模型别名;model_name 是上游模型 ID。对于标准化聊天响应,响应中的 model 字段会回显面向调用方的别名。
适配器描述的是上游协议族,并不保证每个代理端点都支持每个服务提供方。
云端目录与自托管服务提供方
在 AISIX Cloud 中,控制面会把目录中的服务提供方映射到适配器协议族,并将服务提供方密钥配置下发到托管网关。Cloud 用户在托管流程中选择服务提供方,适配器和 base URL 由控制面填充。
在自托管部署中,需要直接在每个服务提供方密钥上设置 provider、adapter、api_base 和 secret。
运行时行为取决于模型别名、服务提供方密钥、provider 值、适配器和连接设置。