项目介绍:Gemini-OpenAI-Proxy
Gemini-OpenAI-Proxy 是一个专为协议转换而设计的代理,它将 OpenAI 的 API 协议转换为 Google Gemini 协议。这样一来,专为 OpenAI API 构建的应用程序便可以无缝地与 Gemini 协议通信,支持聊天完成功能(Chat Completion)、嵌入(Embeddings)和模型(Model)相关的端点。
项目构建
构建 Gemini-OpenAI-Proxy 项目的步骤如下:
go build -o gemini main.go
部署指南
推荐使用 Docker 来部署 Gemini-OpenAI-Proxy,以简化设置流程。以下是使用 Docker 部署的步骤:
您可以在命令行运行以下命令:
docker run --restart=unless-stopped -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latest
或者使用下面的 docker-compose 配置:
version: '3'
services:
gemini:
container_name: gemini
environment: # 设置环境变量,以下为默认值
- GPT_4_VISION_PREVIEW=gemini-1.5-flash-latest
- DISABLE_MODEL_MAPPING=0
ports:
- "8080:8080"
image: zhu327/gemini-openai-proxy:latest
restart: unless-stopped
根据需要调整端口映射(例如 -p 8080:8080
),并确保 Docker 镜像版本(如 zhu327/gemini-openai-proxy:latest
)符合您的需求。
使用方法
Gemini-OpenAI-Proxy 提供了一种简单的方式,将 OpenAI 功能集成到支持自定义 OpenAI API 端点的任何应用程序中。以下是使用此代理的方法:
-
设置 OpenAI 端点: 确保您的应用程序配置为使用自定义 OpenAI API 端点。Gemini-OpenAI-Proxy 适用于任何支持 OpenAI 的端点。
-
获取 Google AI Studio API 密钥: 在使用代理前,您需要从 Google AI Studio 获得一个 API 密钥,并在与 Gemini-OpenAI-Proxy 交互时将其作为 OpenAI API 密钥使用。
-
将代理集成到您的应用程序中: 将应用程序的 API 请求目标修改为 Gemini-OpenAI-Proxy,使用获取的 Google AI Studio API 密钥模拟 OpenAI API 密钥。
示例:对于聊天完成功能的 API 请求(假设代理托管在 http://localhost:8080
):
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
使用 Gemini Pro Vision 的示例:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY" \
-d '{
"model": "gpt-4-vision-preview",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "What’s in this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]}],
"temperature": 0.7
}'
- 处理响应: 以与处理 OpenAI 响应相同的方式处理来自 Gemini-OpenAI-Proxy 的响应。
通过这种方式,应用程序便通过 Gemini-OpenAI-Proxy 桥接了 OpenAI 的功能和 Google Gemini Pro 协议的应用程序。
兼容性
请在项目官网或相关文档中查看详细的兼容性信息。
许可证
Gemini-OpenAI-Proxy 是根据 MIT 许可证授权的,更多详情请参阅项目中的 LICENSE 文件。