Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

geminicli2api ist ein quelloffener FastAPI-basierter Proxy-Server, der auf GitHub gehostet wird. Er konvertiert die Funktionalität der Google Gemini CLI in eine OpenAI-kompatible API-Schnittstelle und unterstützt gleichzeitig native Gemini-API-Endpunkte. Entwickler können Google Gemini-Modelle über das vertraute OpenAI-API-Format oder die direkte Gemini-API aufrufen, kostenlos unter Verwendung des von Google bereitgestellten API-Kontingents. Das Projekt unterstützt Textgenerierung, multimodale Eingaben (z. B. Text und Bilder), Echtzeit-Streaming-Antworten und mehr. Es bietet eine Vielzahl von Authentifizierungsmethoden, die sich für den schnellen Einsatz in lokalen oder Cloud-Umgebungen eignen und in Entwicklungs-, Test- und Produktionsumgebungen weit verbreitet sind. geminicli2api ist leichtgewichtig und einfach zu konfigurieren und eignet sich besonders für Entwickler, die Gemini-Funktionen in ihre bestehenden Arbeitsabläufe integrieren müssen.

Funktionsliste

  • Bietet OpenAI-kompatible /v1/chat/completions im Gesang antworten /v1/models Endpunkte, wobei bestehende OpenAI-Tools angepasst werden.
  • Unterstützung für native Gemini-API-Endpunkte wie /v1beta/models/{model}:generateContentDas Gemini-Modell kann direkt aus dem Gemini-Modell aufgerufen werden.
  • Unterstützt Echtzeit-Streaming-Antworten, geeignet für interaktive Dialoge oder die Erstellung langer Texte.
  • Unterstützt multimodale Eingaben und verarbeitet gemischte Inhalte wie Text und Bilder.
  • Bietet Google-Suchverbesserungen durch -search Modellvarianten liefern genauere Antworten.
  • Unterstützung für die Steuerung des Gemini-Schlussfolgernden Prozesses mit dem -nothinking im Gesang antworten -maxthinking Modellvarianten passen die Tiefe der Argumentation an.
  • Unterstützt eine Vielzahl von Authentifizierungsmethoden, einschließlich Bearer-Tokens, Basic-Authentifizierung, API-Schlüssel usw.
  • Unterstützt Docker-Container-Bereitstellungen und ist mit Hugging Face Spaces kompatibel.

Hilfe verwenden

Einbauverfahren

