Gemini-Openai-Proxy-это прокси, предназначенный для преобразования протокола API OpenAI в протокол Google Gemini. Это позволяет приложениям, созданным для API OpenAI, беспроводится с протоколом Близнецов, включая поддержку завершения чата, встраивания и конечных точек моделей.
Чтобы построить Близнецу-Опенай-прокси, следуйте этим шагам:
go build -o gemini main.goМы рекомендуем развернуть Gemini-Openai-Proxy, используя Docker для простой настройки. Следуйте этим шагам, чтобы развернуть с 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 : # Set Environment Variables here. Defaults listed below
- 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 в любое приложение, которое поддерживает пользовательские конечные точки API OpenAI. Следуйте этим шагам, чтобы использовать возможности этого прокси:
Настройте Endpoint Openai: убедитесь, что ваше приложение настроено для использования пользовательской конечной точки API OpenAI. Близнецы-прокси-проксиновые работы с любой конечной конечной точкой OpenAI.
Получите Google AI Studio API -ключ: Перед использованием прокси вам необходимо получить ключ API от ai.google.dev. Оцените этот ключ API как ваш ключ API OpenAI при взаимодействии с Gemini-Openai-Proxy.
Интегрируйте прокси в ваше приложение: измените запросы API вашего приложения, чтобы нацелиться на Gemini-Openai-Proxy, предоставляя приобретенную ключ Google AI Studio API, как если бы это был ваш ключ API OpenAI.
Пример запроса 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
} ' Если вы хотите отобразить gpt-4-vision-preview с gemini-1.5-pro-latest , вы можете настроить переменную среды GPT_4_VISION_PREVIEW = gemini-1.5-pro-latest . Это связано с тем, что gemini-1.5-pro-latest теперь также поддерживает многомодальные данные. В противном случае, по умолчанию используется модель gemini-1.5-flash-latest
Если у вас уже есть доступ к API Gemini 1.5 Pro, вы можете использовать:
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-turbo-preview",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} 'Пример Enterdings API Запрос:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": "This is a test sentence."
} 'Вы также можете передать несколько строк ввода в качестве списка:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": ["This is a test sentence.", "This is another test sentence"]
} 'Картирование модели:
| Модель GPT | Модель Близнецов |
|---|---|
| GPT-3.5-Turbo | Близнецы-1,0-про-лат |
| GPT-4 | Близнецы-1,5-флаш-лат |
| GPT-4-Turbo-Preview | Близнецы-1,5-про-лат |
| GPT-4-Vision-Preview | Близнецы-1,0-пропля-лат |
| Текст-эмблдинг-ADA-002 | Текст-эмбединг-004 |
Если вы хотите отключить отображение модели, настройте переменную среды DISABLE_MODEL_MAPPING=1 . Это позволит вам напрямую ссылаться на модели Близнецов.
Вот пример запроса API с отключенным отображением модели:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gemini-1.0-pro-latest",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} 'Обработка ответов: обработайте ответы от Gemini-Openai-Proxy так же, как вы будете обрабатывать ответы от OpenAI.
Теперь ваше приложение оборудовано для использования функциональности Openai через протокол Gemini-Openai, преодолевая разрыв между OpenAI и приложениями, используя протокол Google Gemini Pro.
Gemini-Openai-Proxy лицензируется по лицензии MIT-для получения подробной информации см. Файл лицензии.