# api-rotation **Repository Path**: Buywatermelon/api-rotation ## Basic Information - **Project Name**: api-rotation - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-02 - **Last Updated**: 2025-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gemini和OpenAI API 轮询代理服务 该项目提供了一个API代理服务,支持多个Gemini API密钥轮询调用,也支持OpenAI API代理。可以解决跨域、网络访问限制等问题,以及通过轮询多个API密钥提高请求限制。 ## 功能特点 - **统一API入口** - 根据模型名称自动路由到相应服务 - **多API密钥轮询** - 支持多个API密钥,防止单个密钥达到速率限制 - **支持多种模型** - 同时支持OpenAI和Gemini模型 ## 配置项目 在 `application.yml` 文件中配置API密钥: ```yaml # OpenAI配置 openai: api: url: https://api.openai.com/v1 keys: - YOUR_OPENAI_API_KEY_1 - YOUR_OPENAI_API_KEY_2 # Gemini配置 gemini: api: url: https://generativelanguage.googleapis.com/v1beta openai_url: https://generativelanguage.googleapis.com/v1beta/openai keys: - YOUR_GEMINI_API_KEY_1 - YOUR_GEMINI_API_KEY_2 - YOUR_GEMINI_API_KEY_3 ``` ## 运行项目 ```bash ./mvnw spring-boot:run ``` ## API使用 详细API文档请参考 [API文档](docs/API.md) ### 统一API入口 ``` POST /v1/chat/completions ``` 通过model参数选择使用哪种模型: 示例请求 (OpenAI): ```json { "model": "gpt-3.5-turbo", "messages": [ {"role": "user", "content": "Hello, how are you?"} ] } ``` 示例请求 (Gemini): ```json { "model": "gemini-pro", "messages": [ {"role": "user", "content": "Hello, how are you?"} ], "stream": true } ``` ## Windows下运行 目前不支持直接打包为Windows可执行文件,但可以通过脚本运行jar包。 ### 运行步骤 1. 确保已安装JDK 21,并正确配置环境变量 2. 构建项目: ```bash ./mvnw clean package ``` 3. 使用脚本运行jar包: ```bash # 使用批处理文件运行 scripts/run-windows.bat ``` 4. 也可以直接运行jar文件: ```bash java -jar target/api-rotation-0.0.1-SNAPSHOT.jar ```