参数
有关所有插件均可使用的配置项,请参阅插件通用配置。
prompt
用于指示 LLM 如何重写客户端请求的提示词。
provider
有效值:
openai、deepseek、azure-openai、aimlapi、gemini、vertex-ai、anthropic、openrouter、openai-compatible模型服务提供方。
当设置为
openai时,插件将代理请求到https://api.openai.com/v1/chat/completions。当设置为
deepseek时,插件将代理请求到https://api.deepseek.com/chat/completions。当设置为
gemini(自 APISIX 3.15.0 和企业版 3.9.3 起可用)时,插件将代理请求到https://generativelanguage.googleapis.com/v1beta/openai/chat/completions。如果你代理请求到嵌入模型,则应在override中配置嵌入模型端点。当设置为
vertex-ai(自 API7 企业版 3.9.3 和 APISIX 3.15.0 起引入)时:在 API7 企业版中,插件会把请求代理到 Google Cloud Vertex AI。聊天补全使用
https://{region}-aiplatform.googleapis.com/v1beta1/projects/{project_id}/locations/{region}/endpoints/openapi/chat/completions;向量嵌入使用https://{region}-aiplatform.googleapis.com/v1/projects/{project_id}/locations/{region}/publishers/google/models/{model}:predict。请在provider_conf中配置project_id和region,或通过override.endpoint配置自定义端点。请使用auth.gcp或auth.header进行身份认证。在 APISIX 中,请通过
override.endpoint配置完整的 Vertex AI 端点,并在auth.header中提供所需的 Google Cloud 访问令牌。插件 Schema 不包含auth.gcp或provider_conf。当设置为
anthropic(自 APISIX 3.15.0 和企业版 3.9.2 起可用)时,插件将代理请求到https://api.anthropic.com/v1/chat/completions。当设置为
openrouter(自 APISIX 3.15.0 和企业版 3.9.2 起可用)时,插件将代理请求到https://openrouter.ai/api/v1/chat/completions。当设置为
aimlapi(自 APISIX 3.14.0 和企业版 3.8.17 起可用)时,插件使用 OpenAI 兼容驱动并将请求代理到https://api.aimlapi.com/v1/chat/completions。当设置为
openai-compatible时,插件代理请求到override中配置的自定义端点。当设置为
azure-openai时,插件也会代理请求到override中配置的自定义端点,并且另外从用户请求中移除model参数。auth
认证配置。
header
身份认证请求头。
header和query中至少应配置一个。query
认证查询参数。
header和query中至少应配置一个。gcp
Vertex AI 的 GCP 服务账号认证。在 API7 企业版 3.9.3 及更高版本中可用,APISIX 中不可用。
service_account_json
用于认证的 GCP 服务账号 JSON 内容。可以使用此参数配置,也可以通过设置
GCP_SERVICE_ACCOUNT环境变量来配置。max_ttl
GCP 访问令牌缓存的最大 TTL(以秒为单位)。
expire_early_secs
访问令牌在其实际过期时间之前过期的秒数。这可以防止令牌在活动请求期间过期的边缘情况。
options
模型配置。
除了
model之外,还可以配置temperature和top_p等非流式生成参数,这些参数会转发到上游 LLM 服务。插件必须先收到完整的 JSON 响应,才能替换原始请求体。model
LLM 模型的名称,例如
gpt-4或gpt-3.5。有关更多可用模型,请参阅你的模型服务提供方的 API 文档。
provider_conf
提供商特定的配置。当
provider为vertex-ai时,应配置provider_conf或override之一。在 API7 企业版 3.9.3 及更高版本中可用,APISIX 中不可用。
project_id
Vertex AI 的 Google Cloud 项目 ID。
region
Vertex AI 的 Google Cloud 区域。
override
覆盖设置。
endpoint
模型服务提供方端点。当
provider为openai-compatible时必填。当provider为vertex-ai时,APISIX 要求配置此字段;API7 企业版改用provider_conf,不要求配置override.endpoint。
timeout
有效值:
介于 1 和 60000 之间(含边界值)
请求 LLM 服务时的请求超时时间(毫秒)。
keepalive
如果为 true,则在请求 LLM 服务时保持连接处于活动状态。
keepalive_pool
连接 LLM 服务时的 Keepalive 连接池大小。
ssl_verify
如果为 true,则验证 LLM 服务的证书。
max_req_body_size
有效值:
大于或等于 1
重写 LLM 被调用前缓冲到内存中的请求体最大字节数。超过该大小的请求体会以 HTTP 400 被拒绝。自 API7 企业版 3.9.17 和 3.10.4 以及 APISIX 3.18.0 起引入。