geminicli2api ist einfach zu installieren und zu konfigurieren und unterstützt sowohl lokal laufende als auch containerisierte Implementierungen. Nachfolgend finden Sie die detaillierten Schritte:

  1. Klon-Lager
    Klonen Sie das geminicli2api-Repository lokal mit dem folgenden Befehl:

    git clone https://github.com/gzzhongqi/geminicli2api
    cd geminicli2api
    
  2. Installation von Abhängigkeiten
    Das Projekt basiert auf Python und FastAPI, wobei die Abhängigkeiten in der requirements.txt ein. Führen Sie den folgenden Befehl zur Installation aus:

    pip install -r requirements.txt
    
  3. Umgebungsvariablen konfigurieren
    geminicli2api muss mit authentifizierungsbezogenen Umgebungsvariablen konfiguriert werden. Erstellen Sie eine .env fügen Sie Folgendes hinzu:

    GEMINI_AUTH_PASSWORD=你的认证密码
    GEMINI_CREDENTIALS={"client_id":"你的客户端ID","client_secret":"你的客户端密钥","token":"你的访问令牌","refresh_token":"你的刷新令牌","scopes":["https://www.googleapis.com/auth/cloud-platform"],"token_uri":"https://oauth2.googleapis.com/token"}
    PORT=8888
    
    • GEMINI_AUTH_PASSWORDAuthentifizierungspasswort für den API-Zugang, erforderlich.
    • GEMINI_CREDENTIALSJSON-String mit Google OAuth-Anmeldeinformationen, die die client_idundclient_secret usw. Felder.
    • Optionale Variablen:
      • GOOGLE_APPLICATION_CREDENTIALSPfad zur Datei mit den Google OAuth-Anmeldeinformationen.
      • GOOGLE_CLOUD_PROJECT vielleicht GEMINI_PROJECT_IDGoogle Cloud Projekt-ID.
    • Wenn Sie eine Datei mit Anmeldeinformationen verwenden, erstellen Sie credentials Verzeichnis in Ihrem Google Cloud Services-Konto .json Datei und setzen Sie die GOOGLE_APPLICATION_CREDENTIALS Zeigt auf den Dateipfad.
  4. lokaler Betrieb
    Nachdem die Konfiguration abgeschlossen ist, führen Sie den folgenden Befehl aus, um den Dienst zu starten:

    python -m uvicorn app.main:app --host 0.0.0.0 --port 8888
    

    Dienst Standard Mithören http://localhost:8888.

  5. Docker-Bereitstellung
    geminicli2api unterstützt die Bereitstellung in Docker-Containern und vereinfacht die Konfiguration der Umgebung.

    • Bauen Sie das Spiegelbild:
      docker build -t geminicli2api .
      
    • Starten Sie den Container (Standardport 8888):
      docker run -p 8888:8888 \
      -e GEMINI_AUTH_PASSWORD=your_password \
      -e GEMINI_CREDENTIALS='{"client_id":"...","token":"..."}' \
      -e PORT=8888 \
      geminicli2api
      
    • Verwenden Sie Docker Compose:
      docker-compose up -d
      

      Für die Bereitstellung von Hugging Face Spaces verwenden Sie Port 7860:

      docker-compose --profile hf up -d geminicli2api-hf
      
  6. Umarmung Gesicht Räume Entfaltung
    • Melden Sie sich bei Hugging Face an und erstellen Sie einen neuen Docker Space.
    • Laden Sie den Inhalt des Repositorys auf Space hoch.
    • Fügen Sie eine Umgebungsvariable zu den Space-Einstellungen hinzu:GEMINI_AUTH_PASSWORD im Gesang antworten GEMINI_CREDENTIALS(oder eine andere Quelle für Referenzen).
    • Space baut den Dienst automatisch auf und stellt ihn bereit, wartet auf http://<space-url>:7860.

Verwendung der API

geminicli2api bietet OpenAI-kompatible und native Gemini-API-Endpunkte, aus denen Entwickler je nach Bedarf wählen können.

OpenAI-kompatible API

Rufen Sie geminicli2api unter Verwendung der OpenAI-Client-Bibliothek auf, mit Endpunkten, die mit der OpenAI-API übereinstimmen.
typisches Beispiel(Python):

