AI Personal Learning
und praktische Anleitung

Gemini Balance: Die Gemini-Modell-API ist mit dem OpenAI-Format kompatibel, hebt regionale Beschränkungen auf und unterstützt die Abfrage von Multi-API-Schlüsseln.

Dieser Artikel wurde am 2024-12-29 13:31 aktualisiert, ein Teil des Inhalts ist zeitkritisch, wenn er ungültig ist, bitte eine Nachricht hinterlassen!

Allgemeine Einführung

Zwillinge Balance ist ein OpenAI-API-Proxy-Dienst, der auf der Grundlage des FastAPI-Frameworks entwickelt wurde und eine effiziente Multi-API-Schlüsselverwaltung und Optimierungsfunktionen bieten soll. Er unterstützt Gemini-Modellaufrufe und zu seinen Hauptfunktionen gehören Multi-API-Schlüsselabfrage, Authentifizierungsforensik, Streaming-Antworten, CORS-Cross-Domain-Unterstützung und eine Schnittstelle für Gesundheitsprüfungen. Durch die Verwendung von Technologiestacks wie Python 3.9+ und Docker bietet Gemini Balance Entwicklern eine flexible und effiziente API-Proxy-Lösung für Anwendungsszenarien, die hohe Gleichzeitigkeit und hohe Zuverlässigkeit erfordern.

 

Funktionsliste

  • Unterstützung für Multi-API Key Polling
  • Bearer Token-Authentifizierung
  • Unterstützung von Streaming-Antworten
  • CORS Cross-Domain-Unterstützung
  • Schnittstelle zur Gesundheitsprüfung
  • Unterstützung für Gemini-Modellaufrufe
  • Unterstützung der Suchfunktion
  • Unterstützung für die Codeausführung

 

Hilfe verwenden

Anforderungen an die Umwelt

  • Python 3.9+
  • Docker (optional)

Installation von Abhängigkeiten

pip install -r anforderungen.txt

Konfigurationsdatei

einrichten..envDatei und konfigurieren Sie die folgenden Parameter:

API_KEYS=["your-api-key-1", "your-api-key-2"]
ALLOWED_TOKENS=["ihr-zugriffs-token-1", "ihr-zugriffs-token-2"]
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
TOOLS_CODE_EXECUTION_ENABLED=true
MODEL_SEARCH=["gemini-2.0-flash-exp"]

Docker-Bereitstellung

docker build -t gemini-balance .
docker run -p 8000:8000 -d gemini-balance

API-Schnittstelle

  • Eine Liste von Modellen erhalten
  GET /v1/models
Autorisierung: Überbringer Ihr-Token
  • Chat abgeschlossen.
  POST /v1/chat/completions
Autorisierung: Bearer your-token
{
"messages": [...] ,
"model": "gemini-1.5-flash-002",
"Temperatur": 0.7,
"stream": false, "tools": [].
"tools": []
}
  • Einbettung erhalten
  POST /v1/einbettungen
Autorisierung: Überbringer Ihr-Token
{
"input": "Ihr Text hier", "model": "text-embedding-004", "text-embedding-004
"model": "text-embedding-004"
}
  • Gesundheitsprüfung
  GET /Gesundheit

Code-Struktur

  • App/
    • api/
    • routen.pyAPI-Routing
    • abhängigkeiten.py: Dependency Injection
    • Kern/
    • config.pyKonfigurationsmanagement
    • sicherheit.pySicherheit: Zertifizierung
    • Dienstleistungen/
    • chat_service.pyChat-Dienst
    • key_manager.pySchlüsselverwaltung
    • model_service.py: Modellierung von Dienstleistungen
    • Schemata/
    • request_model.py: Modell anfordern
    • main.py: Eintritt zum Hauptprogramm
  • Dockerdatei: Docker-Konfiguration
  • Anforderungen.txt: Projektabhängigkeiten

Sicherheitsmerkmale

  • API-Schlüssel-Abruf-Mechanismus
  • Bearer Token-Authentifizierung
  • Protokollierung anfordern
  • Mechanismus für Wiederholungsversuche bei Fehlern
  • Prüfung der Schlüsselgültigkeit

