Claude Proxy ist ein Open-Source-Proxy-Tool, das auf GitHub gehostet wird und Entwicklern helfen soll, die Claude-API-Anfragen von Anthropic in das OpenAI-API-Format zu konvertieren. Es ermöglicht Benutzern, durch einfache Konfiguration nahtlos mit Claude-Modellen zu arbeiten, und ist sowohl mit Client- als auch Front-End-Tools kompatibel, die von OpenAI unterstützt werden. Das Tool eignet sich für Entwickler, die große Sprachmodelle plattformübergreifend aufrufen müssen, und bietet flexible Modellzuordnung und Unterstützung für Streaming-Antworten. Das von tingxifa betreute Projekt ist mit Bash-Skripten implementiert, die einfach zu konfigurieren sind und sich für den schnellen Einsatz in Produktionsumgebungen eignen. Die Benutzer müssen nur den API-Schlüssel und die Proxy-Adresse festlegen, dann können Sie das Claude-Modell über die Befehlszeile aufrufen, die Bedienung ist intuitiv und effizient.
Funktionsliste
- Konvertieren Sie Claude-API-Anfragen in das OpenAI-API-Format, das mit von OpenAI unterstützten Clients kompatibel ist.
- Es werden sowohl Streaming- als auch Non-Streaming-Antworten unterstützt, was eine vollständige Kompatibilität mit Claude-Clients gewährleistet.
- Bietet eine flexible Modellzuordnung mit anpassbaren Modellnamen (z. B.
gemini-1.5-pro
). - Unterstützt die schnelle Bereitstellung von Proxy-Diensten über Bash-Skripte.
- Ermöglicht Benutzern die Konfiguration von API-Schlüsseln und Proxy-Service-Adressen, die sich an mehrere Backend-Modelle anpassen lassen.
- Kostenloser, transparenter Open-Source-Code, der von Entwicklern angepasst und erweitert werden kann.
Hilfe verwenden
Einbauverfahren
Um Claude Proxy zu verwenden, müssen die Benutzer die folgenden Schritte befolgen, um das Projekt lokal oder auf einem Server zu konfigurieren und auszuführen. Im Folgenden finden Sie eine ausführliche Anleitung zur Installation und Verwendung:
- Projektlager klonen
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um das Projekt lokal zu klonen:git clone https://github.com/tingxifa/claude_proxy.git
Sobald das Klonen abgeschlossen ist, wechseln Sie in das Projektverzeichnis:
cd claude_proxy
- Konfigurationsdatei bearbeiten
Im Projektverzeichnis finden Sie die Dateiclaude_proxy.sh
Skriptdatei mit einem Texteditor (z. B. demnano
vielleichtvim
) Offen:nano claude_proxy.sh
Suchen Sie den Teil des Skripts mit der Bezeichnung "Highlights: Was zu ersetzen ist" und ändern Sie die folgenden Variablen:
API_KEY
Ersetzen Sie z. B. durch Ihren API-Schlüssel:API_KEY="your_api_key_here"
OPEN_AI_URL
Einstellen der Adresse des Proxy-Dienstes (ohnehttps://
), zum Beispiel:OPEN_AI_URL="api.example.com/v1"
OPEN_MODEL
: Geben Sie den Namen des Modells an, zum Beispiel:OPEN_MODEL="gemini-1.5-pro"
Speichern Sie und beenden Sie den Editor.
- Hinzufügen von Ausführungsberechtigungen
Fügen Sie dem Skript die Berechtigung zur Ausführung hinzu und führen Sie es aus:chmod +x claude_proxy.sh
- Laufender Agentendienst
Führen Sie das Skript aus, um den Agentendienst zu starten:./claude_proxy.sh
Nach erfolgreichem Start beginnt der Proxy-Dienst mit dem Abhören, um die Verarbeitung von Claude-API-Anfragen vorzubereiten.
Verwendung
Sobald die Konfiguration abgeschlossen ist, können Benutzer das Claude-Modell über die Befehlszeile oder einen Client, der die OpenAI-API unterstützt, aufrufen. Im Folgenden wird das Verfahren beschrieben:
- Kommandozeilenaufruf
Verwenden Sie im Terminal den Befehlcurl
Befehl, um den Proxy-Dienst zu testen. Beispiel:curl http://localhost:port/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_api_key_here" \ -d '{ "model": "gemini-1.5-pro", "messages": [ {"role": "system", "content": "你是一个智能助手"}, {"role": "user", "content": "请告诉我今天的天气"} ] }'
Der obige Befehl sendet eine Anfrage an den Agenten, der die Claude-API in das OpenAI-Format umwandelt und eine Antwort zurückgibt.
- Verwendung von Front-End-Tools
Claude Proxy ist mit Front-End-Tools kompatibel, die die OpenAI-API unterstützen (z. B. LibreChat oder SillyTavern). Setzen Sie in der Frontend-Konfiguration die API-Adresse auf die URL des Proxy-Dienstes (z.B.http://localhost:port/v1
) und geben Sie Ihren API-Schlüssel ein. Danach kann das Front-End-Tool das Claude-Modell über den Proxy aufrufen. - Unterstützung von Streaming Response
Wenn Echtzeit-Streaming-Antworten erforderlich sind (z. B. in einer Chat-Anwendung), stellen Sie sicher, dass das Front-End oder der Client Server-Sent Events (SSE) unterstützt. Der Agent verarbeitet Streaming-Daten automatisch, um die Kompatibilität mit Claude-Clients zu gewährleisten.
Featured Function Bedienung
- Modellabbildung
Der Benutzer kann die Modellzuordnung nach seinen Bedürfnissen anpassen. Zum Beispiel kann die Abbildung des Haiku-Modells von Claude auf dasgpt-4o-mini
oder die Abbildung eines Sonnet-Modells auf dengemini-1.5-pro
. ÄnderungenOPEN_MODEL
Variablen implementiert werden können. Beispiel:OPEN_MODEL="gpt-4o"
Nach dem erneuten Ausführen des Skripts verarbeitet der Agent die Anfrage unter Verwendung des angegebenen Modells.
- Unterstützung mehrerer Backends
Claude Proxy unterstützt die Verbindung zu mehreren Backend-Modellen (z. B. OpenAI, Gemini oder lokale Modelle). Durch Ändern derOPEN_AI_URL
im Gesang antwortenAPI_KEY
Der Benutzer kann zwischen verschiedenen API-Anbietern wechseln. Zum Beispiel die Verbindung zu einem lokalen Ollama-Modell:OPEN_AI_URL="http://localhost:11434/v1" API_KEY="dummy-key"
- Fehlersuche und Protokollierung
Wenn das Skript ausgeführt wird, gibt der Agent ein Protokoll auf dem Terminal aus, das Einzelheiten zu den Anfragen und Antworten enthält. Wenn Sie auf Probleme stoßen, überprüfen Sie das Protokoll, um Fehler zu finden, wie z. B. einen ungültigen API-Schlüssel oder einen falschen Modellnamen.
caveat
- Vergewissern Sie sich, dass die Netzwerkumgebung stabil ist und dass der Proxy-Dienst Zugang zu externen APIs benötigt.
- API-Schlüssel müssen ordnungsgemäß gespeichert werden, um ein Auslaufen zu verhindern.
- Wenn Sie ein lokales Modell (z. B. Ollama) verwenden, vergewissern Sie sich, dass der lokale Server in Betrieb ist und auf den richtigen Port hört.
Mit den oben genannten Schritten können Benutzer Claude Proxy schnell konfigurieren und ausführen, um Claude API nahtlos in OpenAI API zu konvertieren, was für eine Vielzahl von Entwicklungsszenarien geeignet ist.
Anwendungsszenario
- Plattformübergreifende Modellaufrufe
Entwickler, die Claude-Modelle in Tools verwenden möchten, die die OpenAI-API unterstützen, können mit Claude Proxy API-Anfragen in das OpenAI-Format konvertieren, so dass Benutzer Claude ohne Änderung des Front-End-Codes aufrufen können. - Lokale Entwicklungstests
Testen Sie die Leistung von Claude-Modellen in einer lokalen Umgebung. Entwickler können Agenten so konfigurieren, dass sie sich mit lokalen Modellen wie Ollama verbinden, um kostengünstig zu entwickeln und zu debuggen. - Integration von Chat-Anwendungen
Entwickler von Chat-Apps möchten das Claude-Modell integrieren, aber das Front-End unterstützt nur die OpenAI-API. Claude Proxy bietet einen Proxy-Dienst, um sicherzustellen, dass das Chatten in Echtzeit reibungslos funktioniert. - Modellwechsel und Optimierung
Unternehmen müssen aufgrund von Kosten- oder Leistungsanforderungen zwischen verschiedenen Modellen wechseln (z. B. von Claude zu Gemini), und die Modellabbildungsfunktionen von Claude Proxy ermöglichen einen schnellen Wechsel und geringere Entwicklungskosten.
QA
- Welche Modelle werden von Claude Proxy unterstützt?
Unterstützung für jedes OpenAI-kompatible Modell, wie z.B.gpt-4o
undgemini-1.5-pro
usw. Die Benutzer können dieOPEN_MODEL
Variable benutzerdefinierte Modelle. - Wie kann man mit API-Schlüssel-Lecks umgehen?
Wenn der Schlüssel kompromittiert wurde, ersetzen Sie den API-Schlüssel sofort durch einen neuen undclaude_proxy.sh
Medium UpdateAPI_KEY
Variablen. - Unterstützt der Proxy-Dienst Streaming-Antworten?
Ja, Claude Proxy unterstützt Streaming- und Non-Streaming-Antworten und ist mit allen SSE-Funktionen des Claude-Client kompatibel. - Benötige ich einen Anthropic-API-Schlüssel?
Nicht unbedingt. Wenn Sie ein anderes Backend (wie OpenAI oder Gemini) verwenden, geben Sie einfach den API-Schlüssel für das entsprechende Backend an.