Während es aktive Forschung zu Alternativen zur Transformer-Architektur gibt, die besser mit längeren Sequenzlängen umgehen können (siehe z.B. selective state space models), haben die letzten zwei Jahre den Aufstieg der Retrieval Augmented Generation (RAG) als weitere Lösung für dieses Problem gezeigt.
Bei RAG wird der Prompt für das LLM mit allen notwendigen Kontextinformationen zur Beantwortung der Frage angereichert, aber nicht mit dem gesamten Dokument bzw. den gesamten Dokumenten. Dies vermeidet die Notwendigkeit großer Kontextfenster, da normalerweise nur wenige kurze Sätze oder Absätze für die Beantwortung der Frage relevant sind. Forschungsergebnisse zeigen, dass dies sogar zu besseren Qualitätsergebnissen führen kann als ein für die spezifische Aufgabe feinabgestimmtes Modell!
Wie RAG funktioniert
Die Frage bleibt, wie man an die relevanten Kontextinformationen kommt. Dies ist ein mehrstufiger Prozess:
- Die Bedeutung des Dokuments (wie .pdf, .doc, .md) wird in einen Vektor kodiert, der die semantischen Informationen überträgt, genannt Embedding. Dies geschieht mithilfe eines Encoder-Modells wie Bert und ist sowohl günstig als auch schnell.
- Diese Embeddings werden in einer Datenbank mit einer Zuordnung zum ursprünglichen Dokument gespeichert. Neue, spezialisierte Vektordatenbanken wie qdrant oder pinecone sind entstanden, aber die meisten traditionellen Datenbanken unterstützen jetzt auch Vektoren, z.B. Postgres mit der pgvector-Erweiterung.
- Wenn der Benutzer nun das LLM befragt, wird die Frage zunächst genau wie die Dokumente in ein Embedding kodiert. Dann werden die Dokument-Embeddings gesucht, die den Frage-Embeddings am ähnlichsten sind. Diese Suche ist extrem schnell und kostengünstig, selbst bei Millionen von Embeddings.
- Mit den Dokument-Embeddings, die der Frage am ähnlichsten sind, wird deren entsprechender Dokumentinhalt nachgeschlagen und dem Kontext des LLM hinzugefügt.
- Mit diesem angereicherten Kontext kann das LLM nun qualitativ hochwertige Antworten liefern.
Wie wir Ihnen helfen können
Wir bieten maßgeschneiderte RAG-Lösungen für Ihre Bedürfnisse:
- Entwicklung individueller Pipelines: Konzeption und Implementierung von RAG-Systemen für Ihren spezifischen Anwendungsfall
- Modelloptimierung: Auswahl und Feinabstimmung von Embedding-Modellen für optimale Leistung
- Datenintegration: Nahtlose Verbindung mehrerer Datenquellen
- Cloud-Deployment: Professionelle Implementierung in Ihrer bevorzugten Cloud-Umgebung