跳到主要内容

Gemini(Google AI Studio)

本指南将通过 Google AI Studio 的 OpenAI 兼容端点,将 AISIX AI 网关连接到 Google Gemini。调用方可以通过网关的 OpenAI 兼容 API 访问 Gemini 模型,凭证、模型允许列表、限流和用量核算由 AISIX 管理。

Google AI Studio 使用 openai 适配器并搭配 Google 的 api_base。若要改为通过 Google Cloud 路由 Gemini,请使用 Google Vertex AI

前提条件

以下示例使用自托管 AISIX 网关。配置上游前,请准备以下内容:

配置 Gemini 上游

为 Gemini 支持的 Chat Completions 路由创建服务提供方密钥、模型别名和调用方 API Key。

创建服务提供方密钥

创建用于存储 Google AI Studio 凭证和 API 根地址的服务提供方密钥:

# Replace with your values
export AISIX_ADMIN_KEY="YOUR_ADMIN_KEY"
export GEMINI_API_KEY="YOUR_PROVIDER_API_KEY"

curl -sS -X POST "http://127.0.0.1:3001/admin/v1/provider_keys" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"display_name": "gemini-prod",
"provider": "gemini",
"adapter": "openai",
"secret": "'"${GEMINI_API_KEY}"'",
"api_base": "https://generativelanguage.googleapis.com/v1beta/openai"
}'

providergemini

adapteropenai,因为 Google AI Studio 接受 OpenAI chat completions 请求。

secret 存储 Google AI Studio API Key,遵循服务提供方凭证中的凭证处理行为。

api_base 必填。请使用不带尾部斜杠的根地址;AISIX 会在其后追加 /chat/completions

复制返回的服务提供方密钥 ID。

创建模型

创建调用方将在请求中发送的模型别名:

# Replace with your values
export PROVIDER_KEY_ID="YOUR_PROVIDER_KEY_ID"

curl -sS -X POST "http://127.0.0.1:3001/admin/v1/models" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"display_name": "gemini-flash-prod",
"provider": "gemini",
"model_name": "gemini-2.5-flash",
"provider_key_id": "'"${PROVIDER_KEY_ID}"'"
}'

display_name 是调用方在 model 中发送的别名。

model_name 是 Gemini 模型 ID,例如 gemini-2.5-flashgemini-2.5-pro

provider_key_id 将别名关联到 Gemini 服务提供方密钥。

创建调用方 API Key

选择应用发送给 AISIX 的调用方 API Key,然后为 Admin 资源计算哈希:

# Replace with your values
export AISIX_API_KEY="YOUR_CALLER_API_KEY"

CALLER_KEY_HASH=$(printf '%s' "${AISIX_API_KEY}" | shasum -a 256 | awk '{print $1}')

创建允许访问该模型别名的调用方 API Key 资源:

curl -sS -X POST "http://127.0.0.1:3001/admin/v1/apikeys" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"key_hash": "'"${CALLER_KEY_HASH}"'",
"allowed_models": ["gemini-flash-prod"]
}'

allowed_models 必须与你创建的模型别名匹配。

验证服务提供方连接

通过 AISIX 代理发送 chat completions 请求:

curl -sS -X POST "http://127.0.0.1:3000/v1/chat/completions" \
-H "Authorization: Bearer ${AISIX_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-flash-prod",
"messages": [
{
"role": "user",
"content": "Say hello from Gemini."
}
]
}'

网关会返回回显面向调用方别名 gemini-flash-prod 的 OpenAI 兼容响应。如果 AISIX 返回上游认证错误,请检查服务提供方密钥的 secret;如果返回上游路由错误,请检查 api_basemodel_name 中的 Gemini 模型 ID。

下一步

你现在已通过 Google AI Studio 将 AISIX 连接到 Gemini,并验证了模型别名。接下来可继续阅读: