🧠 Fehlerbehebung bei RAG (Retrieval-Augmented Generation)
Retrieval-Augmented Generation (RAG) ermöglicht es Sprachmodellen, externe Inhalte – Dokumente, Wissensdatenbanken und mehr – zu verarbeiten, indem relevante Informationen abgerufen und dem Modell zugeführt werden. Wenn jedoch Dinge nicht wie erwartet funktionieren (z. B. das Modell "halluziniert" oder vergisst relevante Informationen), ist oft nicht das Modell schuld – es ist ein Kontextproblem.
Lassen Sie uns die häufigsten Ursachen und Lösungen aufschlüsseln, damit Sie die Genauigkeit Ihres RAG verbessern können! 🚀
Häufige RAG-Probleme und wie man sie behebt 🛠️
1. Das Modell "kann" Ihren Inhalt nicht "sehen" 👁️❌
Dies ist das häufigste Problem – und es wird typischerweise durch Probleme während Ihres Inhaltsaufnahmevorgangs verursacht. Das Modell halluziniert nicht, weil es falsch liegt, sondern weil ihm von Anfang an nicht die richtigen Inhalte gegeben wurden.
✅ Lösung: Überprüfen Sie Ihre Inhaltsextraktionseinstellungen
- Navigieren Sie zu: Admin-Einstellungen > Dokumente.
- Stellen Sie sicher, dass Sie eine robuste Inhaltsextraktions-Engine verwenden, wie z. B.
- Apache Tika
- Docling
- Benutzerdefinierte Extraktoren (abhängig von Ihren Dokumenttypen)
📌 Tipp: Versuchen Sie, ein Dokument hochzuladen und den extrahierten Inhalt in der Vorschau anzuzeigen. Wenn er leer ist oder wichtige Abschnitte fehlen, müssen Sie Ihre Extraktoreinstellungen anpassen oder eine andere Engine verwenden.
2. Nur ein kleiner Teil des Dokuments wird verwendet 📄➡️✂️
Open WebUI ist so konzipiert, dass es standardmäßig mit Modellen mit begrenzten Kontextfenstern funktioniert. Viele lokale Modelle (z. B. die Standardmodelle von Ollama) sind beispielsweise auf 2048 Tokens beschränkt. Aus diesem Grund kürzt Open WebUI den abgerufenen Inhalt aggressiv, um in den angenommenen verfügbaren Speicher zu passen.
✅ Lösungen
- Gehen Sie zu Admin-Einstellungen > Dokumente
- Entweder
- 💡 "Bypass Embedding and Retrieval" aktivieren – Dies sendet den vollständigen Inhalt direkt, ohne strenge Abruffilter anzuwenden.
- 🔍 "Full Context Mode" aktivieren – Dies fügt dem Modell-Prompt umfassendere Inhalte hinzu.
📌 Achtung: Achten Sie auf Kontextgrenzen – wenn Ihr Modell nicht mehr Tokens verarbeiten kann, werden sie trotzdem abgeschnitten.
3. Token-Limit ist zu kurz ⏳
Selbst wenn der Abruf funktioniert, kann es sein, dass Ihr Modell nicht alle empfangenen Inhalte verarbeitet – weil es einfach nicht kann.
Standardmäßig sind viele Modelle (insbesondere Ollama-gehostete LLMs) auf ein 2048-Token-Kontextfenster beschränkt. Das bedeutet, dass nur ein Bruchteil Ihrer abgerufenen Daten tatsächlich verwendet wird.
✅ Lösungen
- 🛠️ Erweitern Sie die Kontextlänge des Modells
- Navigieren Sie zum Modell-Editor oder zu den Chat-Steuerungen
- Ändern Sie die Kontextlänge (z. B. erhöhen Sie auf 8192+ Tokens, wenn unterstützt)
ℹ️ Hinweis: Der Standardwert von 2048 Tokens ist eine große Einschränkung. Für bessere RAG-Ergebnisse empfehlen wir die Verwendung von Modellen, die längere Kontexte unterstützen.
✅ Alternative: Verwenden Sie ein externes LLM mit größerer Kontextkapazität
- Probieren Sie GPT-4, GPT-4o, Claude 3, Gemini 1.5 oder Mixtral mit 8k+ Kontext
- Vergleichen Sie die Leistung mit Ollama – bemerken Sie den Genauigkeitsunterschied, wenn mehr Inhalte eingefügt werden können!
📌 Tipp: Bleiben Sie bei externen Modellen für bessere RAG-Leistung in Produktionsanwendungsfällen.
4. Einbettungsmodell ist von geringer Qualität oder nicht aufeinander abgestimmt 📉🧠
Schlechte Einbettungen = schlechter Abruf. Wenn die Vektordarstellung Ihres Inhalts schlecht ist, ruft der Retriever nicht die richtigen Inhalte ab – egal wie leistungsfähig Ihr LLM ist.
✅ Lösung
- Wechseln Sie zu einem hochwertigen Einbettungsmodell (z. B. all-MiniLM-L6-v2, Instructor X oder OpenAI-Einbettungen)
- Gehen Sie zu: Admin-Einstellungen > Dokumente
- Stellen Sie nach dem Wechsel des Modells sicher, dass Sie
- ⏳ Alle vorhandenen Dokumente neu indizieren, damit die neuen Einbettungen wirksam werden.
📌 Denken Sie daran: Die Qualität der Einbettungen wirkt sich direkt darauf aus, welche Inhalte abgerufen werden.
5. ❌ 400: 'NoneType' object has no attribute 'encode'
Dieser Fehler weist auf ein falsch konfiguriertes oder fehlendes Einbettungsmodell hin. Wenn Open WebUI versucht, Einbettungen zu erstellen, aber kein gültiges Modell geladen hat, kann es den Text nicht verarbeiten – und das Ergebnis ist dieser kryptische Fehler.
💥 Ursache
- Ihr Einbettungsmodell ist nicht richtig eingerichtet.
- Es wurde möglicherweise nicht vollständig heruntergeladen.
- Oder wenn Sie ein externes Einbettungsmodell verwenden, ist es möglicherweise nicht zugänglich.
✅ Lösung
- Gehen Sie zu: Admin-Einstellungen > Dokumente > Einbettungsmodell
- Speichern Sie das Einbettungsmodell erneut – auch wenn es bereits ausgewählt ist. Dies erzwingt eine erneute Prüfung/einen erneuten Download.
- Wenn Sie ein Remote-/externes Einbettungstool verwenden, stellen Sie sicher, dass es läuft und für Open WebUI zugänglich ist.
📌 Tipp: Versuchen Sie nach der Behebung der Konfiguration, ein Dokument neu einzubetten und überprüfen Sie, ob im Protokoll kein Fehler angezeigt wird.
🧪 Profi-Tipp: Testen Sie mit GPT-4o oder GPT-4
Wenn Sie sich nicht sicher sind, ob das Problem bei der Abfrage, den Token-Limits oder der Einbettung liegt – versuchen Sie vorübergehend, GPT-4o zu verwenden (z. B. über die OpenAI-API). Wenn die Ergebnisse plötzlich genauer werden, ist dies ein starkes Indiz dafür, dass die Kontextgrenze Ihres lokalen Modells (standardmäßig 2048 in Ollama) die Engstelle ist.
- GPT-4o verarbeitet größere Eingaben (128k Tokens!)
- Bietet einen hervorragenden Maßstab zur Bewertung der RAG-Zuverlässigkeit Ihres Systems
Zusammenfassende Checkliste ✅
| Problem | Behebung |
|---|---|
| 🤔 Modell kann Inhalt nicht "sehen" | Überprüfen Sie die Einstellungen des Dokumentextraktors |
| 🧹 Nur ein Teil des Inhalts wird verwendet | Full Context Mode oder Bypass Embedding aktivieren |
| ⏱ Begrenzt durch 2048 Token-Limit | Modell-Kontextlänge erhöhen oder LLM mit großem Kontext verwenden |
| 📉 Ungenaue Abfrage | Zu einem besseren Einbettungsmodell wechseln, dann neu indizieren |
| Immer noch verwirrt? | Mit GPT-4o testen und Ausgaben vergleichen |
Durch die Optimierung dieser Bereiche – Extraktion, Einbettung, Abruf und Modellkontext – können Sie die Genauigkeit, mit der Ihr LLM mit Ihren Dokumenten arbeitet, drastisch verbessern. Lassen Sie nicht zu, dass ein 2048-Token-Fenster oder eine schwache Abrufpipeline die Leistung Ihrer KI einschränkt 🎯.