Gemini Balance: Gemini model API совместим с форматом OpenAI, снимает ограничения по регионам и поддерживает опрос ключей через несколько API.

Общее введение

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

Gemini Balance:Gemini模型API兼容OpenAI格式,解锁区域限制并支持多API Key轮询

 

Список функций

  • Поддержка опроса ключей в нескольких интерфейсах
  • Аутентификация с помощью токена носителя
  • Поддержка потокового ответа
  • Поддержка кросс-домена 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: Маршрутизация API
    • dependencies.py: Инъекция зависимостей
    • core/
    • config.pyУправление конфигурацией
    • security.py: Сертификация по безопасности
    • services/
    • chat_service.py: Чат-сервис
    • key_manager.py: Управление ключами
    • model_service.py: Услуги по моделированию
    • schemas/
    • request_model.py: Модель запроса
    • main.py: Вход на основную программу
  • Dockerfile: Конфигурация Docker
  • requirements.txt: Зависимости проекта

Особенности безопасности

  • Механизм опроса ключей API
  • Аутентификация с помощью токена носителя
  • Регистрация запросов
  • Отказ механизма повторных попыток
  • Проверка действительности ключей

предостережение

  • Убедитесь, что ваши API-ключи и маркеры доступа в безопасности!
  • Рекомендуется настраивать конфиденциальную информацию в производственных средах с помощью переменных окружения
  • По умолчанию используется порт службы 8000.
  • По умолчанию количество повторных попыток отказа ключа API равно 10.
  • Список поддерживаемых моделей см. в документации Gemini API

 

Дополнение: huggingface развертывает агент gemini, вызовы для опроса учетных записей, разблокировка ограничений региона

1. Копирование пространства пространства
Gemini Balance - пространство для обнимающихся лиц от snailyp

Gemini Balance:Gemini模型API兼容OpenAI格式,解锁区域限制并支持多API Key轮询

 

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

Gemini Balance:Gemini模型API兼容OpenAI格式,解锁区域限制并支持多API Key轮询

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

 

3. дождитесь успешного развертывания, после успешного развертывания появятся следующие журналы и статус работы

Gemini Balance:Gemini模型API兼容OpenAI格式,解锁区域限制并支持多API Key轮询

 

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. некоторые ограничения, в настоящее время нет возможности осуществлять обработку изображений и структурирование выводимых слов

Gemini Balance:Gemini模型API兼容OpenAI格式,解锁区域限制并支持多API Key轮询
© заявление об авторских правах

Похожие посты

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...