← 返回列表

KI-Serie Interviewfragen 11: Wie optimiert man RAG?

Die Optimierung von RAG ist keine Anpassung einer einzelnen Komponente, sondern ein prozessübergreifender Optimierungsprozess. Im Folgenden gebe ich systematische Optimierungsstrategien aus den vier Dimensionen Datenindexierungsseite, Retrieval-Seite, Generierungsseite und Evaluierungsseite sowie praktische Erfahrungen, die im Vorstellungsgespräch erwähnt werden können.


1. Optimierung auf der Datenindexierungsseite (Verbesserung der "Wissensdatenbank"-Qualität)

Dies ist der am meisten übersehene, aber am schnellsten wirkende Bereich.

Optimierungspunkt Problemerscheinung Konkrete Maßnahme Wirkungsindikator
Dokumentenanalyse Tabellen und Flussdiagramme in PDFs werden ignoriert, oder Text ist verstümmelt oder in falscher Reihenfolge. Verwenden Sie bessere Analysebibliotheken (z.B. unstructured, pypdf mit Layout-Erhaltungsmodus); extrahieren Sie Tabellen mit pandas und konvertieren Sie sie in Markdown. Recall +5~15%
Chunk-Größe Zu kleiner Chunk verliert Kontext (z.B. Referenz in "Sein Umsatzwachstum in diesem Jahr"); zu großer Chunk führt zu viel Rauschen beim Retrieval. Experimentieren Sie mit verschiedenen Chunk-Größen (256/512/768 Token), Overlap von 10~20%; für lange Dokumente semantisch (Absätze/Überschriften) statt fester Länge segmentieren. Hit-Rate / Faithfulness
Metadaten-Anhängung Relevante Passagen werden gefunden, aber Quelle oder Zeitpunkt sind nicht zurückverfolgbar, oder domänenspezifische Filterung erforderlich. Fügen Sie Metadaten zu jedem Chunk hinzu: source (Dateiname/URL), timestamp, page_num, doc_type. Verwenden Sie Filter beim Retrieval (z.B. doc_type == 'legal'). Filtergenauigkeit
Embedding-Modellauswahl Allgemeines Embedding schneidet in vertikalen Domänen (Medizin, Code, Recht) schlecht ab. Verwenden Sie domänenfeinabgestimmte Modelle (BGE-large-zh, GTE-Qwen2-7B-instruct) oder feinabstimmen Sie Ihr eigenes Embedding-Modell (mit Triplet Loss). Retrieval MRR@10 +10~20%

2. Optimierung auf der Retrieval-Seite (Präziseres "Nachschlagen")

Das Retrieval bestimmt die Qualität der "Referenzmaterialien", die dem LLM zugeführt werden.

Optimierungspunkt Problemerscheinung Konkrete Maßnahme Wirkung
Hybrides Retrieval Vektor-Retrieval kann exakte Begriffe (wie Produktmodell ABC-123) nicht abgleichen, Keyword-Retrieval versteht keine Synonyme. Verwenden Sie gleichzeitig Vektor-Retrieval (semantisch) und BM25 (Keywords) und kombinieren Sie sie durch Gewichtung (z.B. 0.7Vektor + 0.3BM25) oder Reranking. Recall +10~25%
Reranking Die ersten Ergebnisse des Vektor-Retrievals sind nicht unbedingt am relevantesten; das 10. könnte das beste sein. Verwenden Sie ein Cross-Encoder-Modell (z.B. BGE-reranker-v2, Cohere Rerank), um die Kandidaten (z.B. Top-20) neu zu bewerten und Top-K auszuwählen. Deutliche Verbesserung der Trefferquote (insbesondere Top-1)
Query-Umschreibung Benutzerfrage ist vage oder Mehrfachdialog mit undeutlichen Referenzen ("Was kostet es?"). Lassen Sie das LLM die ursprüngliche Frage in eine für das Retrieval geeignetere Form umschreiben (z.B. "Wie viel kostet das iPhone 15?") oder ergänzen Sie sie mit Dialoghistorie. Recall +5~15%
HyDE Benutzerfrage ist zu kurz oder zu abstrakt (z.B. "Erklären Sie Photosynthese"), direktes Retrieval ist schlecht. Lassen Sie das LLM zunächst eine hypothetische Antwort generieren und verwenden Sie diese zum Retrieval. Geeignet für offene Domänen, nicht für faktenbasierte präzise Fragen
Anpassung der Retrieval-Anzahl Top-K Zu kleines K kann wichtige Informationen verpassen; zu großes K erhöht Tokenverbrauch und Rauschen. Experimentieren Sie mit K=3/5/10 und beobachten Sie das Gleichgewicht zwischen Recall und Antwortgenauigkeit. Effizienz vs. Effekt

3. Optimierung auf der Generierungsseite (LLM die Referenzen gut nutzen lassen)

