Dieses Repo bietet Beispielcode zur Verbesserung von RAG-Anwendungen mit umfangreichen Datenquellen, einschließlich SQL Warehouses und Dokumenten, die mit Azure Document Intelligence analysiert werden.
Es ist beabsichtigt, dass die in diesem Repository bereitgestellten Plugins und Fähigkeiten angepasst und zu Ihrer neuen oder vorhandenen RAG-Anwendung hinzugefügt werden, um die Antwortqualität zu verbessern.
Wichtig
uv
um Abhängigkeiten und allgemeine Dienstprogramme zu verwalten. Weitere Informationen zu den ersten Schritten finden Sie unter uv. ./text_2_sql
enthält drei Multi-Shot-Implementierungen für die Text2SQL-Generierung und -Abfrage, die zur Beantwortung von Fragen verwendet werden können, die auf einer Datenbank als Wissensdatenbank basieren. Es werden ein auf Eingabeaufforderungen basierender und ein vektorbasierter Ansatz gezeigt, die beide eine hervorragende Leistung bei der Beantwortung von SQL-Abfragen aufweisen. Darüber hinaus wird eine weitere Iteration des vektorbasierten Ansatzes gezeigt, der einen Abfrage-Cache verwendet, um die Generierung weiter zu beschleunigen. Mit diesen Plugins kann Ihre RAG-Anwendung jetzt auf Daten aus jeder verfügbaren SQL-Tabelle zugreifen und diese abrufen, um Fragen zu beantworten../adi_function_app
enthält Code zur Verknüpfung von Azure Document Intelligence mit AI Search zur Verarbeitung komplexer Dokumente mit Diagrammen und Bildern und verwendet multimodale Modelle (gpt4o), um diese zu interpretieren und zu verstehen. Mit dieser benutzerdefinierten Fähigkeit kann die RAG-Anwendung während der Vektorsuche Erkenntnisse aus komplexen Diagrammen und Bildern gewinnen . Diese Funktions-App enthält außerdem eine Semantic Text Chunking -Methode, die darauf abzielt, ähnliche Sätze intelligent zu gruppieren, Abbildungen und Tabellen zusammenzuhalten und gleichzeitig unterschiedliche Sätze zu trennen../deploy_ai_search
bietet ein einfaches Python-basiertes Dienstprogramm zum Bereitstellen eines Index, Indexers und entsprechender Skillsets für AI Search und für Text2SQL.Die oben genannten Komponenten wurden erfolgreich in RAG-Produktionsprojekten eingesetzt, um die Qualität der Antworten zu erhöhen.
Der in diesem Repo bereitgestellte Code ist ein Beispiel der Implementierung und sollte vor der Verwendung in der Produktion angepasst werden.
Das folgende Diagramm zeigt einen Workflow für die Integration des Text2SQL- und AI Search-Plugins in eine RAG-Anwendung. Unter Verwendung der verfügbaren Plugins und der Funktionsaufruffunktionen von LLMs kann das LLM Chain-of-Thought-Argumentation durchführen, um die Schritte zu bestimmen, die zur Beantwortung der Frage erforderlich sind. Dies ermöglicht es dem LLM, die Absicht zu erkennen und daher geeignete Datenquellen basierend auf der Absicht der Frage oder einer Kombination aus beidem auszuwählen.
Dieses Projekt freut sich über Beiträge und Vorschläge. Für die meisten Beiträge müssen Sie einem Contributor License Agreement (CLA) zustimmen, in dem Sie erklären, dass Sie das Recht haben, uns die Rechte zur Nutzung Ihres Beitrags zu gewähren, und dies auch tatsächlich tun. Weitere Informationen finden Sie unter https://cla.opensource.microsoft.com.
Wenn Sie eine Pull-Anfrage einreichen, ermittelt ein CLA-Bot automatisch, ob Sie eine CLA bereitstellen müssen, und schmückt die PR entsprechend (z. B. Statusprüfung, Kommentar). Folgen Sie einfach den Anweisungen des Bots. Sie müssen dies nur einmal für alle Repos tun, die unsere CLA verwenden.
Dieses Projekt hat den Microsoft Open Source Verhaltenskodex übernommen. Weitere Informationen finden Sie in den FAQ zum Verhaltenskodex oder wenden Sie sich bei weiteren Fragen oder Kommentaren an [email protected].
Dieses Projekt kann Marken oder Logos für Projekte, Produkte oder Dienstleistungen enthalten. Die autorisierte Nutzung von Microsoft-Marken oder -Logos unterliegt den Marken- und Markenrichtlinien von Microsoft und muss diesen entsprechen. Die Verwendung von Microsoft-Marken oder -Logos in geänderten Versionen dieses Projekts darf keine Verwirrung stiften oder eine Sponsorschaft durch Microsoft implizieren. Jegliche Nutzung von Marken oder Logos Dritter unterliegt den Richtlinien dieser Drittanbieter.