caveat

  • Achten Sie darauf, dass Sie Ihre API-Schlüssel und Zugangstokens sicher aufbewahren!
  • Es wird empfohlen, sensible Informationen in Produktionsumgebungen mit Hilfe von Umgebungsvariablen zu konfigurieren
  • Der Standard-Service-Port ist 8000
  • Die Standardanzahl der Wiederholungsversuche für API-Schlüssel ist 10.
  • Eine Liste der unterstützten Modelle finden Sie in der Gemini-API-Dokumentation

 

Addendum: huggingface setzt gemini agent ein, Abfrage von Konten, Aufhebung von Gebietsbeschränkungen

1. kopiert Platz Platz
Gemini Balance - ein umarmender Gesichtsraum von snailyp


Gemini Balance: Die Gemini-Modell-API ist mit dem OpenAI-Format kompatibel, hebt regionale Beschränkungen auf und unterstützt die Abfrage mehrerer API-Schlüssel-1

 

2. die Sichtbarkeit ändern inÖffentlich(achten Sie darauf, dass die Änderung auf öffentlich oder nicht zugänglich), KonfigurationALLOWED_TOKENS,API_KEYS,BASE_URLStandard (Einstellung)

Gemini Balance: Die Gemini-Modell-API ist mit dem OpenAI-Format kompatibel, hebt regionale Beschränkungen auf und unterstützt die Abfrage mehrerer API-Schlüssel-1

ALLOWED_TOKENS Format["custom apikey"]Beachten Sie, dass Klammern, Kommata und Anführungszeichen strikt einzuhalten sind.
API_KEYSDas Format hat die Form eines einzigen Schlüssels:["gemini_key1"]Die Form der Mehrfachschlüssel["gemini_key1", "gemini_key2"]Beachten Sie, dass Klammern, Kommata und Anführungszeichen strikt einzuhalten sind.
BASE_URLdie Standardeinstellungen so belassen wie sie sind

 

3. warten Sie, bis die Bereitstellung erfolgreich war; nach erfolgreicher Bereitstellung werden die folgenden Protokolle und der Betriebsstatus angezeigt

Gemini Balance: Die Gemini-Modell-API ist mit dem OpenAI-Format kompatibel, hebt regionale Beschränkungen auf und unterstützt die Abfrage mehrerer API-Schlüssel-1

 

4 Zu diesem Zeitpunkt ist der Standard-Host des Huggingface-Dienstesumarmungsgesicht benutzername-gemini-balance.hf.spaceSo wie meine auch.snailyp-gemini-balance.hf.space

zur Kenntnis nehmenDer Huggingface-Dienst geht in den Ruhezustand über, wenn er 48 Stunden lang nicht benutzt wird. Es wird empfohlen, ihn durch zeitgesteuerte Aufgaben wie Qinglong-Panel oder Uptime-Kuma am Leben zu erhalten. (Wird direkt durch eine get-Anfrage aufgerufen)https://用户名-gemini-balance.hf.space(kann gemacht werden)

 

5. unterstützte Endpunkte/hf/v1/modelleim Gesang antworten/hf/v1/chat/erledigungen

 

6.huggingface Domain-Namen kann nicht in der Lage sein, direkt auf die inländischen, hf.space scheint in der Lage sein, den Zugang, wenn Sie nicht zugreifen können, können Sie sich auf den folgenden Prozess.

Sie können cf worker als Proxy verwenden und einen benutzerdefinierten Domänennamen binden, dann können Sie in China darauf zugreifen, cf worker proxy code ist wie folgt.Ändern Sie url.host in Ihren eigenen Namen.::

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)) } }

zur Kenntnis nehmenDer vermittelte Endpunkt entfernt /hf, so dass der Endpunkt nun zu/v1/modelsim Gesang antworten/v1/chat/erledigungenDie Client-Konfiguration erfordert einige Aufmerksamkeit.

 

7. einige Einschränkungen, derzeit ist es nicht möglich, die Bildverarbeitung und die Struktur der ausgegebenen Wörter durchzuführen

Gemini Balance: Die Gemini-Modell-API ist mit dem OpenAI-Format kompatibel, hebt regionale Beschränkungen auf und unterstützt die Abfrage mehrerer API-Schlüssel-1

Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Gemini Balance: Die Gemini-Modell-API ist mit dem OpenAI-Format kompatibel, hebt regionale Beschränkungen auf und unterstützt die Abfrage von Multi-API-Schlüsseln.

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)