Zum Inhalt springen

„retrieval augmented generation (RAG)“ – Versionsunterschied

aus AufEinWort, der freien Forschung
[ungesichtete Version][ungesichtete Version]
Die Seite wurde neu angelegt: „<p>Unter '''Retrieval-Augmented Generation''' ('''RAG''') versteht man ein [https://de.wikipedia.org/wiki/Software Softwaresystem], welches [https://de.wikipedia.org/wiki/Information_Retrieval Information Retrieval] mit einem [https://de.wikipedia.org/wiki/Large_Language_Model Large Language Model]kombiniert. Eine Abfrage, welche an das System gestellt wird, kann hierbei auf Informationen aus (externen) Informationsquellen, [https://de.wikipedia.org/wiki/…“
 
K Textersetzung - „Kategorie:künstliche Intelligenz (KI)“ durch „Kategorie:Künstliche Intelligenz“
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<p>Unter '''Retrieval-Augmented Generation''' ('''RAG''') versteht man ein [https://de.wikipedia.org/wiki/Software Softwaresystem], welches [https://de.wikipedia.org/wiki/Information_Retrieval Information Retrieval] mit einem [https://de.wikipedia.org/wiki/Large_Language_Model Large Language Model]kombiniert. Eine Abfrage, welche an das System gestellt wird, kann hierbei auf Informationen aus (externen) Informationsquellen, [https://de.wikipedia.org/wiki/Datenbank Datenbanken] oder dem [https://de.wikipedia.org/wiki/World_Wide_Web World Wide Web] zugreifen statt nur auf die Trainingsdaten des Modells.<sup id="cite_ref-itir_1-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-itir-1 <span class="cite-bracket">[</span>1<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-aips_2-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-aips-2 <span class="cite-bracket">[</span>2<span class="cite-bracket">]</span>]</sup> Dies erhöht die Genauigkeit und Robustheit der generierten Inhalte, indem es die Modelle mit aktuellen und spezifischen Informationen versorgt.<sup id="cite_ref-aigc_3-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-aigc-3 <span class="cite-bracket">[</span>3<span class="cite-bracket">]</span>]</sup> Typische Anwendungsfälle sind der Zugriff von Chatbots auf interne (Unternehmens-)Daten oder die Bereitstellung von Sachinformationen, die ausschließlich aus verlässlichen Quellen stammen sollen.</p><div class="mw-heading mw-heading2">
[[retrieval]] [[augmented]] [[generation]]
 
Unter ''retrieval augmented generation'' ('''RAG''') versteht man ein [[Software]]system, welches [[Information Retrieval]] mit einem [[Large Language Model]] kombiniert. Eine Abfrage, welche an das System gestellt wird, kann hierbei auf Informationen aus (externen) Informationsquellen, [[Datenbank]]en oder dem [[World Wide Web]] zugreifen statt nur auf die Trainingsdaten des Modells.<ref name="itir" /><ref name="aips" /> Dies erhöht die Genauigkeit und Robustheit der generierten Inhalte, indem es die Modelle mit aktuellen und spezifischen Informationen versorgt.<ref name="aigc" /> Typische Anwendungsfälle sind der Zugriff von Chatbots auf interne (Unternehmens-)Daten oder die Bereitstellung von Sachinformationen, die ausschließlich aus verlässlichen Quellen stammen sollen.
 
== Verfahren ==
== Verfahren ==
</div><p>''Retrieval-Augmented Generation'' besteht im Wesentlichen aus vier Stufen:</p>
 
#Datenindexierung
''Retrieval-Augmented Generation'' besteht im Wesentlichen aus vier Stufen:
#Datenabruf
 
#Augmentierung
# Datenindexierung
#Antwortgenerierung
# Datenabruf
<div class="mw-heading mw-heading3">
# Augmentierung
# Antwortgenerierung
 
=== Datenindexierung ===
=== Datenindexierung ===
</div><p>Die zu referenzierenden Daten werden im ersten Schritt in [https://de.wikipedia.org/wiki/Worteinbettung Worteinbettungen] umgewandelt und in einer [https://de.wikipedia.org/wiki/Vektordatenbank Vektordatenbank] indexiert. Die Daten können hierbei sowohl unstrukturiert (Texte, Bilder, Video, Audio), semistrukturiert, strukturiert (z.&nbsp;B. aus einer [https://de.wikipedia.org/wiki/Relationale_Datenbank relationalen Datenbank] oder einem [https://de.wikipedia.org/w/index.php?title=Wissensgraph&action=edit&redlink=1 Wissensgraphen]<sup id="cite_ref-kger_4-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-kger-4 <span class="cite-bracket">[</span>4<span class="cite-bracket">]</span>]</sup>) vorliegen. In der Vektordatenbank werden hierbei die Worteinbettungen mit den originalen Daten verknüpft.<sup id="cite_ref-aips_2-1" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-aips-2 <span class="cite-bracket">[</span>2<span class="cite-bracket">]</span>]</sup></p><p>Abhängig von der jeweiligen Implementierung können auch Suchanfragen an das System und die zugehörigen Antworten durch ein RAG-System indexiert werden.</p><div class="mw-heading mw-heading4">
 
==== Chunking (aufteilen der Daten) ====
Die zu referenzierenden Daten werden im ersten Schritt in [[Worteinbettung]]en umgewandelt und in einer [[Vektordatenbank]] indexiert. Die Daten können hierbei sowohl unstrukturiert (Texte, Bilder, Video, Audio), semistrukturiert, strukturiert (z.&nbsp;B. aus einer [[Relationale Datenbank|relationalen Datenbank]] oder einem Wissensgraphen<ref name="kger" />) vorliegen. In der Vektordatenbank werden hierbei die Worteinbettungen mit den originalen Daten verknüpft.<ref name="aips" />
</div><p>Im ersten Schritt werden die zu indexierenden Daten in kleinere Bestandteile (''Chunks'') aufgeteilt. Textdokumente können beispielsweise in kleinere Absätze aufgeteilt werden, während man Wissensgraphen in Sub-Graphen zerteilt. Bilder können nach den Objekten im Bild (Hund, Tisch, Gesicht etc.) mittels eines Segmentierungsmodells aufgeteilt werden.<sup id="cite_ref-5" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-5 <span class="cite-bracket">[</span>5<span class="cite-bracket">]</span>]</sup> Bei relationalen Datenbanken kann man das [https://de.wikipedia.org/wiki/Datenbankschema Datenbankschema] (z.&nbsp;B. [https://de.wikipedia.org/wiki/Data_Definition_Language DDL]) nach zusammengehörigen Tabellen aufteilen, welche fusioniert (z.&nbsp;B. "join") werden müssen.</p><p>Die einzelnen Bestandteile werden anschließend mit Annotationen versehen, um sie der ursprünglichen Datenquelle zuordnen zu können.</p><div class="mw-heading mw-heading4">
 
==== Token-Generierung ====
Abhängig von der jeweiligen Implementierung können auch Suchanfragen an das System und die zugehörigen Antworten durch ein RAG-System indexiert werden.
</div><p>Die einzelnen Chunks werden mittels eines [https://de.wikipedia.org/wiki/Tokenizer Tokenizers] in [https://de.wikipedia.org/wiki/Worteinbettung Worteinbettungen] (Token-Vektoren) übersetzt. Diese werden anschließend in der Vektordatenbank gemeinsam mit den Chunks und Annotationen gespeichert.</p><p>Bei Bildinformationen wird hier das Bild von einem Bild-zu-Text Modell in eine Beschreibung übersetzt und diese Beschreibung für die Worteinbettung verwendet. Seltener wird das Bild selbst codiert, denn hierfür wird ein geeigneter Tokenizer benötigt, welcher Bilddaten verarbeiten kann. Wenn Bild- und Textdaten in derselben Datenbank gespeichert werden sollen, wird ein ''multimodaler Tokenizer'' benötigt. Ähnliches gilt für das Verarbeiten von Audio- und Videodaten.</p><div class="mw-heading mw-heading4">
 
==== Chunking (Aufteilen der Daten) ====
 
Im ersten Schritt werden die zu indexierenden Daten in kleinere Bestandteile (''{{lang|en|Chunks}}'') aufgeteilt. Textdokumente können beispielsweise in kleinere Absätze aufgeteilt werden, während man Wissensgraphen in Sub-Graphen zerteilt. Bilder können nach den Objekten im Bild (Hund, Tisch, Gesicht etc.) mittels eines Segmentierungsmodells aufgeteilt werden.<ref>{{Literatur |Autor=Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick |Titel=Segment Anything |Datum=2023-04-05 |Sprache=en |arXiv=2304.02643 |DOI=10.48550/arXiv.2304.02643}}</ref> Bei relationalen Datenbanken kann man das [[Datenbankschema]] (z.&nbsp;B. [[Data Definition Language|DDL]]) nach zusammengehörigen Tabellen aufteilen, welche fusioniert (z.&nbsp;B. "join") werden müssen.
 
Die einzelnen Bestandteile werden anschließend mit Annotationen versehen, um sie der ursprünglichen Datenquelle zuordnen zu können.
 
==== Vektor-Generierung ====
 
Die einzelnen Chunks werden mittels [[Tokenisierung]] in Token zerlegt. Diese Token werden anschließend durch ein Einbettungsmodell in [[Worteinbettung]]en (Vektoren) übersetzt. Die Worteinbettungen werden dann in der Vektordatenbank gemeinsam mit den Chunks und Annotationen gespeichert.
 
Bei Bildinformationen wird hier das Bild von einem Bild-zu-Text Modell in eine Beschreibung übersetzt und diese Beschreibung für die Worteinbettung verwendet. Seltener wird das Bild selbst codiert, denn hierfür wird ein geeigneter Tokenizer benötigt, welcher Bilddaten verarbeiten kann. Wenn Bild- und Textdaten in derselben Datenbank gespeichert werden sollen, wird ein ''multimodaler Tokenizer'' benötigt. Ähnliches gilt für das Verarbeiten von Audio- und Videodaten.
 
==== Vernetzung von Daten ====
==== Vernetzung von Daten ====
</div><p>Komplexe RAG-Systeme besitzen die Möglichkeit die Daten miteinander automatisiert zu verknüpfen. Hierbei werden mittels eines Sprachmodells aus den indizierten Dokumenten ein Wissensgraph extrahiert und die innerhalb eines Dokuments beschriebenen Konzepte mit den jeweiligen Konzepten im Wissensgraphen verknüpft.<sup id="cite_ref-6" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-6 <span class="cite-bracket">[</span>6<span class="cite-bracket">]</span>]</sup> Diese Verknüpfung ermöglicht eine formale Analyse der zuvor nur unstrukturiert vorgelegenen Daten.</p><div class="mw-heading mw-heading3">
 
Komplexe RAG-Systeme besitzen die Möglichkeit, die Daten miteinander automatisiert zu verknüpfen. Hierbei werden mittels eines Sprachmodells aus den indizierten Dokumenten ein Wissensgraph extrahiert und die innerhalb eines Dokuments beschriebenen Konzepte mit den jeweiligen Konzepten im Wissensgraphen verknüpft.<ref>{{Literatur |Autor=Junde Wu, Jiayuan Zhu, Yunli Qi |Titel=Medical Graph RAG: Towards Safe Medical Large Language Model via Graph Retrieval-Augmented Generation |Datum=2024-08-17 |Sprache=en |arXiv=2408.04187 |DOI=10.48550/arXiv.2408.04187}}</ref> Diese Verknüpfung ermöglicht eine formale Analyse der zuvor nur unstrukturiert vorgelegenen Daten.
 
=== Datenabruf ===
=== Datenabruf ===
</div><p>Beim Datenabruf wird eine Suchanfrage des [https://de.wikipedia.org/wiki/Benutzer Benutzers] zuerst in eine Worteinbettung umgewandelt. Anschließend wird ermittelt, welche in der Vektordatenbank gespeicherten Daten mit der Abfrage des Benutzers [https://de.wikipedia.org/wiki/Semantik semantisch] [https://de.wikipedia.org/wiki/Korrelation korrelieren].<sup id="cite_ref-iss_7-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-iss-7 <span class="cite-bracket">[</span>7<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-aips_2-2" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-aips-2 <span class="cite-bracket">[</span>2<span class="cite-bracket">]</span>]</sup> Werden hierbei relevante Daten gefunden, werden diese gewichtet (''Ranking'') und gefiltert.</p><p>Für die Berechnung der Korrelation können unterschiedliche Verfahren zum Einsatz kommen. Typisch ist die Verwendung von ''Okapi BM25''<sup id="cite_ref-bm25_8-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-bm25-8 <span class="cite-bracket">[</span>8<span class="cite-bracket">]</span>]</sup>, SPLADE<sup id="cite_ref-9" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-9 <span class="cite-bracket">[</span>9<span class="cite-bracket">]</span>]</sup>, Dragon<sup id="cite_ref-10" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-10 <span class="cite-bracket">[</span>10<span class="cite-bracket">]</span>]</sup>, oder eine Kombination mehrerer Verfahren.</p><div class="mw-heading mw-heading4">
 
Beim Datenabruf wird eine Suchanfrage des [[Benutzer]]s zuerst in eine Worteinbettung umgewandelt. Anschließend wird ermittelt, welche in der Vektordatenbank gespeicherten Daten mit der Abfrage des Benutzers [[Semantik|semantisch]] [[Korrelation|korrelieren]].<ref name="iss" /><ref name="aips" /> Werden hierbei relevante Daten gefunden, werden diese gewichtet (''{{lang|en|Ranking}}'') und gefiltert.
 
Für die Berechnung der Korrelation können unterschiedliche Verfahren zum Einsatz kommen. Typisch ist die Verwendung von ''Okapi BM25''<ref name="bm25" />, SPLADE<ref>{{Internetquelle |url=https://github.com/naver/splade |titel=SPLADE |werk=[[GitHub]] |sprache=en |abruf=2024-08-17}}</ref>, Dragon<ref>{{Internetquelle |autor=Ayush Thakur |url=https://blog.stackademic.com/llmware-dragon-mistral-7b-v0-a-powerful-llm-for-rag-applications-760fc6add4b9 |titel=llmware/dragon-mistral-7b-v0: A Powerful LLM for RAG Applications |hrsg=Medium |datum=2023-12-22 |sprache=en |abruf=2024-08-16}}</ref>, oder eine Kombination mehrerer Verfahren.
 
==== Filterung ====
==== Filterung ====
</div><p>Die Filterung der Daten kann aus unterschiedlichen Gründen erfolgen. Hierbei gilt es die Vertraulichkeit der Daten, [https://de.wikipedia.org/wiki/Jugendschutz Jugendschutz]-Einschränkungen, Urheberrechte und ähnliches zu berücksichtigen.</p><div class="mw-heading mw-heading4">
 
Die Filterung der Daten kann aus unterschiedlichen Gründen erfolgen. Hierbei gilt es die Vertraulichkeit der Daten, [[Jugendschutz]]-Einschränkungen, Urheberrechte und ähnliches zu berücksichtigen.
 
==== Rephrasing ====
==== Rephrasing ====
</div><p>Einige Systeme können die Suchergebnisse mittels eines Sprachmodells auf Relevanzkritieren bewerten. Werden keine relevanten Daten gefunden, kann ein weiter Agent die Anfrage des Benutzers umformulieren (''rephrasing'') und eine neue Suche starten. Das System wird darin beschränkt, wie viele Versuche es hat und/oder wie lange es hierfür Zeit hat.</p><p>Da bei diesem Verfahren mehrere zusätzliche Schritte benötigt werden, ergibt sich ein erhöhter Arbeits- und Zeitaufwand für das System, um ein Ergebnis zu liefern. Der Vorteil besteht in der höheren Wahrscheinlichkeit ein günstiges Suchergebnis zu erhalten.</p><div class="mw-heading mw-heading4">
 
Einige Systeme können die Suchergebnisse mittels eines Sprachmodells auf Relevanzkriterien bewerten. Werden keine relevanten Daten gefunden, kann ein weiterer Agent die Anfrage des Benutzers umformulieren (''{{lang|en|rephrasing}}'') und eine neue Suche starten. Das System wird darin beschränkt, wie viele Versuche es hat und/oder wie lange es hierfür Zeit hat.
 
Da bei diesem Verfahren mehrere zusätzliche Schritte benötigt werden, ergibt sich ein erhöhter Arbeits- und Zeitaufwand für das System, um ein Ergebnis zu liefern. Der Vorteil besteht in der höheren Wahrscheinlichkeit ein günstiges Suchergebnis zu erhalten.
 
==== Relationale Daten ====
==== Relationale Daten ====
</div><p>Bei relationalen Daten werden die Daten üblicherweise nicht vollständig in Dokumente umgewandelt und in der Vektordatenbank gespeichert, sondern nur das Datenschema. Bei der Suche wird das nötige Datenschema zurückgeliefert, aus dem ein Sprachmodell [https://de.wikipedia.org/wiki/SQL SQL]-Quelltext erzeugt (''Text-to-SQL''). Dieser wird auf der Datenbank ausgeführt, um die benötigten Informationen zu generieren.<sup id="cite_ref-11" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-11 <span class="cite-bracket">[</span>11<span class="cite-bracket">]</span>]</sup></p><p>Hierbei gilt zu beachten, dass der neuerzeugte Quelltext fehlerhaft oder schadhaft sein kann. Die Anfrage muss daher sowohl auf syntaktische Richtigkeit ([https://de.wikipedia.org/wiki/Halluzination_(K%C3%BCnstliche_Intelligenz) Halluzination] von nicht-existenden Tabellen oder Spalten), als auch die Schädlichkeit (z.&nbsp;B. mögliche [https://de.wikipedia.org/wiki/SQL-Injection SQL-Injection]) untersucht werden. Die Datenbankabfrage muss durch geeignete Rechtesetzung "Read-Only", also schreibgeschützt sein.</p><div class="mw-heading mw-heading3">
 
Bei relationalen Daten werden die Daten üblicherweise nicht vollständig in Dokumente umgewandelt und in der Vektordatenbank gespeichert, sondern nur das Datenschema. Bei der Suche wird das nötige Datenschema zurückgeliefert, aus dem ein Sprachmodell [[SQL]]-Quelltext erzeugt (''{{lang|en|Text-to-SQL}}''). Dieser wird auf der Datenbank ausgeführt, um die benötigten Informationen zu generieren.<ref>{{Internetquelle |autor=Pinterest Engineering |url=https://medium.com/pinterest-engineering/how-we-built-text-to-sql-at-pinterest-30bad30dabff |titel=How we built Text-to-SQL at Pinterest |hrsg=Medium |datum=2024-04-02 |sprache=en |abruf=2024-08-17}}</ref>
 
Hierbei gilt zu beachten, dass der erzeugte Quelltext fehlerhaft oder schadhaft sein kann. Die Anfrage muss daher sowohl auf syntaktische Richtigkeit ([[Halluzination (Künstliche Intelligenz)|Halluzination]] von nicht-existenden Tabellen oder Spalten), als auch die Schädlichkeit (z.&nbsp;B. mögliche [[SQL-Injection]]) untersucht werden. Die Datenbankabfrage muss durch geeignete Rechtesetzung "Read-Only", also schreibgeschützt sein.
 
=== Augmentierung ===
=== Augmentierung ===
</div><p>Im [https://de.wikipedia.org/wiki/Erweiterte_Realit%C3%A4t Augmentierungsprozess] werden anwendungsspezifische Daten, etwa ein [https://de.wikipedia.org/wiki/Systemprompt Systemprompt] und die [https://de.wikipedia.org/wiki/Metadaten Metadaten] des Benutzers, sowie die gefundenen Daten der Suchanfrage mit der Anfrage des Benutzers zusammengeführt.<sup id="cite_ref-aips_2-3" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-aips-2 <span class="cite-bracket">[</span>2<span class="cite-bracket">]</span>]</sup> Komplexe RAG-Systeme können hierbei die Anfrage des Benutzers in unterschiedliche [https://de.wikipedia.org/wiki/Wissensgebiet Wissensgebiete] aufteilen und spezifisch behandeln.</p><div class="mw-heading mw-heading3">
 
Im [[Erweiterte Realität|Augmentierungsprozess]] werden anwendungsspezifische Daten, etwa ein [[Systemprompt]] und die [[Metadaten]] des Benutzers, sowie die gefundenen Daten der Suchanfrage mit der Anfrage des Benutzers zusammengeführt.<ref name="aips" /> Komplexe RAG-Systeme können hierbei die Anfrage des Benutzers in unterschiedliche [[Wissensgebiet]]e aufteilen und spezifisch behandeln.
 
=== Antwortgenerierung ===
=== Antwortgenerierung ===
</div><p>Im letzten Schritt wird die augmentierte Suchanfrage in ein [https://de.wikipedia.org/wiki/Sprachmodell Sprachmodell] übergeben, welches die Daten mittels eines statistischen Modells in eine Antwort [https://de.wikipedia.org/wiki/Transformer_(Maschinelles_Lernen) transformiert]<sup id="cite_ref-llm_12-0" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-llm-12 <span class="cite-bracket">[</span>12<span class="cite-bracket">]</span>]</sup>.</p><p>Zudem wird die vom Sprachmodell generierte Antwort mit Referenzen auf die Quellen der Daten verknüpft (typischerweise über einen [https://de.wikipedia.org/wiki/Uniform_Resource_Identifier URI]), um dem Benutzer eine Nachvollziehbarkeit und Kontrollmöglichkeit der Antwort zu ermöglichen.</p><div class="mw-heading mw-heading2">
 
Im letzten Schritt wird die augmentierte Suchanfrage in ein [[Sprachmodell]] übergeben, welches die Daten mittels eines statistischen Modells in eine Antwort [[Transformer (Maschinelles Lernen)|transformiert]]<ref name="llm" />.
 
Zudem wird die vom Sprachmodell generierte Antwort mit Referenzen auf die Quellen der Daten verknüpft (typischerweise über einen [[Uniform Resource Identifier|URI]]), um dem Benutzer eine Nachvollziehbarkeit und Kontrollmöglichkeit der Antwort zu ermöglichen.
 
== Anwendungen ==
== Anwendungen ==
</div><p>Da RAG-Systeme eine Erweiterung zu klassischen [https://de.wikipedia.org/wiki/Suchmaschine Suchmaschinen] sind, sind die Einsatzbereiche überschneidend. Anwendungen für RAG-Systeme finden in der Kundenbetreuung<sup id="cite_ref-13" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-13 <span class="cite-bracket">[</span>13<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-14" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-14 <span class="cite-bracket">[</span>14<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-15" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-15 <span class="cite-bracket">[</span>15<span class="cite-bracket">]</span>]</sup>, der Analyse medizinischer Informationen<sup id="cite_ref-16" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-16 <span class="cite-bracket">[</span>16<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-17" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-17 <span class="cite-bracket">[</span>17<span class="cite-bracket">]</span>]</sup>, juristischen Recherchen<sup id="cite_ref-18" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-18 <span class="cite-bracket">[</span>18<span class="cite-bracket">]</span>]</sup>, der Bildung<sup id="cite_ref-19" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-19 <span class="cite-bracket">[</span>19<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-20" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-20 <span class="cite-bracket">[</span>20<span class="cite-bracket">]</span>]</sup>, wissenschaftlichen Forschung, Finanzanalyse<sup id="cite_ref-21" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-21 <span class="cite-bracket">[</span>21<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-22" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-22 <span class="cite-bracket">[</span>22<span class="cite-bracket">]</span>]</sup>, der Auswertung von Logdaten<sup id="cite_ref-23" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-23 <span class="cite-bracket">[</span>23<span class="cite-bracket">]</span>]</sup><sup id="cite_ref-24" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-24 <span class="cite-bracket">[</span>24<span class="cite-bracket">]</span>]</sup>, sowie allen anderen Anwendungen, bei denen das Auffinden von Informationen relevant ist.</p><div class="mw-heading mw-heading2">
 
Da RAG-Systeme eine Erweiterung zu klassischen [[Suchmaschine]]n sind, sind die Einsatzbereiche überschneidend. Anwendungen für RAG-Systeme finden in der Kundenbetreuung<ref>{{Internetquelle |autor=Keshav Unni |url=https://medium.com/tr-labs-ml-engineering-blog/better-customer-support-using-retrieval-augmented-generation-rag-at-thomson-reuters-4d140a6044c3 |titel=Better Customer Support Using Retrieval-Augmented Generation (RAG) at Thomson Reuters |hrsg=[[Medium]] |datum=2023-08-08 |sprache=en |abruf=2024-08-18}}</ref><ref>{{Internetquelle |autor=Tarunvel V S |url=https://medium.com/@TarunvelVS/rag-in-customer-support-aa971ff27ea8 |titel=RAG in Customer Support |hrsg=[[Medium]] |datum=2024-04-11 |sprache=en |abruf=2024-08-18}}</ref><ref>{{Internetquelle |autor=Adarsh |url=https://www.kommunicate.io/blog/rag-in-customer-service-chatbot/ |titel=Enhancing Customer Service with Retrieval-Augmented Generation (RAG) in AI Chatbots |hrsg=[https://www.kommunicate.io/ kommunicate.io] |datum=2024-08-06 |sprache=en |abruf=2024-08-18}}</ref>, der Analyse medizinischer Informationen<ref>{{Internetquelle |autor=Tanya Malhotra |url=https://www.marktechpost.com/2024/08/12/medgraphrag-an-ai-framework-for-improving-the-performance-of-llms-in-the-medical-field-through-graph-retrieval-augmented-generation-rag/ |titel=MedGraphRAG: An AI Framework for Improving the Performance of LLMs in the Medical Field through Graph Retrieval Augmented Generation (RAG) |datum=2024-08-12 |sprache=en |abruf=2024-08-16}}</ref><ref>{{Literatur |Autor=Junde Wu, Jiayuan Zhu, Yunli Qi |Titel=Medical Graph RAG: Towards Safe Medical Large Language Model via Graph Retrieval-Augmented Generation |Datum=2024-08-08 |arXiv=2408.04187 |DOI=10.48550/arXiv.2408.04187}}</ref>, juristischen Recherchen<ref>{{Internetquelle |autor=Arunim Samat |url=https://www.truelaw.ai/blog/legal-rag-vs-rag-a-technical-exploration-of-retrieval-systems |titel=Legal-RAG vs. RAG: A Technical Exploration of Retrieval Systems |hrsg=[https://www.truelaw.ai/ truelaw.ai] |datum=2024-03-23 |sprache=en |abruf=2024-08-16}}</ref>, der Bildung<ref>{{Internetquelle |url=https://www.elementx.ai/post/enhancing-education-with-rag |titel=Enhancing Education with RAG: How Universities Can Benefit |hrsg=[https://www.elementx.ai/ ElementX.ai] |sprache=en |abruf=2024-08-16}}</ref><ref>{{Internetquelle |url=https://myscale.com/blog/rag-ai-education-impact-case-studies/ |titel=Unveiling the Impact of RAG AI in Education: Real Case Studies Revealed |hrsg=[https://myscale.com/ MyScale] |datum=2024-03-17 |sprache=en |abruf=2024-08-16}}</ref>, wissenschaftlichen Forschung, Finanzanalyse<ref>{{Internetquelle |autor=Eduardo Alvarez |url=https://eduand-alvarez.medium.com/transforming-financial-services-with-rag-personalized-financial-advice-f58de9d2d7e0 |titel=Transforming Financial Services with RAG: Personalized Financial Advice |hrsg=[[Medium]] |datum=2024-04-05 |sprache=en |abruf=2024-08-16}}</ref><ref>{{Internetquelle |url=https://www.linkedin.com/pulse/embracing-rag-financial-services-new-frontier-ai-technologies-nzfme/ |titel=Embracing RAG in Financial Services: A New Frontier in AI Technologies |werk=[[LinkedIn]] Pulse |hrsg=RoSoft Ventures |datum=2023-11-11 |sprache=en |abruf=2024-08-16}}</ref>, der Auswertung von Logdaten<ref>{{Internetquelle |autor=Harikiran Akella |url=https://medium.com/@hari10.nitw/log-analysis-with-genai-with-handson-0e05224aed96 |titel=Log Analysis with GenAI — With HandsOn |hrsg=[[Medium]] |datum=2024-03-21 |sprache=en |abruf=2024-08-16}}</ref><ref>{{Literatur |Autor=Yi Xiao, Van-Hoang Le, Hongyu Zhang |Titel=Stronger, Cheaper and Demonstration-Free Log Parsing with LLMs |Datum=2024-06-12 |Sprache=en |arXiv=2406.06156 |DOI=10.48550/arXiv.2406.06156}}</ref>, sowie allen anderen Anwendungen, bei denen das Auffinden von Informationen relevant ist.
 
== Herausforderungen ==
== Herausforderungen ==
</div><p>RAG-Systeme weisen aufgrund einer Vielzahl an beteiligten Softwaresystemen und [https://de.wikipedia.org/wiki/Akteur Akteuren] eine hohe Komplexität in der Implementierung auf.</p><p>Zudem muss die Indexierung, die Gewichtung und die Filterung der Daten kontinuierlich an sich ständig ändernde Gegebenheiten angepasst und erweitert werden. Der Betrieb eines RAG-Systems ist somit nicht nur mit einem hohen Aufwand in der Implementierung, sondern auch mit einem kontinuierlichen Aufwand im Betrieb verbunden.</p><div class="mw-heading mw-heading2">
 
RAG-Systeme weisen aufgrund einer Vielzahl an beteiligten Softwaresystemen und [[Akteur]]en eine hohe Komplexität in der Implementierung auf.
 
Zudem muss die Indexierung, die Gewichtung und die Filterung der Daten kontinuierlich an sich ständig ändernde Gegebenheiten angepasst und erweitert werden. Der Betrieb eines RAG-Systems ist somit nicht nur mit einem hohen Aufwand in der Implementierung, sondern auch mit einem kontinuierlichen Aufwand im Betrieb verbunden.
 
== Softwarepakete ==
== Softwarepakete ==
</div><p>Für die Implementierung von RAG-Systemen gibt es Softwarepakete, welche Anwendungsspezifisch angepasst werden müssen. Hierbei unterscheidet man zwischen komplexen Software-[https://de.wikipedia.org/wiki/Framework Frameworks], welche eine umfangreiche [https://de.wikipedia.org/wiki/Dienstekomposition#Orchestrierung Orchestrierung] von KI-Agenten und [https://de.wikipedia.org/wiki/Programmierschnittstelle Programmierschnittstellen]ermöglichen, sowie Softwarepaketen, welche eine Low-Code Umgebung bereitstellen.</p>
 
{| class="wikitable sortable jquery-tablesorter"
Für die Implementierung von RAG-Systemen gibt es Softwarepakete, welche Anwendungsspezifisch angepasst werden müssen. Hierbei unterscheidet man zwischen komplexen Software-[[Framework]]s, welche eine umfangreiche [[Dienstekomposition#Orchestrierung|Orchestrierung]] von KI-Agenten und [[Programmierschnittstelle]]n ermöglichen, sowie Softwarepaketen, welche eine Low-Code Umgebung bereitstellen.
|+ Liste von Softwarepaketen zur Erstellung von RAG-Systemen<thead>
 
{| class="wikitable sortable"
|+ Liste von Softwarepaketen zur Erstellung von RAG-Systemen
 
(Stand: 3. Februar 2025)
! Softwarepaket !! Lizenz !! Beschreibung
|-
|-
! class="headerSort" title="Aufsteigend sortieren" role="columnheader button" | Softwarepaket
| [https://copilotstudio.microsoft.com/ Microsoft Copilot Studio] || [[Proprietär]] || Low-Code Web-Plattform in [[Microsoft 365]]
! class="headerSort" title="Aufsteigend sortieren" role="columnheader button" | Lizenz
! class="headerSort" title="Aufsteigend sortieren" role="columnheader button" | Beschreibung</thead>
|-
|-
| [https://copilotstudio.microsoft.com/ Microsoft Copilot Studio]
| [https://azure.microsoft.com/en-us/products/ai-studio Azure AI Studio] || [[Proprietär]] || Low-Code Web-Plattform in [[Microsoft Azure]]. Auch komplexe Orchestrierung möglich.
| [https://de.wikipedia.org/wiki/Propriet%C3%A4r Proprietär]
| Low-Code Web-Plattform in [https://de.wikipedia.org/wiki/Microsoft_365 Microsoft 365]
|-
|-
| [https://azure.microsoft.com/en-us/products/ai-studio Azure AI Studio]
| [https://microsoft.github.io/promptflow/ PromptFlow] || [[Open-Source]] || Technologie hinter Copilot Studio und Azure AI Studio. Ermöglicht eine komplexe Orchestrierung. Integration mit LangChain oder Semantic Kernel möglich.
| [https://de.wikipedia.org/wiki/Propriet%C3%A4r Proprietär]
| Low-Code Web-Plattform in [https://de.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure]. Auch komplexe Orchestrierung möglich.
|-
|-
| [https://microsoft.github.io/promptflow/ PromptFlow]
| [https://cloud.google.com/products/agent-builder Vertex AI Agent Builder] || [[Proprietär]] || Low-Code Web-Plattform der [[Google Cloud Platform|Google Cloud]]
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
| Technologie hinter Copilot Studio und Azure AI Studio. Ermöglicht eine komplexe Orchestrierung. Integration mit LangChain oder Semantic Kernel möglich.
|-
|-
| [https://cloud.google.com/products/agent-builder Vertex AI Agent Builder]
| [https://www.ibm.com/products/watsonx-ai watsonx] || [[Proprietär]] || Low-Code Orchestrierungs-Plattform von [[IBM]]
| [https://de.wikipedia.org/wiki/Propriet%C3%A4r Proprietär]
| Low-Code Web-Plattform der [https://de.wikipedia.org/wiki/Google_Cloud Google Cloud]
|-
|-
| [https://www.ibm.com/products/watsonx-ai watsonx]
| [https://www.mendable.ai/?ref=gfirecrawl Firecrawl] || [[Open-Source]] || API-Service zur Webseitenindexierung
| [https://de.wikipedia.org/wiki/Propriet%C3%A4r Proprietär]
| Low-Code Orchestrierungs-Plattform von [https://de.wikipedia.org/wiki/IBM IBM]
|-
|-
| [https://www.mendable.ai/?ref=gfirecrawl Firecrawl]
| [https://www.langchain.com/ LangChain] und [https://www.langchain.com/langgraph LangGraph] || [[Open-Source]] || Framework für Orchestrierung von KI-Systemen
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
| API-Service zur Webseitenindexierung
|-
|-
| [https://www.langchain.com/ LangChain] und [https://www.langchain.com/langgraph LangGraph]
| [https://github.com/microsoft/kernel-memory Kernel Memory] || [[Open-Source]] || Framework zur Erstellung von RAG-Systemen
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
| Framework für Orchestrierung von KI-Systemen
|-
|-
| [https://github.com/microsoft/kernel-memory Kernel Memory]
| [https://github.com/microsoft/semantic-kernel Semantic Kernel] || [[Open-Source]] || Framework für Orchestrierung von KI-Systemen
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
| Framework zur Erstellung von RAG-Systemen
|-
|-
| [https://github.com/microsoft/semantic-kernel Semantic Kernel]
| [https://haystack.deepset.ai/ Haystack] || [[Open-Source]] || Framework zur Erstellung von RAG-Systemen
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
| Framework für Orchestrierung von KI-Systemen
|-
|-
| [https://haystack.deepset.ai/ Haystack]
| [https://research.google/blog/realm-integrating-retrieval-into-language-representation-models/ REALM] || [[Open-Source]] || Google-Research-Projekt mit einer RAG-System Beispielimplementierung
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
| Framework zur Erstellung von RAG-Systemen
|-
|-
| [https://research.google/blog/realm-integrating-retrieval-into-language-representation-models/ REALM]
| [https://github.com/infiniflow/ragflow RAGFlow] || [[Open-Source]] || Ein Framework, das sich auf die Vereinfachung der Erstellung von RAG-basierten Anwendungen konzentriert, mit vorgefertigten Komponenten und Workflows.
| [https://de.wikipedia.org/wiki/Open-Source Open-Source]
|-
| [https://de.wikipedia.org/w/index.php?title=Google_Research&action=edit&redlink=1 Google-Research]-Projekt mit einer RAG-System Beispielimplementierung<tfoot></tfoot>
| [https://github.com/neuml/txtai txtai] || [[Open-Source]] || Eine KI-gestützte Datenplattform, die Such- und Frage-Antwort-Funktionen bietet und sich leicht in bestehende Systeme integrieren lässt.
|-
| [https://github.com/jerryjliu/llama_index LlamaIndex] || [[Open-Source]] || Ein Tool zum Aufbau von Indizes über Ihre Daten, um sie für LLMs (Large Language Models) zugänglich zu machen.
|-
| [https://github.com/explodinggradients/ragas RAGAS] || [[Open-Source]] || Ein Evaluierungsframework für RAG-Systeme, das Metriken zur Bewertung der Antwortqualität bietet.
|-
| [https://github.com/gkamradt/ragstack RAGstack] || [[Open-Source]] || Ein Stack zum Aufbau von RAG-Systemen mit Komponenten wie LangChain, FastAPI und anderen.
|-
| [https://github.com/hwchase17/rag-architect RAG Architect] || [[Open-Source]] || Ein Framework zur Erstellung von RAG-Systemen mit Fokus auf Modularität und Erweiterbarkeit.
|-
| [https://github.com/huggingface/transformers/tree/main/examples/research_projects/rag RAG End-to-End] || [[Open-Source]] || Ein End-to-End-Beispiel für die Implementierung von RAG mit den Transformers von Hugging Face.
|-
| [https://github.com/deepset-ai/haystack/tree/main/haystack/pipelines/rag RAG Pipeline] || [[Open-Source]] || Eine Pipeline innerhalb von Haystack zur Implementierung von RAG-Systemen.
|-
| [https://github.com/stanford-oval/storm STORM] || [[Open-Source]] || Ein von der Stanford OVAL entwickelte LLM-gestützte Wissenskurationssystem, das Wikipedia-ähnliche Artikel basierend auf Internetrecherchen erstellt.
|-
| [https://github.com/pathwaycom/llm-app LLM-App] || [[Open-Source]] || Ein Framework von Pathway, das die Erstellung von Anwendungen mit großen Sprachmodellen erleichtert.
|-
| [https://github.com/truefoundry/cognita Cognita] || [[Open-Source]] || Ein von TrueFoundry entwickeltes Tool zur Integration von Wissensdatenbanken in KI-gestützte Anwendungen.
|-
| [https://github.com/SciPhi-AI/r2r R2R] || [[Open-Source]] || Ein von SciPhi-AI entwickeltes Framework zur Implementierung von Retrieval-zu-Response-Systemen.
|-
| [https://github.com/satellitecomponent/neurite Neurite] || [[Open-Source]] || Ein von SatelliteComponent entwickeltes Tool zur neuronalen Informationsverarbeitung und -extraktion.
|-
| [https://github.com/RUC-NLPIR/flashrag FlashRAG] || [[Open-Source]] || Ein von RUC-NLPIR entwickeltes Framework für schnelle Retrieval-Augmented Generation.
|-
| [https://github.com/pinecone-io/canopy Canopy] || [[Open-Source]] || Ein von Pinecone entwickeltes Tool zur Verwaltung und Orchestrierung von Vektordatenbanken für RAG-Systeme.
|}
|}
<p>Zusätzlich gibt es auch fertige Softwarepakete wie Pieces for Developers, welche für das persönliche Datenmanagement eingesetzt werden können.<sup id="cite_ref-25" class="reference">[https://de.wikipedia.org/wiki/Retrieval_Augmented_Generation?wprov=srpw1_1#cite_note-25 <span class="cite-bracket">[</span>25<span class="cite-bracket">]</span>]</sup></p><p>Retrieval Augmented Generation wird zudem in einigen Suchmaschinen wie [https://de.wikipedia.org/wiki/Perplexity.ai Perplexity.ai], [https://de.wikipedia.org/wiki/Google_Gemini Google Gemini], [https://de.wikipedia.org/wiki/Microsoft_Bing Microsoft Bing], sowie [https://de.wikipedia.org/w/index.php?title=SearchGPT&action=edit&redlink=1 SearchGPT] eingesetzt.</p><div class="mw-heading mw-heading2">
 
Zusätzlich gibt es auch fertige Softwarepakete wie Pieces for Developers, welche für das persönliche Datenmanagement eingesetzt werden können.<ref>{{Internetquelle |url=https://pieces.app/ |titel=Pieces |abruf=2024-09-01}}</ref>
 
Retrieval Augmented Generation wird zudem in einigen Suchmaschinen wie [[Perplexity.ai]], [[Google Gemini]], [[Microsoft Bing]], sowie SearchGPT eingesetzt.
 
== Referenzen ==
== Referenzen ==
</div>
<references>
#<span class="reference-text">Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: <cite class="lang" dir="auto" lang="en">Introduction to Information Retrieval</cite>. Hrsg.: [https://de.wikipedia.org/wiki/Stanford_University Stanford University], [https://de.wikipedia.org/wiki/Ludwig-Maximilians-Universit%C3%A4t_M%C3%BCnchen Ludwig-Maximilians-Universität München]. 2009, [https://de.wikipedia.org/wiki/Spezial:ISBN-Suche/9780521865715 ISBN 978-0-521-86571-5] (englisch, [https://nlp.stanford.edu/IR-book/information-retrieval-book.html stanford.edu]).</span>
<ref name="itir">
#<span class="reference-text">Trey Grainger, Doug Turnbull, Max Irwin: <cite class="lang" dir="auto" lang="en">AI-Powered Search</cite>. Hrsg.: Manning. 2024, [https://de.wikipedia.org/wiki/Spezial:ISBN-Suche/9781617296970 ISBN 978-1-61729-697-0] (englisch, [https://www.manning.com/books/ai-powered-search manning.com] [abgerufen am 23.&nbsp;Juli 2024]).</span>
{{Literatur
#<span class="reference-text">Penghao Zhao et al.: <cite class="lang" dir="auto" lang="en">Retrieval-augmented generation for ai-generated content: A survey</cite>. 21.&nbsp;Juni 2024, [https://de.wikipedia.org/wiki/Digital_Object_Identifier doi]:<span class="uri-handle">[https://doi.org/10.48550/arXiv.2402.19473 10.48550/arXiv.2402.19473]</span>, [https://de.wikipedia.org/wiki/ArXiv arxiv]:[https://arxiv.org/abs/2402.19473 2402.19473] (englisch).</span>
|Autor=Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze
#<span class="reference-text">Tomaž Bratanič, Oskar Hane: <cite class="lang" dir="auto" lang="en">Knowledge Graph-Enhanced RAG</cite>. Hrsg.: Manning. 2024, [https://de.wikipedia.org/wiki/Spezial:ISBN-Suche/9781633436268 ISBN 978-1-63343-626-8] (englisch, [https://www.manning.com/books/knowledge-graph-enhanced-rag manning.com][abgerufen am 23.&nbsp;Juli 2024]).</span>
|Hrsg=[[Stanford University]], [[Ludwig-Maximilians-Universität München]]
#<span class="reference-text">Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick: <cite class="lang" dir="auto" lang="en">Segment Anything</cite>. 5.&nbsp;April 2023, [https://de.wikipedia.org/wiki/Digital_Object_Identifier doi]:<span class="uri-handle">[https://doi.org/10.48550/arXiv.2304.02643 10.48550/arXiv.2304.02643]</span>, [https://de.wikipedia.org/wiki/ArXiv arxiv]:[https://arxiv.org/abs/2304.02643 2304.02643] (englisch).</span>
|Titel=Introduction to Information Retrieval
#<span class="reference-text">Junde Wu, Jiayuan Zhu, Yunli Qi: <cite class="lang" dir="auto" lang="en">Medical Graph RAG: Towards Safe Medical Large Language Model via Graph Retrieval-Augmented Generation</cite>. 17.&nbsp;August 2024, [https://de.wikipedia.org/wiki/Digital_Object_Identifier doi]:<span class="uri-handle">[https://doi.org/10.48550/arXiv.2408.04187 10.48550/arXiv.2408.04187]</span>, [https://de.wikipedia.org/wiki/ArXiv arxiv]:[https://arxiv.org/abs/2408.04187 2408.04187] (englisch).</span>
|Datum=2009
#<span class="reference-text">Olesya Bondarenko: <cite class="lang" dir="auto" lang="en">Implement Semantic Search with ML and BERT</cite>. Hrsg.: Manning. (englisch, [https://www.manning.com/liveproject/implement-semantic-search-with-ml-and-bert manning.com] [abgerufen am 23.&nbsp;Juli 2024]).</span>
|ISBN=978-0-521-86571-5
#<span class="reference-text">Stephen E. Robertson, Hugo Zaragoza: <cite class="lang" dir="auto" lang="en">The Probabilistic Relevance Framework: BM25 and Beyond</cite>. Januar 2009, [https://de.wikipedia.org/wiki/Digital_Object_Identifier doi]:<span class="uri-handle">[https://doi.org/10.1561/1500000019 10.1561/1500000019]</span>(englisch, [https://www.researchgate.net/publication/220613776_The_Probabilistic_Relevance_Framework_BM25_and_Beyond researchgate.net] [PDF; 1,3&nbsp;MB; abgerufen am 23.&nbsp;Juli 2024]).</span>
|Sprache=en
#<span class="reference-text"><span class="cite">[https://github.com/naver/splade ''SPLADE.''] In: ''[https://de.wikipedia.org/wiki/GitHub GitHub].''<span class="Abrufdatum"> Abgerufen am 17.&nbsp;August 2024</span> (englisch).</span></span>
|Online=https://nlp.stanford.edu/IR-book/information-retrieval-book.html}}
#<span class="reference-text"><span class="cite">Ayush Thakur: [https://blog.stackademic.com/llmware-dragon-mistral-7b-v0-a-powerful-llm-for-rag-applications-760fc6add4b9 ''llmware/dragon-mistral-7b-v0: A Powerful LLM for RAG Applications.''] Medium, 22.&nbsp;Dezember 2023,<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
</ref>
#<span class="reference-text"><span class="cite">Pinterest Engineering: [https://medium.com/pinterest-engineering/how-we-built-text-to-sql-at-pinterest-30bad30dabff ''How we built Text-to-SQL at Pinterest.''] Medium, 2.&nbsp;April 2024,<span class="Abrufdatum"> abgerufen am 17.&nbsp;August 2024</span> (englisch).</span></span>
<ref name="aigc">
#<span class="reference-text">Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Meng Wang, Haofen Wang: <cite class="lang" dir="auto" lang="en">Retrieval-Augmented Generation for Large Language Models: A Survey</cite>. [https://de.wikipedia.org/wiki/Tongji-Universit%C3%A4t Tongji-Universität], [https://de.wikipedia.org/wiki/Fudan-Universit%C3%A4t Fudan-Universität], 27.&nbsp;März 2024, [https://de.wikipedia.org/wiki/ArXiv arxiv]:[https://arxiv.org/abs/2312.10997 2312.10997] (englisch).</span>
{{Literatur
#<span class="reference-text"><span class="cite">Keshav Unni: [https://medium.com/tr-labs-ml-engineering-blog/better-customer-support-using-retrieval-augmented-generation-rag-at-thomson-reuters-4d140a6044c3 ''Better Customer Support Using Retrieval-Augmented Generation (RAG) at Thomson Reuters.''] [https://de.wikipedia.org/wiki/Medium Medium], 8.&nbsp;August 2023,<span class="Abrufdatum">abgerufen am 18.&nbsp;August 2024</span> (englisch).</span></span>
|Autor=Penghao Zhao et al.
#<span class="reference-text"><span class="cite">Tarunvel V S: [https://medium.com/@TarunvelVS/rag-in-customer-support-aa971ff27ea8 ''RAG in Customer Support.''] [https://de.wikipedia.org/wiki/Medium Medium], 11.&nbsp;April 2024,<span class="Abrufdatum"> abgerufen am 18.&nbsp;August 2024</span> (englisch).</span></span>
|Titel=Retrieval-augmented generation for ai-generated content: A survey
#<span class="reference-text"><span class="cite">Adarsh: [https://www.kommunicate.io/blog/rag-in-customer-service-chatbot/ ''Enhancing Customer Service with Retrieval-Augmented Generation (RAG) in AI Chatbots.''] [https://www.kommunicate.io/ kommunicate.io], 6.&nbsp;August 2024,<span class="Abrufdatum">abgerufen am 18.&nbsp;August 2024</span> (englisch).</span></span>
|Datum=2024-06-21
#<span class="reference-text"><span class="cite">Tanya Malhotra: [https://www.marktechpost.com/2024/08/12/medgraphrag-an-ai-framework-for-improving-the-performance-of-llms-in-the-medical-field-through-graph-retrieval-augmented-generation-rag/ ''MedGraphRAG: An AI Framework for Improving the Performance of LLMs in the Medical Field through Graph Retrieval Augmented Generation (RAG).''] 12.&nbsp;August 2024,<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
|Sprache=en
#<span class="reference-text">Junde Wu, Jiayuan Zhu, Yunli Qi: <cite>Medical Graph RAG: Towards Safe Medical Large Language Model via Graph Retrieval-Augmented Generation</cite>. 8.&nbsp;August 2024, [https://de.wikipedia.org/wiki/Digital_Object_Identifier doi]:<span class="uri-handle">[https://doi.org/10.48550/arXiv.2408.04187 10.48550/arXiv.2408.04187]</span>, [https://de.wikipedia.org/wiki/ArXiv arxiv]:[https://arxiv.org/abs/2408.04187 2408.04187].</span>
|arXiv=2402.19473
#<span class="reference-text"><span class="cite">Arunim Samat: [https://www.truelaw.ai/blog/legal-rag-vs-rag-a-technical-exploration-of-retrieval-systems ''Legal-RAG vs. RAG: A Technical Exploration of Retrieval Systems.''] [https://www.truelaw.ai/ truelaw.ai], 23.&nbsp;März 2024,<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
|DOI=10.48550/arXiv.2402.19473}}
#<span class="reference-text"><span class="cite">[https://www.elementx.ai/post/enhancing-education-with-rag ''Enhancing Education with RAG: How Universities Can Benefit.''] [https://www.elementx.ai/ ElementX.ai],<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
</ref>
#<span class="reference-text"><span class="cite">[https://myscale.com/blog/rag-ai-education-impact-case-studies/ ''Unveiling the Impact of RAG AI in Education: Real Case Studies Revealed.''] [https://myscale.com/ MyScale], 17.&nbsp;März 2024,<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span>(englisch).</span></span>
<ref name="llm">
#<span class="reference-text"><span class="cite">Eduardo Alvarez: [https://eduand-alvarez.medium.com/transforming-financial-services-with-rag-personalized-financial-advice-f58de9d2d7e0 ''Transforming Financial Services with RAG: Personalized Financial Advice.''] [https://de.wikipedia.org/wiki/Medium Medium], 5.&nbsp;April 2024,<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
{{Literatur
#<span class="reference-text"><span class="cite">[https://www.linkedin.com/pulse/embracing-rag-financial-services-new-frontier-ai-technologies-nzfme/ ''Embracing RAG in Financial Services: A New Frontier in AI Technologies.''] In: ''[https://de.wikipedia.org/wiki/LinkedIn LinkedIn] Pulse.'' RoSoft Ventures, 11.&nbsp;November 2023,<span class="Abrufdatum">abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
|Autor=Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Meng Wang, Haofen Wang
#<span class="reference-text"><span class="cite">Harikiran Akella: [https://medium.com/@hari10.nitw/log-analysis-with-genai-with-handson-0e05224aed96 ''Log Analysis with GenAI — With HandsOn.''] [https://de.wikipedia.org/wiki/Medium Medium], 21.&nbsp;März 2024,<span class="Abrufdatum"> abgerufen am 16.&nbsp;August 2024</span> (englisch).</span></span>
|Titel=Retrieval-Augmented Generation for Large Language Models: A Survey
#<span class="reference-text">Yi Xiao, Van-Hoang Le, Hongyu Zhang: <cite class="lang" dir="auto" lang="en">Stronger, Cheaper and Demonstration-Free Log Parsing with LLMs</cite>. 12.&nbsp;Juni 2024, [https://de.wikipedia.org/wiki/Digital_Object_Identifier doi]:<span class="uri-handle">[https://doi.org/10.48550/arXiv.2406.06156 10.48550/arXiv.2406.06156]</span>, [https://de.wikipedia.org/wiki/ArXiv arxiv]:[https://arxiv.org/abs/2406.06156 2406.06156] (englisch).</span>
|Verlag=[[Tongji-Universität]], [[Fudan-Universität]]
#<span class="reference-text"><span class="cite">[https://pieces.app/ ''Pieces.'']<span class="Abrufdatum"> Abgerufen am 1.&nbsp;September 2024</span>.</span></span>
|Datum=2024-03-27
|Sprache=en
|arXiv=2312.10997}}
</ref>
<ref name="bm25">
{{Literatur
|Autor=Stephen E. Robertson, Hugo Zaragoza
|Titel=The Probabilistic Relevance Framework: BM25 and Beyond
|Datum=2009-01
|Sprache=en
|Online=https://www.researchgate.net/publication/220613776_The_Probabilistic_Relevance_Framework_BM25_and_Beyond
|Format=PDF
|KBytes=1234
|Abruf=2024-07-23
|DOI=10.1561/1500000019}}
</ref>
<ref name="iss">
{{Literatur
|Autor=Olesya Bondarenko
|Hrsg=Manning
|Titel=Implement Semantic Search with ML and BERT
|Datum=
|Sprache=en
|Online=https://www.manning.com/liveproject/implement-semantic-search-with-ml-and-bert
|Abruf=2024-07-23}}
</ref>
<ref name="aips">
{{Literatur
|Autor=Trey Grainger, Doug Turnbull, Max Irwin
|Hrsg=Manning
|Titel=AI-Powered Search
|Datum=2024
|ISBN=978-1-61729-697-0
|Sprache=en
|Online=https://www.manning.com/books/ai-powered-search
|Abruf=2024-07-23}}
</ref>
<ref name="kger">
{{Literatur
|Autor=Tomaž Bratanič, Oskar Hane
|Hrsg=Manning
|Titel=Knowledge Graph-Enhanced RAG
|Datum=2024
|ISBN=978-1-63343-626-8
|Sprache=en
|Online=https://www.manning.com/books/knowledge-graph-enhanced-rag
|Abruf=2024-07-23}}
</ref>
</references>
 
 
[[Kategorie:Künstliche Intelligenz]]
[[Kategorie:Datenbanksystem]]
[[Kategorie:retrieval augmented generation (RAG)]]

Aktuelle Version vom 17. August 2026, 20:19 Uhr

retrieval augmented generation

Unter retrieval augmented generation (RAG) versteht man ein Softwaresystem, welches Information Retrieval mit einem Large Language Model kombiniert. Eine Abfrage, welche an das System gestellt wird, kann hierbei auf Informationen aus (externen) Informationsquellen, Datenbanken oder dem World Wide Web zugreifen statt nur auf die Trainingsdaten des Modells.[1][2] Dies erhöht die Genauigkeit und Robustheit der generierten Inhalte, indem es die Modelle mit aktuellen und spezifischen Informationen versorgt.[3] Typische Anwendungsfälle sind der Zugriff von Chatbots auf interne (Unternehmens-)Daten oder die Bereitstellung von Sachinformationen, die ausschließlich aus verlässlichen Quellen stammen sollen.

Verfahren

Retrieval-Augmented Generation besteht im Wesentlichen aus vier Stufen:

  1. Datenindexierung
  2. Datenabruf
  3. Augmentierung
  4. Antwortgenerierung

Datenindexierung

Die zu referenzierenden Daten werden im ersten Schritt in Worteinbettungen umgewandelt und in einer Vektordatenbank indexiert. Die Daten können hierbei sowohl unstrukturiert (Texte, Bilder, Video, Audio), semistrukturiert, strukturiert (z. B. aus einer relationalen Datenbank oder einem Wissensgraphen[4]) vorliegen. In der Vektordatenbank werden hierbei die Worteinbettungen mit den originalen Daten verknüpft.[2]

Abhängig von der jeweiligen Implementierung können auch Suchanfragen an das System und die zugehörigen Antworten durch ein RAG-System indexiert werden.

Chunking (Aufteilen der Daten)

Im ersten Schritt werden die zu indexierenden Daten in kleinere Bestandteile ('Chunks') aufgeteilt. Textdokumente können beispielsweise in kleinere Absätze aufgeteilt werden, während man Wissensgraphen in Sub-Graphen zerteilt. Bilder können nach den Objekten im Bild (Hund, Tisch, Gesicht etc.) mittels eines Segmentierungsmodells aufgeteilt werden.[5] Bei relationalen Datenbanken kann man das Datenbankschema (z. B. DDL) nach zusammengehörigen Tabellen aufteilen, welche fusioniert (z. B. "join") werden müssen.

Die einzelnen Bestandteile werden anschließend mit Annotationen versehen, um sie der ursprünglichen Datenquelle zuordnen zu können.

Vektor-Generierung

Die einzelnen Chunks werden mittels Tokenisierung in Token zerlegt. Diese Token werden anschließend durch ein Einbettungsmodell in Worteinbettungen (Vektoren) übersetzt. Die Worteinbettungen werden dann in der Vektordatenbank gemeinsam mit den Chunks und Annotationen gespeichert.

Bei Bildinformationen wird hier das Bild von einem Bild-zu-Text Modell in eine Beschreibung übersetzt und diese Beschreibung für die Worteinbettung verwendet. Seltener wird das Bild selbst codiert, denn hierfür wird ein geeigneter Tokenizer benötigt, welcher Bilddaten verarbeiten kann. Wenn Bild- und Textdaten in derselben Datenbank gespeichert werden sollen, wird ein multimodaler Tokenizer benötigt. Ähnliches gilt für das Verarbeiten von Audio- und Videodaten.

Vernetzung von Daten

Komplexe RAG-Systeme besitzen die Möglichkeit, die Daten miteinander automatisiert zu verknüpfen. Hierbei werden mittels eines Sprachmodells aus den indizierten Dokumenten ein Wissensgraph extrahiert und die innerhalb eines Dokuments beschriebenen Konzepte mit den jeweiligen Konzepten im Wissensgraphen verknüpft.[6] Diese Verknüpfung ermöglicht eine formale Analyse der zuvor nur unstrukturiert vorgelegenen Daten.

Datenabruf

Beim Datenabruf wird eine Suchanfrage des Benutzers zuerst in eine Worteinbettung umgewandelt. Anschließend wird ermittelt, welche in der Vektordatenbank gespeicherten Daten mit der Abfrage des Benutzers semantisch korrelieren.[7][2] Werden hierbei relevante Daten gefunden, werden diese gewichtet ('Ranking') und gefiltert.

Für die Berechnung der Korrelation können unterschiedliche Verfahren zum Einsatz kommen. Typisch ist die Verwendung von Okapi BM25[8], SPLADE[9], Dragon[10], oder eine Kombination mehrerer Verfahren.

Filterung

Die Filterung der Daten kann aus unterschiedlichen Gründen erfolgen. Hierbei gilt es die Vertraulichkeit der Daten, Jugendschutz-Einschränkungen, Urheberrechte und ähnliches zu berücksichtigen.

Rephrasing

Einige Systeme können die Suchergebnisse mittels eines Sprachmodells auf Relevanzkriterien bewerten. Werden keine relevanten Daten gefunden, kann ein weiterer Agent die Anfrage des Benutzers umformulieren ('rephrasing') und eine neue Suche starten. Das System wird darin beschränkt, wie viele Versuche es hat und/oder wie lange es hierfür Zeit hat.

Da bei diesem Verfahren mehrere zusätzliche Schritte benötigt werden, ergibt sich ein erhöhter Arbeits- und Zeitaufwand für das System, um ein Ergebnis zu liefern. Der Vorteil besteht in der höheren Wahrscheinlichkeit ein günstiges Suchergebnis zu erhalten.

Relationale Daten

Bei relationalen Daten werden die Daten üblicherweise nicht vollständig in Dokumente umgewandelt und in der Vektordatenbank gespeichert, sondern nur das Datenschema. Bei der Suche wird das nötige Datenschema zurückgeliefert, aus dem ein Sprachmodell SQL-Quelltext erzeugt ('Text-to-SQL'). Dieser wird auf der Datenbank ausgeführt, um die benötigten Informationen zu generieren.[11]

Hierbei gilt zu beachten, dass der erzeugte Quelltext fehlerhaft oder schadhaft sein kann. Die Anfrage muss daher sowohl auf syntaktische Richtigkeit (Halluzination von nicht-existenden Tabellen oder Spalten), als auch die Schädlichkeit (z. B. mögliche SQL-Injection) untersucht werden. Die Datenbankabfrage muss durch geeignete Rechtesetzung "Read-Only", also schreibgeschützt sein.

Augmentierung

Im Augmentierungsprozess werden anwendungsspezifische Daten, etwa ein Systemprompt und die Metadaten des Benutzers, sowie die gefundenen Daten der Suchanfrage mit der Anfrage des Benutzers zusammengeführt.[2] Komplexe RAG-Systeme können hierbei die Anfrage des Benutzers in unterschiedliche Wissensgebiete aufteilen und spezifisch behandeln.

Antwortgenerierung

Im letzten Schritt wird die augmentierte Suchanfrage in ein Sprachmodell übergeben, welches die Daten mittels eines statistischen Modells in eine Antwort transformiert[12].

Zudem wird die vom Sprachmodell generierte Antwort mit Referenzen auf die Quellen der Daten verknüpft (typischerweise über einen URI), um dem Benutzer eine Nachvollziehbarkeit und Kontrollmöglichkeit der Antwort zu ermöglichen.

Anwendungen

Da RAG-Systeme eine Erweiterung zu klassischen Suchmaschinen sind, sind die Einsatzbereiche überschneidend. Anwendungen für RAG-Systeme finden in der Kundenbetreuung[13][14][15], der Analyse medizinischer Informationen[16][17], juristischen Recherchen[18], der Bildung[19][20], wissenschaftlichen Forschung, Finanzanalyse[21][22], der Auswertung von Logdaten[23][24], sowie allen anderen Anwendungen, bei denen das Auffinden von Informationen relevant ist.

Herausforderungen

RAG-Systeme weisen aufgrund einer Vielzahl an beteiligten Softwaresystemen und Akteuren eine hohe Komplexität in der Implementierung auf.

Zudem muss die Indexierung, die Gewichtung und die Filterung der Daten kontinuierlich an sich ständig ändernde Gegebenheiten angepasst und erweitert werden. Der Betrieb eines RAG-Systems ist somit nicht nur mit einem hohen Aufwand in der Implementierung, sondern auch mit einem kontinuierlichen Aufwand im Betrieb verbunden.

Softwarepakete

Für die Implementierung von RAG-Systemen gibt es Softwarepakete, welche Anwendungsspezifisch angepasst werden müssen. Hierbei unterscheidet man zwischen komplexen Software-Frameworks, welche eine umfangreiche Orchestrierung von KI-Agenten und Programmierschnittstellen ermöglichen, sowie Softwarepaketen, welche eine Low-Code Umgebung bereitstellen.

Liste von Softwarepaketen zur Erstellung von RAG-Systemen (Stand: 3. Februar 2025)
Softwarepaket Lizenz Beschreibung
Microsoft Copilot Studio Proprietär Low-Code Web-Plattform in Microsoft 365
Azure AI Studio Proprietär Low-Code Web-Plattform in Microsoft Azure. Auch komplexe Orchestrierung möglich.
PromptFlow Open-Source Technologie hinter Copilot Studio und Azure AI Studio. Ermöglicht eine komplexe Orchestrierung. Integration mit LangChain oder Semantic Kernel möglich.
Vertex AI Agent Builder Proprietär Low-Code Web-Plattform der Google Cloud
watsonx Proprietär Low-Code Orchestrierungs-Plattform von IBM
Firecrawl Open-Source API-Service zur Webseitenindexierung
LangChain und LangGraph Open-Source Framework für Orchestrierung von KI-Systemen
Kernel Memory Open-Source Framework zur Erstellung von RAG-Systemen
Semantic Kernel Open-Source Framework für Orchestrierung von KI-Systemen
Haystack Open-Source Framework zur Erstellung von RAG-Systemen
REALM Open-Source Google-Research-Projekt mit einer RAG-System Beispielimplementierung
RAGFlow Open-Source Ein Framework, das sich auf die Vereinfachung der Erstellung von RAG-basierten Anwendungen konzentriert, mit vorgefertigten Komponenten und Workflows.
txtai Open-Source Eine KI-gestützte Datenplattform, die Such- und Frage-Antwort-Funktionen bietet und sich leicht in bestehende Systeme integrieren lässt.
LlamaIndex Open-Source Ein Tool zum Aufbau von Indizes über Ihre Daten, um sie für LLMs (Large Language Models) zugänglich zu machen.
RAGAS Open-Source Ein Evaluierungsframework für RAG-Systeme, das Metriken zur Bewertung der Antwortqualität bietet.
RAGstack Open-Source Ein Stack zum Aufbau von RAG-Systemen mit Komponenten wie LangChain, FastAPI und anderen.
RAG Architect Open-Source Ein Framework zur Erstellung von RAG-Systemen mit Fokus auf Modularität und Erweiterbarkeit.
RAG End-to-End Open-Source Ein End-to-End-Beispiel für die Implementierung von RAG mit den Transformers von Hugging Face.
RAG Pipeline Open-Source Eine Pipeline innerhalb von Haystack zur Implementierung von RAG-Systemen.
STORM Open-Source Ein von der Stanford OVAL entwickelte LLM-gestützte Wissenskurationssystem, das Wikipedia-ähnliche Artikel basierend auf Internetrecherchen erstellt.
LLM-App Open-Source Ein Framework von Pathway, das die Erstellung von Anwendungen mit großen Sprachmodellen erleichtert.
Cognita Open-Source Ein von TrueFoundry entwickeltes Tool zur Integration von Wissensdatenbanken in KI-gestützte Anwendungen.
R2R Open-Source Ein von SciPhi-AI entwickeltes Framework zur Implementierung von Retrieval-zu-Response-Systemen.
Neurite Open-Source Ein von SatelliteComponent entwickeltes Tool zur neuronalen Informationsverarbeitung und -extraktion.
FlashRAG Open-Source Ein von RUC-NLPIR entwickeltes Framework für schnelle Retrieval-Augmented Generation.
Canopy Open-Source Ein von Pinecone entwickeltes Tool zur Verwaltung und Orchestrierung von Vektordatenbanken für RAG-Systeme.

Zusätzlich gibt es auch fertige Softwarepakete wie Pieces for Developers, welche für das persönliche Datenmanagement eingesetzt werden können.[25]

Retrieval Augmented Generation wird zudem in einigen Suchmaschinen wie Perplexity.ai, Google Gemini, Microsoft Bing, sowie SearchGPT eingesetzt.

Referenzen

  1. ↑ Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: Introduction to Information Retrieval. Hrsg.: Stanford University, Ludwig-Maximilians-Universität München. 2009, ISBN 978-0-521-86571-5 (englisch, stanford.edu).
  2. ↑ a b c d Trey Grainger, Doug Turnbull, Max Irwin: AI-Powered Search. Hrsg.: Manning. 2024, ISBN 978-1-61729-697-0 (englisch, manning.com [abgerufen am 23. Juli 2024]).
  3. ↑ Penghao Zhao et al.: Retrieval-augmented generation for ai-generated content: A survey. 21. Juni 2024, doi:10.48550/arXiv.2402.19473, arxiv:2402.19473 (englisch).
  4. ↑ Tomaž Bratanič, Oskar Hane: Knowledge Graph-Enhanced RAG. Hrsg.: Manning. 2024, ISBN 978-1-63343-626-8 (englisch, manning.com [abgerufen am 23. Juli 2024]).
  5. ↑ Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick: Segment Anything. 5. April 2023, doi:10.48550/arXiv.2304.02643, arxiv:2304.02643 (englisch).
  6. ↑ Junde Wu, Jiayuan Zhu, Yunli Qi: Medical Graph RAG: Towards Safe Medical Large Language Model via Graph Retrieval-Augmented Generation. 17. August 2024, doi:10.48550/arXiv.2408.04187, arxiv:2408.04187 (englisch).
  7. ↑ Olesya Bondarenko: Implement Semantic Search with ML and BERT. Hrsg.: Manning. (englisch, manning.com [abgerufen am 23. Juli 2024]).
  8. ↑ Stephen E. Robertson, Hugo Zaragoza: The Probabilistic Relevance Framework: BM25 and Beyond. Januar 2009, doi:10.1561/1500000019 (englisch, researchgate.net [PDF; 1,3 MB; abgerufen am 23. Juli 2024]).
  9. ↑ SPLADE. In: GitHub. Abgerufen am 17. August 2024 (englisch).
  10. ↑ Ayush Thakur: llmware/dragon-mistral-7b-v0: A Powerful LLM for RAG Applications. Medium, 22. Dezember 2023, abgerufen am 16. August 2024 (englisch).
  11. ↑ Pinterest Engineering: How we built Text-to-SQL at Pinterest. Medium, 2. April 2024, abgerufen am 17. August 2024 (englisch).
  12. ↑ Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Meng Wang, Haofen Wang: Retrieval-Augmented Generation for Large Language Models: A Survey. Tongji-Universität, Fudan-Universität, 27. März 2024, arxiv:2312.10997 (englisch).
  13. ↑ Keshav Unni: Better Customer Support Using Retrieval-Augmented Generation (RAG) at Thomson Reuters. Medium, 8. August 2023, abgerufen am 18. August 2024 (englisch).
  14. ↑ Tarunvel V S: RAG in Customer Support. Medium, 11. April 2024, abgerufen am 18. August 2024 (englisch).
  15. ↑ Adarsh: Enhancing Customer Service with Retrieval-Augmented Generation (RAG) in AI Chatbots. kommunicate.io, 6. August 2024, abgerufen am 18. August 2024 (englisch).
  16. ↑ Tanya Malhotra: MedGraphRAG: An AI Framework for Improving the Performance of LLMs in the Medical Field through Graph Retrieval Augmented Generation (RAG). 12. August 2024, abgerufen am 16. August 2024 (englisch).
  17. ↑ Junde Wu, Jiayuan Zhu, Yunli Qi: Medical Graph RAG: Towards Safe Medical Large Language Model via Graph Retrieval-Augmented Generation. 8. August 2024, doi:10.48550/arXiv.2408.04187, arxiv:2408.04187.
  18. ↑ Arunim Samat: Legal-RAG vs. RAG: A Technical Exploration of Retrieval Systems. truelaw.ai, 23. März 2024, abgerufen am 16. August 2024 (englisch).
  19. ↑ Enhancing Education with RAG: How Universities Can Benefit. ElementX.ai, abgerufen am 16. August 2024 (englisch).
  20. ↑ Unveiling the Impact of RAG AI in Education: Real Case Studies Revealed. MyScale, 17. März 2024, abgerufen am 16. August 2024 (englisch).
  21. ↑ Eduardo Alvarez: Transforming Financial Services with RAG: Personalized Financial Advice. Medium, 5. April 2024, abgerufen am 16. August 2024 (englisch).
  22. ↑ Embracing RAG in Financial Services: A New Frontier in AI Technologies. In: LinkedIn Pulse. RoSoft Ventures, 11. November 2023, abgerufen am 16. August 2024 (englisch).
  23. ↑ Harikiran Akella: Log Analysis with GenAI — With HandsOn. Medium, 21. März 2024, abgerufen am 16. August 2024 (englisch).
  24. ↑ Yi Xiao, Van-Hoang Le, Hongyu Zhang: Stronger, Cheaper and Demonstration-Free Log Parsing with LLMs. 12. Juni 2024, doi:10.48550/arXiv.2406.06156, arxiv:2406.06156 (englisch).
  25. ↑ Pieces. Abgerufen am 1. September 2024.