Gemini Balance: Gemini model API совместим с форматом OpenAI, снимает ограничения по регионам и поддерживает опрос ключей через несколько API.
Общее введение
Близнецы Balance - это прокси-сервис OpenAI API, разработанный на основе фреймворка FastAPI и призванный обеспечить эффективное управление ключами нескольких API и оптимизацию их работы. Он поддерживает вызовы по модели Gemini, а его основные возможности включают опрос ключей нескольких API, экспертизу аутентификации, потоковые ответы, поддержку кросс-домена CORS и интерфейс проверки работоспособности. Благодаря использованию таких технологических стеков, как Python 3.9+ и Docker, Gemini Balance предоставляет разработчикам гибкое и эффективное решение API-прокси для сценариев приложений, требующих высокого параллелизма и высокой надежности.

Список функций
- Поддержка опроса ключей в нескольких интерфейсах
- Аутентификация с помощью токена носителя
- Поддержка потокового ответа
- Поддержка кросс-домена CORS
- Интерфейс проверки здоровья
- Поддержка вызовов модели Gemini
- Поддержка функции поиска
- Поддержка выполнения кода
Использование помощи
Экологические требования
- Python 3.9+
- Docker (опционально)
Установка зависимостей
pip install -r requirements.txt
файл конфигурации
создать.env
файл и настройте следующие параметры:
API_KEYS=["your-api-key-1","your-api-key-2"]
ALLOWED_TOKENS=["your-access-token-1","your-access-token-2"]
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
TOOLS_CODE_EXECUTION_ENABLED=true
MODEL_SEARCH=["gemini-2.0-flash-exp"]
Развертывание Docker
docker build -t gemini-balance .
docker run -p 8000:8000 -d gemini-balance
Интерфейс API
- Получение списка моделей
GET /v1/models
Authorization: Bearer your-token
- Чат завершен.
POST /v1/chat/completions
Authorization: Bearer your-token
{
"messages": [...],
"model": "gemini-1.5-flash-002",
"temperature": 0.7,
"stream": false,
"tools": []
}
- Получить встраивание
POST /v1/embeddings
Authorization: Bearer your-token
{
"input": "Your text here",
"model": "text-embedding-004"
}
- медицинский осмотр
GET /health
структура кода
app/
api/
routes.py
: Маршрутизация APIdependencies.py
: Инъекция зависимостейcore/
config.py
Управление конфигурациейsecurity.py
: Сертификация по безопасностиservices/
chat_service.py
: Чат-сервисkey_manager.py
: Управление ключамиmodel_service.py
: Услуги по моделированиюschemas/
request_model.py
: Модель запросаmain.py
: Вход на основную программу
Dockerfile
: Конфигурация Dockerrequirements.txt
: Зависимости проекта
Особенности безопасности
- Механизм опроса ключей API
- Аутентификация с помощью токена носителя
- Регистрация запросов
- Отказ механизма повторных попыток
- Проверка действительности ключей
предостережение
- Убедитесь, что ваши API-ключи и маркеры доступа в безопасности!
- Рекомендуется настраивать конфиденциальную информацию в производственных средах с помощью переменных окружения
- По умолчанию используется порт службы 8000.
- По умолчанию количество повторных попыток отказа ключа API равно 10.
- Список поддерживаемых моделей см. в документации Gemini API
Дополнение: huggingface развертывает агент gemini, вызовы для опроса учетных записей, разблокировка ограничений региона
1. Копирование пространства пространства
Gemini Balance - пространство для обнимающихся лиц от snailyp

2. Измените видимость наPublic
(обязательно обратите внимание на изменение на public, или not accessible), конфигурацияALLOWED_TOKENS
,API_KEYS
,BASE_URL
по умолчанию (настройка)

ALLOWED_TOKENS
формат["自定义apikey"]
Обратите внимание, что скобки, запятые и перевернутые запятые строго соблюдаются.API_KEYS
Формат представлен в виде одного ключа:["gemini_key1"]
Форма нескольких ключей["gemini_key1","gemini_key2"]
Обратите внимание, что скобки, запятые и перевернутые запятые строго соблюдаются.BASE_URL
оставьте настройки по умолчанию
3. дождитесь успешного развертывания, после успешного развертывания появятся следующие журналы и статус работы

4. На этом этапе хостом по умолчанию для службы huggingface являетсяhuggingface用户名-gemini-balance.hf.space
Как у меня.snailyp-gemini-balance.hf.space
принимать к сведению: Служба Huggingface переходит в спящий режим, если она не используется в течение 48 часов, рекомендуется поддерживать ее работоспособность с помощью задач с таймером, таких как Qinglong panel или uptime kuma. (Вызывается непосредственно запросом get)https://用户名-gemini-balance.hf.space
(можно сделать)
5. Поддерживаемые конечные точки/hf/v1/models
ответить пением/hf/v1/chat/completions
6.huggingface доменное имя может быть не в состоянии напрямую получить доступ к внутренним, hf.space, кажется, может получить доступ, если вы не можете получить доступ, вы можете обратиться к следующему процессу.
Вы можете использовать cf workers в качестве прокси и привязать пользовательское доменное имя, тогда вы сможете получить доступ к нему в Китае, код прокси cf worker выглядит следующим образом.Измените url.host на свой собственный.::
export default { async fetch(request, env) { const url = new URL(request.url); url.host = 'xxx-gemini-balance.hf.space'; url.pathname = "/hf" + url.pathname; return fetch(new Request(url, request)) } }
принимать к сведению: Проксированная конечная точка удаляет /hf, так что конечная точка теперь становится/v1/models
ответить пением/v1/chat/completions
Настройка клиента требует некоторого внимания.
7. некоторые ограничения, в настоящее время нет возможности осуществлять обработку изображений и структурирование выводимых слов

© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие посты
Нет комментариев...