Gemini-OpenAI-Proxy ist ein Proxy, der das OpenAI-API-Protokoll in das Google Gemini-Protokoll umwandeln soll. Auf diese Weise können Anwendungen für die OpenAI -API erstellt werden, um nahtlos mit dem Gemini -Protokoll zu kommunizieren, einschließlich der Unterstützung für Chat -Abschluss, Einbettung und Modell (en) Endpunkte.
Befolgen Sie die folgenden Schritte, um die Gemini-Openai-Proxy zu erstellen:
go build -o gemini main.goWir empfehlen, Gemini-Openai-Proxy mit Docker für ein einfaches Setup einzusetzen. Befolgen Sie diese Schritte, um mit Docker bereitzustellen:
Sie können dies entweder in der Befehlszeile tun:
docker run --restart=unless-stopped -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latestOder mit der folgenden Docker-Compose-Konfiguration:
version : ' 3 '
services :
gemini :
container_name : gemini
environment : # Set Environment Variables here. Defaults listed below
- GPT_4_VISION_PREVIEW=gemini-1.5-flash-latest
- DISABLE_MODEL_MAPPING=0
ports :
- " 8080:8080 "
image : zhu327/gemini-openai-proxy:latest
restart : unless-stopped Passen Sie die Port-Mapping (z. B. -p 8080:8080 ) nach Bedarf an und stellen Sie sicher, dass die Docker-Bildversion ( zhu327/gemini-openai-proxy:latest ) mit Ihren Anforderungen übereinstimmt.
Gemini-OpenAI-Proxy bietet eine einfache Möglichkeit, OpenAI-Funktionen in jede Anwendung zu integrieren, die benutzerdefinierte OpenAI-API-Endpunkte unterstützt. Befolgen Sie diese Schritte, um die Funktionen dieses Proxy zu nutzen:
Einrichten von OpenAI -Endpunkt: Stellen Sie sicher, dass Ihre Anwendung für einen benutzerdefinierten OpenAI -API -Endpunkt konfiguriert ist. Gemini-OpenAI-Proxy arbeitet nahtlos mit einem OpenAI-kompatiblen Endpunkt.
Holen Sie sich Google AI Studio API -Schlüssel: Bevor Sie den Proxy verwenden, müssen Sie einen API -Schlüssel von ai.google.dev erhalten. Behandeln Sie diesen API-Schlüssel als Ihren OpenAI-API-Schlüssel, wenn Sie mit Gemini-Openai-Proxy interagieren.
Integrieren Sie den Proxy in Ihre Anwendung: Ändern Sie die API-Anfragen Ihrer Anwendung, um den Gemini-OpenAI-Proxy abzuzielen, und stellen Sie den erworbenen Google AI Studio-API-Schlüssel bereit, als wäre es Ihr OpenAI-API-Schlüssel.
Beispiel für API -Anforderung für Chat -CHAT (unter der Annahme, dass der Proxy unter http://localhost:8080 gehostet wird):
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} 'Alternativ verwenden Sie Gemini Pro Vision:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-4-vision-preview",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "What’s in this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]}],
"temperature": 0.7
} ' Wenn Sie gpt-4-vision-preview auf gemini-1.5-pro-latest zuordnen möchten, können Sie die Umgebungsvariable GPT_4_VISION_PREVIEW = gemini-1.5-pro-latest konfigurieren. Dies liegt daran, dass gemini-1.5-pro-latest jetzt auch multimodale Daten unterstützt. Andernfalls verwendet der Standard das gemini-1.5-flash-latest Modell
Wenn Sie bereits Zugriff auf die Gemini 1.5 Pro -API haben, können Sie verwenden:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-4-turbo-preview",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} 'Beispielbettdings -API -Anfrage:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": "This is a test sentence."
} 'Sie können auch mehrere Eingangszeichenfolgen als Liste übergeben:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": ["This is a test sentence.", "This is another test sentence"]
} 'Modellzuordnung:
| GPT -Modell | Gemini -Modell |
|---|---|
| GPT-3,5-Turbo | Gemini-1.0-pro-latest |
| GPT-4 | Gemini-1.5-Flash-Latest |
| GPT-4-TURBO-Präview | Gemini-1.5-pro-latest |
| GPT-4-Vision-Präview | Gemini-1.0-pro-Vision-Latest |
| Text-Embedding-ada-002 | Text-Embedding-004 |
Wenn Sie die Modellzuordnung deaktivieren möchten, konfigurieren Sie die Umgebungsvariable DISABLE_MODEL_MAPPING=1 . Auf diese Weise können Sie sich direkt auf die Gemini -Modelle beziehen.
Hier ist eine Beispiel -API -Anforderung mit deaktiviertem Modellzuordnung:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gemini-1.0-pro-latest",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} 'Antworten handhaben: Verarbeiten Sie die Antworten aus dem Gemini-OpenAI-Proxy auf die gleiche Weise, wie Sie die Antworten von OpenAI bearbeiten würden.
Jetzt ist Ihre Anwendung ausgestattet, um OpenAI-Funktionen durch die Gemini-OpenAI-Proxy zu nutzen und die Lücke zwischen OpenAI und Anwendungen mithilfe des Google Gemini Pro-Protokolls zu schließen.
Gemini-Openai-Proxy ist unter der MIT-Lizenz lizenziert-Einzelheiten finden Sie in der Lizenzdatei.