AI Request Rewrite Configuration
Parameters
See plugin common configurations for configuration options available to all plugins.
-
prompt—string· requiredThe prompt to instruct the LLM on how to rewrite the client request.
-
provider—string· requiredValid values:
openai,deepseek,azure-openai,aimlapi,gemini,vertex-ai,anthropic,openrouter,openai-compatibleLLM service provider.
When set to
openai, the plugin will proxy requests tohttps://api.openai.com/v1/chat/completions.When set to
deepseek, the plugin will proxy requests tohttps://api.deepseek.com/chat/completions.When set to
gemini(available from APISIX 3.15.0 and Enterprise 3.9.3), the plugin will proxy requests tohttps://generativelanguage.googleapis.com/v1beta/openai/chat/completions. If you are proxying requests to an embedding model, you should configure the embedding model endpoint in theoverride.When set to
vertex-ai(introduced in API7 Enterprise 3.9.3 and APISIX 3.15.0):In API7 Enterprise, the plugin proxies requests to Google Cloud Vertex AI. For chat completions, it uses
https://{region}-aiplatform.googleapis.com/v1beta1/projects/{project_id}/locations/{region}/endpoints/openapi/chat/completions. For embeddings, it useshttps://{region}-aiplatform.googleapis.com/v1/projects/{project_id}/locations/{region}/publishers/google/models/{model}:predict. Configureprovider_confwithproject_idandregion, or setoverride.endpointfor a custom endpoint. Authenticate withauth.gcporauth.header.In APISIX, configure
override.endpointwith the complete Vertex AI endpoint and provide the required Google Cloud access token inauth.header. The plugin schema does not includeauth.gcporprovider_conf.When set to
anthropic(available from APISIX 3.15.0 and Enterprise 3.9.2), the plugin will proxy requests tohttps://api.anthropic.com/v1/chat/completions.When set to
openrouter(available from APISIX 3.15.0 and Enterprise 3.9.2), the plugin will proxy requests tohttps://openrouter.ai/api/v1/chat/completions.When set to
aimlapi(available from APISIX 3.14.0 and Enterprise 3.8.17), the plugin uses the OpenAI-compatible driver and proxies the request tohttps://api.aimlapi.com/v1/chat/completions.When set to
openai-compatible, the plugin proxies requests to the custom endpoint configured inoverride.When set to
azure-openai, the plugin also proxies requests to the custom endpoint configured inoverrideand additionally removes themodelparameter from user requests. -
auth—object· requiredAuthentication configurations.
-
header—object· optionalAuthentication headers. At least one of the
headerandqueryshould be configured. -
query—object· optionalAuthentication query parameters. At least one of the
headerandqueryshould be configured. -
gcp—object· optionalGCP service account authentication for Vertex AI. Available in API7 Enterprise from 3.9.3 and not in APISIX.
-
service_account_json—string· optionalGCP service account JSON content used for authentication. This can be configured using this parameter or by setting the
GCP_SERVICE_ACCOUNTenvironment variable. -
max_ttl—integer· optionalMaximum TTL for GCP access token caching, in seconds.
-
expire_early_secs—integer· optional · default:60Number of seconds to expire the access token before its actual expiration time. This prevents edge cases where tokens expire during active requests.
-
-
-
options—object· optionalModel configurations.
In addition to
model, you can configure non-streaming generation parameters, such astemperatureandtop_p, which are forwarded to the upstream LLM service. The plugin must receive a complete JSON response before it can replace the original request body.-
model—string· optionalName of the LLM model, such as
gpt-4orgpt-3.5. See your LLM provider's API documentation for more available models.
-
-
provider_conf—object· optionalProvider-specific configuration. When
providerisvertex-ai, one ofprovider_conforoverrideshould be configured.Available in API7 Enterprise from 3.9.3 and not in APISIX.
-
project_id—string· requiredGoogle Cloud Project ID for Vertex AI.
-
region—string· requiredGoogle Cloud Region for Vertex AI.
-
-
override—object· optionalOverride setting.
-
endpoint—string· optionalLLM provider endpoint. Required when
providerisopenai-compatible. Whenproviderisvertex-ai, APISIX requires this field. API7 Enterprise usesprovider_confinstead and does not requireoverride.endpoint.
-
-
timeout—integer· optional · default:30000Valid values: between 1 and 60000 inclusive
Request timeout in milliseconds when requesting the LLM service.
-
keepalive—boolean· optional · default:trueIf true, keep the connection alive when requesting the LLM service.
-
keepalive_pool—integer· optional · default:30Keepalive pool size for when connecting with the LLM service.
-
ssl_verify—boolean· optional · default:trueIf true, verify the LLM service's certificate.
-
max_req_body_size—integer· optional · default:67108864Valid values: greater than or equal to 1
Maximum request body size in bytes buffered into memory. Larger request bodies are rejected with HTTP 400 before the rewrite LLM is called. Introduced in API7 Enterprise 3.9.17 and 3.10.4, and APISIX 3.18.0.