diff --git a/README.md b/README.md index 7d28720..85e2fbf 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## 📝 项目简介 -这是一个基于 FastAPI 框架开发的 OpenAI API 代理服务,支持多 API Key 轮询和流式响应。 +这是一个基于 FastAPI 框架开发的 OpenAI API 代理服务,支持 Gemini 模型调用。主要提供多 API Key 轮询、认证鉴权、流式响应等功能。 ## ✨ 主要特性 @@ -11,13 +11,18 @@ - 📡 支持流式响应 - 🌐 CORS 跨域支持 - 📊 健康检查接口 +- 🤖 支持 Gemini 模型 +- 🔍 支持搜索功能 +- 🛠️ 支持代码执行 ## 🛠️ 技术栈 - FastAPI -- OpenAI +- Python 3.9+ - Pydantic - Docker +- httpx +- uvicorn ## 🚀 快速开始 @@ -34,19 +39,21 @@ pip install -r requirements.txt ### ⚙️ 配置文件 -创建 `.env` 文件并配置以下参数: +创建 `.env` 文件并配置以下参数: ```env API_KEYS=["your-api-key-1","your-api-key-2"] ALLOWED_TOKENS=["your-access-token-1","your-access-token-2"] -BASE_URL="https://api.openai.com/v1" +BASE_URL="https://generativelanguage.googleapis.com/v1beta" +TOOLS_CODE_EXECUTION_ENABLED=true +MODEL_SEARCH=["gemini-2.0-flash-exp"] ``` ### 🐳 Docker 部署 ```bash -docker build -t openai-comatible-balance . -docker run -p 8000:8000 -d openai-comatible-balance +docker build -t gemini-balance . +docker run -p 8000:8000 -d gemini-balance ``` ## 🔌 API 接口 @@ -66,10 +73,22 @@ Authorization: Bearer your-token { "messages": [...], - "model": "llama-3.2-90b-text-preview", + "model": "gemini-1.5-flash-002", "temperature": 0.7, - "max_tokens": 1000, - "stream": false + "stream": false, + "tools": [] +} +``` + +### 获取 Embedding + +```http +POST /v1/embeddings +Authorization: Bearer your-token + +{ + "input": "Your text here", + "model": "text-embedding-004" } ``` @@ -77,27 +96,45 @@ Authorization: Bearer your-token ```http GET /health -Authorization: Bearer your-token ``` ## 📚 代码结构 -- `app/main.py`: 主应用程序入口 -- `app/config.py`: 配置管理 -- `Dockerfile`: 容器化配置 -- `requirements.txt`: 项目依赖 +``` +. +├── app/ +│ ├── api/ +│ │ ├── routes.py # API路由 +│ │ └── dependencies.py # 依赖注入 +│ ├── core/ +│ │ ├── config.py # 配置管理 +│ │ └── security.py # 安全认证 +│ ├── services/ +│ │ ├── chat_service.py # 聊天服务 +│ │ ├── key_manager.py # Key管理 +│ │ └── model_service.py # 模型服务 +│ ├── schemas/ +│ │ └── request_model.py # 请求模型 +│ └── main.py # 主程序入口 +├── Dockerfile # Docker配置 +└── requirements.txt # 项目依赖 +``` ## 🔒 安全特性 - API Key 轮询机制 - Bearer Token 认证 - 请求日志记录 +- 失败重试机制 +- Key 有效性检查 ## 📝 注意事项 - 请确保妥善保管 API Keys 和访问令牌 - 建议在生产环境中使用环境变量配置敏感信息 - 默认服务端口为 8000 +- API Key 失败重试次数默认为 10 次 +- 支持的模型列表请参考 Gemini API 文档 ## 🤝 贡献