import openai
client = openai.OpenAI(
base_url="http://localhost:8888/v1",
api_key="your_password"  # GEMINI_AUTH_PASSWORD
)
response = client.chat.completions.create(
model="gemini-2.5-pro-maxthinking",
messages=[{"role": "user", "content": "用简单语言解释相对论"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.reasoning_content:
print(f"推理过程: {chunk.choices[0].delta.reasoning_content}")
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")

Native Gemini-API

Direkte Aufrufe an Gemini-API-Endpunkte unterstützen flexiblere Konfigurationen.
typisches Beispiel(Python):

import requests
headers = {
"Authorization": "Bearer your_password",
"Content-Type": "application/json"
}
data = {
"contents": [
{"role": "user", "parts": [{"text": "用简单语言解释相对论"}]}
],
"thinkingConfig": {"thinkingBudget": 32768, "includeThoughts": True}
}
response = requests.post(
"http://localhost:8888/v1beta/models/gemini-2.5-pro:generateContent",
headers=headers,
json=data
)
print(response.json())

Multimodale Eingänge

Unterstützt das Hochladen von Text und Bildern zum Versenden an /v1/chat/completions vielleicht /v1beta/models/{model}:generateContent.
typisches Beispiel(Bilder und Text hochladen):

curl -X POST http://localhost:8888/v1/chat/completions \
-H "Authorization: Bearer your_password" \
-H "Content-Type: application/json" \
-d '{"model": "gemini-2.5-pro", "messages": [{"role": "user", "content": "分析这张图片并描述内容"}], "files": ["./image.jpg"]}'

Verfahren zur Authentifizierung

Die folgenden Authentifizierungsmethoden werden unterstützt:

  • Inhaber-Marke::Authorization: Bearer your_password
  • Grundlegende Zertifizierung::Authorization: Basic base64(username:your_password)
  • Parameter der Anfrage::?key=your_password
  • Google Kopf::x-goog-api-key: your_password

Unterstützte Modelle

  • Basismodell:gemini-2.5-proundgemini-2.5-flashundgemini-1.5-proundgemini-1.5-flashundgemini-1.0-pro
  • Varianten:
    • -searchAktivieren Sie Google-Suchverbesserungen (z. B. gemini-2.5-pro-search).
    • -nothinkingReduzierung der Anzahl von Argumentationsschritten (z.B. gemini-2.5-flash-nothinking).
    • -maxthinkingAufstockung des Budgets für Argumentation (z.B. gemini-2.5-pro-maxthinking).

caveat

  • sicher GEMINI_AUTH_PASSWORD gesetzt ist, andernfalls schlägt die API-Anfrage fehl.
  • Die Google OAuth-Anmeldeinformationen müssen gültig sein und sollten über die Google Cloud-Konsole bezogen werden.
  • Streaming-Antworten erfordern eine Client-Unterstützung für die Verarbeitung von Chunked-Daten.
  • Überprüfen Sie die Quoten für Google Cloud-Projekte, um zu vermeiden, dass die Grenzen für API-Aufrufe überschritten werden.

Anwendungsszenario

  1. Integration mit bestehenden OpenAI-Tools
    Entwickler verwenden geminicli2api, um Gemini-Modelle in Tools einzubinden, die auf der OpenAI-API basieren (z. B. LangChain), und schnell zu Geminis freier Quote zu wechseln, ohne den Code zu ändern.
  2. Erzeugung multimodaler Inhalte
    Inhaltsersteller laden Bilder und Texte hoch, um Beschreibungen, Analysen oder kreative Inhalte zu erstellen, die sich für die Gestaltung von Werbung oder die Produktion von Lehrmaterial eignen.
  3. Automatisierte Arbeitsabläufe
    Unternehmen automatisieren die Verarbeitung von Dokumenten, die Erstellung von Berichten oder die Beantwortung von Kundenanfragen durch geminicli2api und verbessern so die betriebliche Effizienz.

QA

  1. Welche Authentifizierungsmethoden werden von geminicli2api unterstützt?
    Unterstützt Bearer-Tokens, Basic-Authentifizierung, Abfrageparameter und Google-Header-Authentifizierung, was die Einrichtung des GEMINI_AUTH_PASSWORD.
  2. Wie erhalte ich Google OAuth-Anmeldeinformationen?
    Erstellen Sie ein Dienstkonto in der Google Cloud-Konsole, laden Sie die JSON-Schlüsseldatei herunter, geben Sie die GEMINI_CREDENTIALS oder setzen GOOGLE_APPLICATION_CREDENTIALS Pfad.
  3. Welche Modellvarianten werden unterstützt?
    etw. unterstützen -search(Google Search Enhanced),-nothinking(Reduzierte Argumentation),-maxthinking(Erhöhte Argumentation) Variante für die gemini-2.5-pro im Gesang antworten gemini-2.5-flash.
  4. Wie kann man sich in Hugging Face Spaces entfalten?
    Forken Sie das Repository, erstellen Sie einen Docker Space, richten Sie die GEMINI_AUTH_PASSWORD im Gesang antworten GEMINI_CREDENTIALSDer Platz wird automatisch bereitgestellt.
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch