LLM-Modelle¶
Modellverwaltung über LiteLLM
Die Plattform nutzt LLMs über den LiteLLM-Proxy. Modelle werden zentral konfiguriert und können pro Instanz verwaltet werden.
Architektur¶
graph LR
LC["LibreChat"] --> LL["LiteLLM (lokal, Port 4000)"]
RAG["RAG API"] --> LL
LL --> ZP["Zentraler LLM-Proxy\n(llm.inovetra.ai)"]
ZP --> IONOS["IONOS AI Model Hub\n(Inovetra AI / Llama, DE)"]
ZP --> MISTRAL["La Plateforme\n(Mistral, EU)"]
ES["Embedding Service\n(lokal, ONNX)"] -.->|"Fallback über LiteLLM"| LL
RAG -->|"Embeddings"| ES
KI-Modellanbieter (ab 0.79.7)¶
Die Plattform unterstützt zwei austauschbare KI-Modellanbieter. Die Auswahl erfolgt im Customer Portal unter KI-Einstellungen → Karte KI-Modellanbieter und gilt sowohl für den Wissensassistenten Inovetra RAG (alle Pipeline-Schritte) als auch für den allgemeinen Chat-Assistenten Inovetra AI (Standardmodell + Titelgenerierung in LibreChat).
| Anbieter | Backend | Antwortmodell | Schnelles Modell | Region |
|---|---|---|---|---|
| Inovetra AI (Standard) | Llama über IONOS | llama-3.1-405b |
llama-3.1-8b |
Deutschland |
| Mistral | Mistral über La Plateforme | mistral-large |
mistral-small |
EU |
Das schnelle Modell wird für Klassifikation, Titelgenerierung und Qualitätsprüfung verwendet, das Antwortmodell für die eigentliche Antwortgenerierung.
Technische Umsetzung
Der Anbieter wird über die RAG-API-Einstellung LLM_PROVIDER (inovetra | mistral) gesteuert. Der Wert wird in der ConfigMap inovetra-rag-runtime-settings gespeichert (upgrade-persistent) und über den Helm-Value ragApi.llmProvider (Default inovetra) initialisiert.
Automatischer Neustart
Das Umschalten des Anbieters löst automatisch einen Neustart der betroffenen Dienste aus (RAG API + LibreChat-Pods). Eine manuelle Aktion ist nicht erforderlich.
Embeddings bleiben unverändert
Das Embedding-Modell (bge-m3) ist providerunabhängig. Ein Anbieterwechsel erfordert keine Neuindexierung der Dokumente.
Mistral im zentralen LiteLLM voraussetzen
Damit der Anbieter Mistral funktioniert, müssen im zentralen LiteLLM (llm.inovetra.ai, Management-VM) die Modelle mistral-large (mistral/mistral-large-latest) und mistral-small (mistral/mistral-small-latest) konfiguriert sein. Dazu gehört ein gültiger MISTRAL_API_KEY in der .env der Management-VM, der im environment:-Block des Compose-Service litellm durchgereicht wird. Die lokalen K8s-LiteLLM-Configs routen Mistral ausschließlich über den zentralen Proxy (centralLlmProxy.enabled=true).
Endbenutzer-Modelle (LibreChat)¶
Endbenutzer sehen in LibreChat zwei fest konfigurierte Presets — keine Modellauswahl:
| Preset | Modell (fest) | Beschreibung |
|---|---|---|
| Inovetra RAG | rag-inovetra-reasoning |
RAG-basierter Assistent mit Zugriff auf Unternehmensdokumente |
| Inovetra AI | providerabhängig (llama-3.1-405b / mistral-large) |
Chat-Assistent ohne Dokumentenzugriff |
ModelSpecs
Die Modell-Presets werden durch modelSpecs.enforce: true erzwungen. Endbenutzer können das Modell nicht wechseln.
RAG- und Chat-Antwortgenerierung sind providerabhängig
Die eigentliche Antwortgenerierung — sowohl für Inovetra RAG als auch für das Inovetra-AI-Preset — verwendet das Antwortmodell des aktuell gewählten KI-Modellanbieters: llama-3.1-405b bei Inovetra AI, mistral-large bei Mistral. Auch die Titelgenerierung in LibreChat folgt dem gewählten Anbieter. Die Modell-ID des RAG-Presets steuert primär die UI-Darstellung (z.B. Reasoning-Anzeige).
LibreChat-UI (ab 0.79.7)
Die LibreChat-Oberfläche wurde aufgeräumt: Die Agents-Funktion ist deaktiviert (ENDPOINTS=custom, interface.agents: false), Prompts-Bibliothek und Erinnerungen sind ausgeblendet (interface.prompts: false, interface.memories: false). Es bleiben nur die zwei Assistenten Inovetra RAG und Inovetra AI.
RAG-interne Modelle¶
Diese Modelle werden intern von der RAG API verwendet und sind nicht vom Endbenutzer wählbar. Antwort- und schnelles Modell hängen vom gewählten KI-Modellanbieter ab (Inovetra AI / Mistral):
| Modell (Inovetra AI / Mistral) | Zweck |
|---|---|
llama-3.1-405b / mistral-large |
RAG-Antwortgenerierung |
llama-3.1-8b / mistral-small |
Query-Klassifikation (simple/complex) |
llama-3.1-8b / mistral-small |
Groundedness-Verifikation (Faktenprüfung) |
llama-3.1-8b / mistral-small |
Context Overflow Summarization (bei >128K Tokens, ab v0.47.0) |
llama-3.1-8b / mistral-small |
Titel-Generierung für Konversationen |
llama-3.1-8b / mistral-small |
Search-Endpoint (RetrievalQA) |
llama-3.1-8b / mistral-small |
Dokument-Zusammenfassungen (Inventory) |
llama-3.3-70b |
Contextual Chunking (bei Dokument-Upload, konfigurierbar via ragApi.llmModel) |
Embedding-Modelle¶
| Modell | Betrieb | Zweck |
|---|---|---|
BAAI/bge-m3 |
Lokal via Embedding Service (ONNX) | Vektorisierung — bevorzugt |
bge-m3 |
Über LiteLLM-Proxy | Vektorisierung — Fallback wenn kein lokaler Embedding Service |
Lokaler Embedding Service
Wenn der Embedding Service aktiviert ist (embeddingService.replicas > 0), werden Embeddings lokal berechnet — ohne externe API-Aufrufe. Dies reduziert Latenz und Kosten.
Reranker¶
| Modell | Betrieb | Zweck |
|---|---|---|
cross-encoder/ms-marco-MiniLM-L-6-v2 |
Lokal in RAG API | Re-Ranking der Suchergebnisse nach Relevanz |
Modellverwaltung¶
- Über Customer Portal → Einstellungen → Modelle
- Modelle aktivieren/deaktivieren
- Reihenfolge anpassen
Zentrale Freischaltung erforderlich
Die verfügbaren Modelle werden durch die zentrale LiteLLM-Instanz bestimmt. Neue Modelle müssen zuerst dort freigeschaltet werden.
RAG-Modell-Konfiguration (Helm Values)¶
| Parameter | Standard | Beschreibung |
|---|---|---|
ragApi.embeddingModel |
bge-m3 |
Embedding-Modell für Vektorisierung |
ragApi.llmModel |
llama-3.3-70b |
Modell für Contextual Chunking bei Dokument-Upload |
ragApi.enableContextualChunks |
true |
Kontextuelles Chunking aktivieren |
Neuindexierung bei Embedding-Modell-Wechsel
Ein Wechsel des Embedding-Modells erfordert eine vollständige Neuindexierung aller Dokumente. Dies kann je nach Dokumentenmenge mehrere Stunden dauern.