Gemini Balance: la API del modelo Gemini es compatible con el formato OpenAI, desbloquea las restricciones regionales y admite el sondeo de claves multiAPI.
Últimos recursos sobre IAActualizado hace 4 meses Círculo de intercambio de inteligencia artificial 2.5K 00
Introducción general
Géminis Balance es un servicio proxy de API OpenAI desarrollado en base al framework FastAPI, con el objetivo de proporcionar una gestión eficiente de claves multi-API y características de optimización. Es compatible con las llamadas al modelo Gemini, y entre sus principales características se incluyen el sondeo de claves multiAPI, la autenticación forense, la transmisión de respuestas, la compatibilidad con CORS entre dominios y una interfaz de comprobación de estado. Mediante el uso de pilas tecnológicas como Python 3.9+ y Docker, Gemini Balance proporciona a los desarrolladores una solución proxy API flexible y eficiente para escenarios de aplicación que requieren alta concurrencia y alta fiabilidad.

Lista de funciones
- Soporte de sondeo de claves Multi-API
- Autenticación por token portador
- Soporte de respuesta de streaming
- Soporte CORS entre dominios
- Interfaz del chequeo médico
- Compatibilidad con las llamadas al modelo Gemini
- Función de búsqueda
- Soporte para la ejecución de código
Utilizar la ayuda
Requisitos medioambientales
- Python 3.9+
- Docker (opcional)
Instalación de dependencias
pip install -r requirements.txt
archivo de configuración
establecer.env
y configure los siguientes parámetros:
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"]
Despliegue de Docker
docker build -t gemini-balance .
docker run -p 8000:8000 -d gemini-balance
Interfaz API
- Obtener una lista de modelos
GET /v1/models
Authorization: Bearer your-token
- Chat completo.
POST /v1/chat/completions
Authorization: Bearer your-token
{
"messages": [...],
"model": "gemini-1.5-flash-002",
"temperature": 0.7,
"stream": false,
"tools": []
}
- Obtener incrustación
POST /v1/embeddings
Authorization: Bearer your-token
{
"input": "Your text here",
"model": "text-embedding-004"
}
- chequeo médico
GET /health
estructura del código
app/
api/
routes.py
: Enrutamiento APIdependencies.py
: Inyección de dependenciacore/
config.py
: Gestión de la configuraciónsecurity.py
: Certificación de seguridadservices/
chat_service.py
: Servicio de chatkey_manager.py
: Gestión de clavesmodel_service.py
: Servicios de modelizaciónschemas/
request_model.py
Modelo de solicitudmain.py
Entrada al programa principal
Dockerfile
Configuración de Dockerrequirements.txt
: Dependencias del proyecto
Características de seguridad
- Mecanismo de sondeo de claves API
- Autenticación por token portador
- Solicitar registro
- Fallo del mecanismo de reintento
- Comprobación de la validez de la clave
advertencia
- Asegúrese de mantener a salvo sus claves API y tokens de acceso.
- Se recomienda configurar la información sensible en entornos de producción utilizando variables de entorno
- El puerto de servicio por defecto es 8000
- El número por defecto de reintentos de fallo de Clave API es 10.
- Consulte la documentación de la API Gemini para obtener una lista de los modelos compatibles
Addendum: huggingface despliega el agente gemini, llamadas de sondeo de cuentas, desbloqueo de restricciones regionales
1. Copiar espacio espacio
Gemini Balance - un espacio para abrazar la cara by snailyp

2. Modificar la visibilidad aPublic
(asegúrese de que el cambio a público, o no accesible), configuraciónALLOWED_TOKENS
,API_KEYS
,BASE_URL
por defecto (ajuste)

ALLOWED_TOKENS
formato["自定义apikey"]
Tenga en cuenta que se respetan estrictamente los paréntesis, las comas y las comillas.API_KEYS
El formato es en forma de clave única:["gemini_key1"]
La forma de las llaves múltiples["gemini_key1","gemini_key2"]
Tenga en cuenta que se respetan estrictamente los paréntesis, las comas y las comillas.BASE_URL
dejar los valores por defecto como están
3. Espere a que el despliegue se realice correctamente; una vez realizado, aparecerán los siguientes registros y el estado de ejecución

4. En este punto, el host por defecto del servicio huggingface eshuggingface用户名-gemini-balance.hf.space
Como el mío.snailyp-gemini-balance.hf.space
tenga en cuentaHuggingface : El servicio Huggingface entrará en reposo si no se utiliza durante 48h, se recomienda mantenerlo vivo mediante tareas temporizadas como Qinglong panel o uptime kuma. (Llamado directamente por petición get)https://用户名-gemini-balance.hf.space
(se puede hacer)
5. Puntos finales compatibles/hf/v1/models
responder cantando/hf/v1/chat/completions
6.huggingface nombre de dominio no puede ser capaz de acceder directamente a la doméstica, hf.space parece ser accesible, si no puede acceder, puede hacer referencia al siguiente proceso.
Puede utilizar cf workers como proxy y vincular un nombre de dominio personalizado, entonces puede acceder a él en China, cf worker proxy código es el siguiente.Cambia url.host por el tuyo.::
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)) } }
tenga en cuentaEl punto final proxy elimina /hf, por lo que el punto final se convierte ahora en/v1/models
responder cantando/v1/chat/completions
La configuración del cliente requiere cierta atención.
7. Algunas limitaciones, en la actualidad no es posible llevar a cabo el procesamiento de imágenes y la estructura de las palabras de salida

© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...