Selbst bei perfektem Retrieval nützt es nichts, wenn das Prompt oder das Modell nicht stimmt.

Optimierungspunkt Problemerscheinung Konkrete Maßnahme Wirkung
Prompt Engineering LLM ignoriert Retrieval-Inhalte oder erfindet Dinge. Klare Anweisung: "Beantworten Sie die Frage nur anhand der folgenden Referenzen. Wenn die Informationen unzureichend oder nicht relevant sind, antworten Sie 'Nicht genügend Informationen'." Fügen Sie few-shot examples hinzu, die zeigen, wie Quellen zitiert werden. Faithfulness +20~40%
Kontextkompression Abgerufene Inhalte sind zu lang (über Kontextfenster) oder größtenteils Rauschen. Verwenden Sie LLMLingua oder Selective Context zur Komprimierung und behalten Sie nur die relevantesten Sätze. Reduziert Risiko von Informationsverlust
LLM-Modell-Upgrade Kleines Modell (7B) kann keine komplexen Schlussfolgerungen ziehen oder sich lange Kontexte nicht merken. Wechseln Sie zu stärkeren Modellen (GPT-4o, Claude 3.5 Sonnet, Qwen2.5-72B). Deutliche Verbesserung der Schlussfolgerungsgenauigkeit
Streaming und Zitate Benutzer können die Glaubwürdigkeit der Antwort nicht überprüfen. Lassen Sie das LLM während der Generierung [citation:1] ausgeben, das auf die Nummer des abgerufenen Dokuments verweist. Auf der Backend-Seite fügen Sie den Original-Link hinzu. Benutzervertrauen + Debugging-Fähigkeit
Kalibrierung der Antwortverweigerung Das Modell erfindet Dinge, wenn es nicht antworten sollte, oder sagt "weiß nicht", wenn es antworten sollte. Setzen Sie einen Ähnlichkeitsschwellenwert: Wenn die Kosinus-Ähnlichkeit des Top-1-Chunks mit der Frage unter 0,7 liegt, weisen Sie das LLM an, "Die Informationen sind nicht relevant" zu antworten. Reduziert Halluzinationsrate

4. Evaluierungs- und Iterationsseite (Wissen, wohin optimiert werden muss)

Ohne Metriken keine Optimierung.

Optimierungspunkt Maßnahme Metrik
Erstellung eines Evaluierungssets Bereiten Sie 100-300 echte Benutzerfragen + Standardantworten + korrekte Retrieval-Dokument-IDs vor. Abdeckung verschiedener Schwierigkeitsgrade und Intentionen.
Automatisierte Evaluierung Verwenden Sie RAGAS (Faithfulness, Answer Relevance, Context Recall) oder TruLens. Drei Kernmetriken: Faithfulness, Answer Relevance, Context Recall.
Manuelle Evaluierung Testen Sie wöchentlich 20 Bad Cases und analysieren Sie die Fehlertypen (Retrieval-Fehler / Generierungsfehler / fehlende Wissensbasis). Priorisierung der Verbesserungen.
A/B-Testing Testen Sie in der Produktionsumgebung verschiedene Retrieval-Strategien (z.B. BM25 vs. hybrides Retrieval) in getrennten Gruppen. Online-Metriken: Benutzerzufriedenheit, Rate fehlender Antworten.

5. Im Vorstellungsgespräch erwähnbare "praktische Erfahrungen" (Bonus)

"In meinem RAG-Projekt lag die Basis-Trefferquote zunächst bei nur 67%. Ich habe drei Dinge getan:
1. Umstellung von fester Chunk-Größe 1024 auf dynamische semantische Segmentierung (nach Überschrift + Absatz), Trefferquote auf 74%.
2. Hinzufügen von hybridem Retrieval (Vektor + BM25) und einem kleinen Rerank-Modell, Trefferquote auf 83%.
3. Optimierung des Prompts und erzwungene Angabe von [Keine relevanten Informationen gefunden], Halluzinationsrate von 22% auf unter 5% gesenkt.

Außerdem haben wir eine kontinuierliche Evaluierungspipeline aufgebaut. Vor jeder Änderung werden die RAGAS-Scores für 200 Fragen gemessen, um sicherzustellen, dass es keine Regression gibt."


Abschließende Zusammenfassung: Eine vollständige Roadmap zur RAG-Optimierung

Datenebene ─→ Dokumentenbereinigung, Chunk-Optimierung, Metadatenanreicherung, domänenspezifisches Embedding
Retrieval-Ebene ─→ Hybrides Retrieval, Reranking, Query-Umschreibung, HyDE, Top-K-Optimierung
Generierungsebene ─→ Prompt-Verstärkung, Anweisungsanforderungen, Komprimierung, Zitierung, Ablehnungsschwellenwert
Evaluierungsebene ─→ Evaluierungsset, RAGAS, manuelle Analyse, A/B-Experimente

评论

暂无已展示的评论。

发表评论(匿名)