跳到主要内容

适配器协议族

适配器是模型别名解析到服务提供方密钥后,AISIX 用来访问上游的协议族。它决定上游认证方式、请求编码方式,以及服务提供方相关的请求处理逻辑。

路由级服务提供方支持情况请参见服务提供方兼容性

选择适配器

适配器的选择方式取决于网关的管理方式:

  • 对于 AISIX Cloud 目录中的服务提供方,请选择服务提供方。控制面会推导适配器,AISIX Cloud Admin API 会拒绝显式的 adapter 字段。
  • 对于 AISIX Cloud 中的自定义端点,请将 provider 设置为 byo,并显式选择适配器。
  • 对于开源 AISIX 网关,请在 resources.yaml 中同时设置 provideradapter。服务提供方值是开放字符串,可以使用目录 ID,也可以为私有端点使用描述性名称。

在所有情况下,服务提供方值用于标识上游厂商或端点,适配器用于标识 AISIX 与其通信所使用的协议族。适配器值是闭集,因为 AISIX 只能编码已经实现的协议。

例如,以下 AISIX Cloud 服务提供方密钥通过 OpenAI 适配器连接私有 OpenAI 兼容端点:

{
"provider": "byo",
"adapter": "openai",
"api_base": "https://llm.private.example/v1"
}

随后,AISIX 会使用 OpenAI 兼容协议向配置的 api_base 发送上游请求。

适配器取值

上游 API 格式adapter示例
OpenAI 兼容 APIopenaiOpenAI、DeepSeek、Groq、Mistral、Together.ai、Fireworks、Perplexity、vLLM、SGLang、Ollama、私有 OpenAI 兼容端点
Anthropic MessagesanthropicAnthropic 原生 Messages API
AWS Bedrock RuntimebedrockBedrock 上的 Anthropic Claude、Bedrock Converse 发布方
Google Vertex AI 发布方路由vertexGemini 以及受支持的 Vertex AI 发布方路由
Azure OpenAI Serviceazure-openai使用 API Key 或 Entra ID 认证的 Azure OpenAI 部署

适配器行为

adapter行为
openai使用 OpenAI 兼容请求和响应格式。该适配器覆盖 OpenAI、公开的 OpenAI 兼容厂商,以及私有 OpenAI 兼容端点。
anthropic使用 Anthropic Messages API 请求。上游认证使用 x-api-keyanthropic-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。

请求处理

直接模型会引用服务提供方密钥。AISIX Cloud 在 provider_key_id 中保存该引用;对于开源 AISIX 网关,resources.yaml 使用 provider_key 引用服务提供方密钥的 display_name。服务提供方密钥提供服务提供方值和适配器,AISIX 会结合这些字段与模型的上游模型 ID 构造服务提供方请求。

AISIX 分两步选择上游请求处理方式:

  1. 检查服务提供方值是否有服务提供方专属请求处理逻辑。
  2. 如果没有,则使用适配器协议族。

如果两条路径都不可用,请求会在到达上游服务提供方之前失败。

模型的 display_name 是面向调用方的模型别名;model_name 是上游模型 ID。对于标准化聊天响应,响应中的 model 字段会回显面向调用方的别名。

适配器描述的是上游协议族,并不保证每个代理端点都支持每个服务提供方。

目录与自定义服务提供方

在 AISIX Cloud 中,用户通过控制台或 AISIX Cloud Admin API 选择目录服务提供方。控制面会将其映射到适配器协议族,在目录定义了默认 Base URL 时填充该值,并将服务提供方密钥配置下发到 AISIX 网关。

对于开源 AISIX 网关,请在声明式资源文件的每个服务提供方密钥中直接设置 provideradapterapi_base 和上游凭证(api_key 或其别名 secret)。

运行时行为取决于模型别名、服务提供方密钥、服务提供方值、适配器和连接设置。