GPT-Load ist ein quelloffenes, hochleistungsfähiges KI-Proxy-Tool, das sich auf die einheitliche Schnittstellenverwaltung und den Lastausgleich für eine breite Palette von großen Modelldiensten konzentriert. Es vereinfacht den Zugriff von Entwicklern auf Modelle wie OpenAI, Gemini, Claude usw. durch einen intelligenten Schlüsselabfragemechanismus. Benutzer können Konfigurationen schnell und in Echtzeit über die Weboberfläche bereitstellen und verwalten. Das Projekt unterstützt den Einsatz von Docker-Containern und verwendet standardmäßig die SQLite-Datenbank, die sich für leichtgewichtige Anwendungen eignet, sowie MySQL, PostgreSQL und Redis, um Clustering-Anforderungen zu erfüllen.GPT-Load wird von tbphp entwickelt, auf GitHub gehostet und ist sowohl für Unternehmen als auch für einzelne Entwickler geeignet.
Funktionsliste
- Intelligente TastenabfrageAutomatische Verwaltung mehrerer API-Schlüssel, dynamische Verteilung von Anfragen und Verbesserung der Effizienz von Schnittstellenaufrufen.
- Unterstützung mehrerer ModelleIm Folgenden finden Sie eine Liste der wichtigsten Modelle: OpenAI, Gemini, Claude usw., die einen einheitlichen API-Eintrag bieten.
- LastausgleichOptimierung der Anforderungszuweisung, um die Stabilität in Szenarien mit hoher Gleichzeitigkeit zu gewährleisten.
- Web-Management-SchnittstelleUnterstützung von Konfigurationsänderungen in Echtzeit, die ohne Neustart des Dienstes wirksam werden.
- Flexibilität der DatenbankStandard-SQLite, mit Unterstützung für MySQL, PostgreSQL und Redis.
- Docker-BereitstellungBietet Containerlösungen zur Vereinfachung der Installation und Erweiterung.
- Cluster-UnterstützungErmöglicht die Zusammenarbeit mehrerer Knoten durch gemeinsame Datenbanken und Redis.
- API-Proxy-WeiterleitungUnterstützt mehrere Modelle von API-Anforderungsformaten, um die Entwicklung zu vereinfachen.
Hilfe verwenden
Einbauverfahren
GPT-Load unterstützt sowohl die Docker- als auch die Source-Build-Installation. Hier sind die detaillierten Schritte:
Methode 1: Docker-Bereitstellung (empfohlen)
- Installation von Docker und Docker Compose
Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind, was mit dem folgenden Befehl überprüft werden kann:docker --version docker compose version
- Erstellen eines Projektverzeichnisses
Erstellen Sie ein lokales Verzeichnis und geben Sie es ein:mkdir -p gpt-load && cd gpt-load
- Konfigurationsdatei herunterladen
Holen Sie sich die Standardkonfigurationsdatei aus dem GitHub-Repository:wget https://raw.githubusercontent.com/tbphp/gpt-load/main/docker-compose.yml wget -O .env https://raw.githubusercontent.com/tbphp/gpt-load/main/.env.example
- Umgebungsvariablen konfigurieren
Compiler.env
Datei, um den Authentifizierungsschlüssel und andere Parameter festzulegen. Beispiel:AUTH_KEY=sk-123456
Der Standard-Authentifizierungsschlüssel lautet
sk-123456
Die Anzahl der ersten beiden Einträge in der Liste kann nach Bedarf geändert werden. - Neue Dienste
Starten Sie den Dienst mit Docker Compose:docker compose up -d
Der Dienst wird verfügbar sein unter
http://localhost:3001
Laufen. - Schnittstelle zur Zugangsverwaltung
Öffnen Sie Ihren Browser und besuchen Siehttp://localhost:3001
Verwenden Sie.env
sich einstellenAUTH_KEY
Einloggen. - Management-Dienstleistungen
- Prüfen Sie den Status des Dienstes:
docker compose ps
- Logbuch ansehen:
docker compose logs -f
- Starten Sie den Dienst neu:
docker compose down && docker compose up -d
- Aktualisierte Version:
docker compose pull && docker compose down && docker compose up -d
- Prüfen Sie den Status des Dienstes:
Methode 2: Konstruktion des Quellcodes
- Klon-Lager
Klonen Sie den Projektcode von GitHub:git clone https://github.com/tbphp/gpt-load.git cd gpt-load
- Installieren der Go-Umgebung
Stellen Sie sicher, dass Go 1.18 oder höher auf Ihrem System installiert ist. Prüfen Sie die Version:go version
- Installation von Abhängigkeiten
Projektabhängigkeiten ziehen:go mod tidy
- Umgebungsvariablen konfigurieren
Kopieren Sie die Beispielkonfigurationsdatei und bearbeiten Sie sie:cp .env.example .env
Änderungen
.env
den Nagel auf den Kopf treffenDATABASE_DSN
(Datenbankverbindungszeichenfolge) undREDIS_DSN
(Redis-Verbindungszeichenfolge, optional). Beispiel:AUTH_KEY=sk-123456 DATABASE_DSN=mysql://user:password@host:port/dbname
- Operative Dienste
Starten Sie den Dienst:make run
Der Dienst läuft standardmäßig auf dem
http://localhost:3001
.
Datenbank-Konfiguration
- SQLiteStandard-Datenbank, geeignet für eigenständige, leichtgewichtige Anwendungen ohne zusätzliche Konfiguration.
- MySQL/PostgreSQL:: Leitartikel
docker-compose.yml
deaktivieren Sie die entsprechenden Dienste, konfigurieren Sie die Umgebungsvariablen und starten Sie neu. - RedisMuss bei der Einrichtung des Clusters für das Caching und die Knotensynchronisierung konfiguriert werden.
Hauptfunktionen
1. die Schlüsselverwaltung
- Nach dem Einloggen in die Weboberfläche gehen Sie auf die Seite "Schlüsselverwaltung".
- Mehrere API-Schlüssel hinzufügen (z.B. für OpenAI, Gemini).
- Das System sucht automatisch nach verfügbaren Schlüsseln und bevorzugt das Senden von Anfragen mit Schlüsseln, die nicht überlaufen sind.
2) API-Proxy-Anfragen
- GPT-Load bietet eine einheitliche Proxy-Schnittstelle. Zum Beispiel der Aufruf der Chat-Schnittstelle von OpenAI:
curl -X POST http://localhost:3001/proxy/openai/v1/chat/completions \ -H "Authorization: Bearer sk-123456" \ -H "Content-Type: application/json" \ -d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": "Hello"}]}'
- Proxy-Anfragen für Modelle wie Gemini, Claude usw. werden in einem ähnlichen Format unterstützt.
3. die Konfiguration in Echtzeit
- Ändern Sie Modellparameter, Schlüsselprioritäten oder Lastausgleichsrichtlinien in der Weboberfläche.
- Die Konfiguration wird sofort nach dem Speichern wirksam, ein Neustart des Dienstes ist nicht erforderlich.
4. der Einsatz von Clustern
- Stellen Sie sicher, dass alle Knoten die gleichen MySQL/PostgreSQL- und Redis-Verbindungen haben.
- existieren
.env
Konfigurieren Sie einheitliche Datenbank- und Redis-Verbindungen in der - Stellen Sie mehrere Knoten mit Docker Compose oder Kubernetes bereit.
caveat
- Stellen Sie sicher, dass die Firewall den Port 3001 geöffnet hat.
- Redis muss bei der Bereitstellung des Clusters konfiguriert werden, da sonst der In-Memory-Speicher aktiviert wird.
- Überprüfen Sie regelmäßig die Schlüsselverwendung, um Dienstunterbrechungen aufgrund von Überschreitungen zu vermeiden.
Anwendungsszenario
- KI-Integration im Unternehmen
Bei der Entwicklung von KI-Anwendungen müssen Unternehmen die Schnittstellen von OpenAI, Gemini und Claude gleichzeitig aufrufen. GPT-Load bietet einen einheitlichen Einstiegspunkt, um den Entwicklungsprozess zu vereinfachen und die Wartungskosten zu senken. - Hochgradig konkurrierende AI-Dienste
In Chatbot- oder intelligenten Kundendienstszenarien sorgen der Lastausgleich und die Schlüsselabfrage von GPT-Load für die Stabilität von hochgradig gleichzeitigen Anfragen für einen umfangreichen Benutzerzugang. - Experimente einzelner Entwickler
Entwickler können GPT-Load schnell einsetzen, die Leistung verschiedener großer Modelle testen, mehrere kostenlose oder kostenpflichtige Schlüssel verwalten und die Kosten für Versuche und Fehler reduzieren.
QA
- Welche Modelle werden von GPT-Load unterstützt?
Unterstützung von OpenAI, Gemini, Claude und anderen großen Mainstream-Modellen, die spezifische Kompatibilität hängt vom API-Format ab. - Wie kann ich die Datenbank wechseln?
Compilerdocker-compose.yml
Um MySQL oder PostgreSQL zu entkommentieren, konfigurieren Sie die.env
den Nagel auf den Kopf treffenDATABASE_DSN
und starten Sie dann den Dienst neu. - Was ist für den Einsatz von Clustern erforderlich?
Alle Knoten sollten dieselben MySQL/PostgreSQL- und Redis-Verbindungen haben, Redis ist obligatorisch. - Wie ist die Webschnittstelle gesichert?
passieren (eine Rechnung oder Inspektion etc.).env
den Nagel auf den Kopf treffenAUTH_KEY
Es wird empfohlen, für die Authentifizierung starke Schlüssel zu verwenden und diese regelmäßig zu ändern.