接入 Google Gemini
Google Gemini 通过 AI Studio API 提供 Google Gemini 模型。本指南介绍如何使用 ai-proxy 插件,通过 API7 网关将流量路由到 Gemini。
前置条件
-
安装 Docker。
-
安装 cURL,用于发送请求并验证服务。
-
拥有一个正在运行的 API7 网关实例。
-
从控制台获取令牌,并将其保存到环境变量:
export API_KEY=your-dashboard-token # 请替换为你的控制台令牌 -
将
{gateway_group_id}替换为网关组 ID。如果正在按照快速入门操作,请使用default。 -
如果使用 Admin API 示例,请在 API7 网关中创建或复用一个服务。如果尚无服务,请按照创建或复用服务操作,然后将其 ID 保存到环境变 量:
export SERVICE_ID=your-service-id # 请替换为你的服务 ID
获取 Gemini API Key
从 Google AI Studio 生成 API Key,并将其保存到环境变量:
export GEMINI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxx # 请替换为你的 Gemini API Key
为 Gemini 配置 AI 代理
创建一个启用 ai-proxy 插件的路由:
- Admin API
- ADC
curl -k "https://localhost:7443/apisix/admin/routes?gateway_group_id={gateway_group_id}" -X PUT \
-H "X-API-KEY: ${API_KEY}" \
-d '{
"id": "gemini-route",
"service_id": "'"$SERVICE_ID"'",
"paths": ["/gemini"],
"plugins": {
"ai-proxy": {
"provider": "gemini",
"auth": {
"header": {
"Authorization": "Bearer '"$GEMINI_API_KEY"'"
}
},
"options": {
"model": "gemini-2.0-flash"
}
}
}
}'
❶ 将服务提供方设置为 gemini,以使用 Google AI Studio API。
❷ 在 Authorization 请求头中附加 Gemini API Key。
❸ 将模型设置为 gemini-2.0-flash。可用模型请参阅 Gemini 模型页面。
services:
- name: Gemini Service
routes:
- uris:
- /gemini
name: gemini-route
plugins:
ai-proxy:
provider: gemini
auth:
header:
Authorization: "Bearer ${GEMINI_API_KEY}"
options:
model: gemini-2.0-flash
❶ 将服务提供方设置为 gemini,以使用 Google AI Studio API。
❷ 在 Authorization 请求头中附加 Gemini API Key。
❸ 将模型设置为 gemini-2.0-flash。可用模型请参阅 Gemini 模型页面。
将配置同步到 API7 网关:
adc sync -f adc.yaml
对于 Google Cloud 上的企业工作负载,建议改用 Vertex AI。Vertex AI 支持服务账户身份认证、区域端点和企业级 SLA。
验证配置
发送聊天补全请求:
curl "http://127.0.0.1:9080/gemini" -X POST \
-H "Content-Type: application/json" \
-d '{
"messages": [
{ "role": "user", "content": "What is the speed of light?" }
]
}'
你应收到类似以下内容的响应:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "gemini-2.0-flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The speed of light in a vacuum is approximately 299,792,458 meters per second (about 186,282 miles per second)."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 8,
"completion_tokens": 28,
"total_tokens": 36
}
}
要启用流式响应,请在请求体中设置 "stream": true。使用 proxy-buffering 插件禁用 NGINX proxy_buffering,避免服务器发送事件(SSE)被缓冲。
后续步骤
你已经了解如何通过 API7 网关将流量路由到 Google Gemini。有关可用模型和功能的更多信息,请参阅 Gemini API 文档。
- Vertex AI — 对需要服务账户身份认证的企业工作负载使用 Vertex AI。
- 多模型路由和故障转移 — 将 Gemini 与其他服务提供方组合使用。