使用说明
Gemini API服务器
A. REST API服务器 通过Vertex AI为谷歌的Gemini模型提供与OpenAI兼容的聊天完成。采用FastAPI构建,性能高,易于部署。
特性
- OpenAI兼容:代替OpenAI聊天完成API
- 快速API:具有自动文档的高性能异步API
- Gemini集成:通过Vertex AI发布的最新Gemini 2.5 Pro
- 速率限制:内置请求速率限制
- 流媒体:实时响应流媒体支持
- Docker就绪:生产就绪的集装箱化
- 自动文档:上的交互式API文档
/docs
建筑
此服务器提供了具有与OpenAI兼容的终结点的REST API:
- 框架:支持async/await的FastAPI
- 运输:带有JSON有效载荷的HTTP/REST
- 端点:
/v1/chat/completions,/v1/models,/v1/health - 兼容性:OpenAI Python客户端和其他OpenAI兼容工具
先决条件
- Python 3.10+
- Google Cloud帐户:
- Vertex AI API已启用
- 服务帐户
Vertex AI User角色
设置
1.克隆和安装
git clone https://github.com/howardjong/gemini-mcp.git
cd gemini-mcp
pip install -r requirements.txt
2.谷歌云设置
创建服务帐户密钥:
- 引导到 GCP IAM
- 使用创建服务帐户
Vertex AI User角色 - 生成JSON密钥并保存到
credentials/vertex-ai-key.json
3.环境配置
创建 .env 文件:
# Required
GCP_PROJECT_ID=your-project-id
GCP_REGION=us-central1
GCP_SERVICE_ACCOUNT_KEY=credentials/vertex-ai-key.json
VERTEX_MODEL_NAME=gemini-2.5-pro-preview-05-06
# Optional
DEBUG=false
PORT=8000
LOG_LEVEL=INFO
RATE_LIMIT_RPM=150
用法
地方发展
# Run FastAPI server for local development
python -m app.main
# Or using the module entry point
python -m app
Web部署
# For production deployment (Docker)
docker build -t gemini-mcp .
docker run -p 8000:8000 --env-file .env gemini-mcp
# Or run directly with uvicorn
uvicorn app.main:app --host 0.0.0.0 --port 8000
部署以渲染
- 连接您的GitHub存储库 渲染
- 设置环境变量 在渲染仪表板中:
GCP_PROJECT_ID=your-project-id GCP_REGION=us-central1 VERTEX_MODEL_NAME=gemini-2.5-pro-preview-05-06 - 上传服务帐户密钥 内容为
GCP_SERVICE_ACCOUNT_KEY_JSON环境变量 - 部署 -Render将自动构建并运行FastAPI服务器
部署的服务器将可以作为具有与OpenAI兼容的聊天完成端点的REST API进行访问。
API终点
聊天完成
POST /v1/chat/completions-OpenAI兼容的聊天完成POST /v1/models/{model_id}/chat-与特定模特聊天
模型信息
GET /v1/models-列出可用型号GET /v1/info-服务器和型号信息
健康检查
GET /v1/health-服务器运行状况
API使用
Python客户端示例
import requests
# Chat with Gemini
response = requests.post("https://your-app.onrender.com/v1/chat/completions",
json={
"model": "gemini-2.5-pro-preview-05-06",
"messages": [
{"role": "user", "content": "Hello, how are you?"}
],
"stream": false
}
)
print(response.json())
cURL示例
curl -X POST https://your-app.onrender.com/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-pro-preview-05-06",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
流媒体示例
# Stream responses in real-time
curl -X POST https://your-app.onrender.com/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-pro-preview-05-06",
"messages": [
{"role": "user", "content": "Tell me a story"}
],
"stream": true
}'
# Python streaming example
import requests
response = requests.post("https://your-app.onrender.com/v1/chat/completions",
json={
"model": "gemini-2.5-pro-preview-05-06",
"messages": [{"role": "user", "content": "Tell me a story"}],
"stream": True
},
stream=True
)
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
故障排除
常见问题
- 速率限制:如果您遇到限速错误,请检查您的
RATE_LIMIT_RPM环境变量,并根据需要进行调整。 - 未找到型号:确保
VERTEX_MODEL_NAME环境变量设置正确,模型存在于Vertex AI项目中。 - 身份验证错误:验证您的服务帐户密钥是否配置正确,以及
GCP_SERVICE_ACCOUNT_KEY设置环境变量。
调试
- 启用调试模式:设置
DEBUG=true在你的.env文件以启用调试日志记录。 - 检查服务器日志:检查服务器日志中的错误消息和堆栈跟踪。
OpenAI兼容性
该服务器提供与OpenAI兼容的端点,使其在通过Vertex AI使用Gemini模型时成为OpenAI API的替代品。
发展
测试
# Run tests
pytest
# Test API server locally
python -m app.main
Docker开发
# Build and run
docker build -t gemini-mcp .
docker run -p 8000:8000 --env-file .env gemini-mcp
贡献
- 分叉存储库
- 创建要素分支
- 按照MCP标准进行更改
- 添加新功能的测试
- 提交拉取请求
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。