Übersicht
LibreChat ist eine self-hosted Chat-Oberfläche, die über Custom Endpoints mit OpenAI-kompatiblen APIs kommuniziert. Wenn Sie einen Custom Endpoint auf GoModel richten, stehen jedem LibreChat-Benutzer alle Ihre Provider über eine einzige Verbindung zur Verfügung, und jeder Chat wird in GoModel geloggt, bepreist und dem angemeldeten LibreChat-Benutzer zugeordnet. Ablauf:LibreChat chat -> LibreChat backend -> GoModel -> OpenAI/Anthropic/Gemini/...
Was Sie erhalten:
- Vollständige Request- und Response-Bodys für jeden Chat im Audit-Log von GoModel.
- Kosten pro LibreChat-Benutzer über Header-Templates und Labels.
- Alle Provider hinter einem Custom Endpoint; keine Einrichtung pro Provider in LibreChat.
- Prometheus-Metriken und OpenTelemetry-Traces für den Chat-Traffic, sobald Sie diese Exporter aktivieren (siehe Hinweise).
- Failover, Rate-Limits, Budgets und Response-Caching für den Chat-Traffic, wenn Sie diese in GoModel konfigurieren.
1. GoModel neben LibreChat ausführen
LibreChat liest Custom Endpoints auslibrechat.yaml. Legen Sie die Datei neben Ihrer
Compose-Datei an:
librechat.yaml
docker-compose.yml
Öffnen Sie
http://localhost:3080 und registrieren Sie das erste Konto (es wird zum
LibreChat-Admin). Der Endpunkt GoModel erscheint in der Modellauswahl mit jedem Modell, das
GoModel bereitstellt – einschließlich Anthropic- und Gemini-Modellen sowie aller
virtuellen Modelle.
2. Chatten und jeden Aufruf in GoModel sehen
Wählen Sie ein beliebiges Modell –openai/gpt-5-mini, anthropic/claude-haiku-4-5-20251001,
gemini/gemini-2.5-flash – und chatten Sie. Streaming-Responses und die Titelgenerierung, die
LibreChat nach dem ersten Austausch ausführt, laufen vollständig durch GoModel. Jeder Aufruf
erscheint im Audit-Log mit dem vollständigen Prompt, der Response, den Tokens, den Kosten und dem
Header, der den Benutzer identifiziert.
Verifiziert mit LibreChat v0.8.7: Abruf der Modelle, Chat und Titelgenerierung mit Modellen von
OpenAI, Anthropic und Gemini, Labels pro Benutzer und RAG-Datei-Embedding, alles über GoModel
geroutet.
Kostenerfassung pro Benutzer
Mit demheaders-Template aus Schritt 1 enthält jeder Request X-LibreChat-User-Email, und
GoModel hält dessen Wert als Label fest. Die Ansicht „Nutzung nach Label“ im Dashboard zeigt dann
Requests, Tokens und Kosten pro Person. Wenn E-Mail-Adressen nicht in den Nutzungsdaten erscheinen
sollen, verwenden Sie stattdessen "{{LIBRECHAT_USER_ID}}" im Template und behalten
TAGGING_HEADER_1_DONOTPASS bei. Lassen Sie TAGGING_HEADER_1_DONOTPASS gesetzt: Regulär geroutete
Requests leiten Client-Header nie weiter, aber Passthrough-Requests
würden den E-Mail-Header sonst an den Provider übertragen. Präfixe und weitere Header-Optionen
finden Sie unter Labeling.
Modellauswahl kuratieren
GoModel kann Hunderte von Modellen bereitstellen, undfetch: true listet sie alle auf. Um
stattdessen ein festes Menü anzubieten, setzen Sie fetch: false und listen auf, was Ihre Benutzer
sehen sollen:
fetch: true folgt GET /v1/models.
Embeddings und RAG
Datei-Uploads in LibreChat werden von der separaten RAG API eingebettet, die die OpenAI-Embeddings-API spricht und ebenfalls auf GoModel zeigen kann. Ergänzen Sie die Compose-Datei:librechat RAG_API_URL: http://rag_api:8000 und der Volume-Liste
pg_data: hinzu. Jedes hochgeladene Dokument wird in Chunks zerlegt und über /v1/embeddings von
GoModel eingebettet, sodass die Embedding-Nutzung wie jeder andere Aufruf geloggt und bepreist wird.
Das Chat-Routing funktioniert auch ohne diesen Abschnitt einwandfrei.
Fehlerbehebung
Hinweise
- Failover und Budgets von GoModel gelten automatisch für den Chat-Traffic; ein Budget pro Key begrenzt, was die gesamte LibreChat-Instanz ausgeben kann.
- Die Funktionen Agents, Websuche und Bildgenerierung von LibreChat haben eigene Provider-Einstellungen und waren nicht Teil des Verifizierungslaufs.
- Für Dashboards und Alerts siehe Prometheus-Metriken und OpenTelemetry.