AI Personal Learning
und praktische Anleitung
Ressource Empfehlung 1

dsRAG: eine Abfragemaschine für unstrukturierte Daten und komplexe Abfragen

Allgemeine Einführung

dsRAG ist eine hochleistungsfähige Suchmaschine, die für die Bearbeitung komplexer Anfragen zu unstrukturierten Daten entwickelt wurde. Es ist besonders leistungsfähig bei der Bearbeitung anspruchsvoller Abfragen in dichten Texten wie Finanzberichten, juristischen Dokumenten und akademischen Abhandlungen. dsRAG verwendet drei Schlüsselansätze zur Verbesserung der Leistung: semantische Segmentierung, kontextbezogene automatische Generierung und Extraktion relevanter Segmente. Mit diesen Ansätzen erreicht dsRAG eine deutlich höhere Genauigkeit als die traditionelle RAG-Basislösung bei komplexen Quizaufgaben mit offenem Buch. Darüber hinaus unterstützt dsRAG eine breite Palette von Konfigurationsoptionen, die je nach den Bedürfnissen des Benutzers angepasst werden können. Der modulare Aufbau ermöglicht es dem Benutzer, verschiedene Komponenten wie Vektordatenbanken, Einbettungsmodelle und Reorderer einfach zu integrieren, um optimale Retrieval-Ergebnisse zu erzielen.

Im Vergleich zu traditionellen RAG (Retrieval-Augmented Generation)-Baselines erreicht dsRAG deutlich höhere Genauigkeitsraten in komplexen Open-Book-Quiz-Aufgaben. Zum Beispiel erreicht dsRAG im FinanceBench-Benchmark-Test eine Genauigkeit von 96,61 TP3T, verglichen mit 321 TP3T für die traditionelle RAG-Baseline. dsRAG verbessert die Retrievalleistung durch Schlüsselmethoden wie semantische Segmentierung, automatischen Kontext und Extraktion relevanter Segmente erheblich.


dsRAG: Eine leistungsstarke Retrieval Engine für unstrukturierte Daten und komplexe Abfragen-1

 

Funktionsliste

  • semantische SegmentierungLLM zur Segmentierung von Dokumenten verwenden, um die Auffindungsgenauigkeit zu verbessern.
  • Automatische KontexterstellungGenerierung von Blocküberschriften mit Kontext auf Dokument- und Absatzebene zur Verbesserung der Einbettungsqualität.
  • Extraktion relevanter SegmenteIntelligente Kombination zusammengehöriger Textblöcke bei der Abfrage, um längere Absätze zu erzeugen.
  • Unterstützung mehrerer Vektordatenbanken: z.B. BasicVectorDB, WeaviateVectorDB, ChromaDB, etc.
  • Unterstützung mehrerer eingebetteter Modelle: z.B. OpenAIEmbedding, CohereEmbedding, etc.
  • Unterstützung mehrerer Reorder: z.B. CohereReranker, VoyageReranker, etc.
  • Persistente WissensdatenbankUnterstützung für die Persistierung von Wissensbasisobjekten auf der Festplatte zum späteren Laden und Abfragen.
  • Unterstützung mehrerer DokumentenformateUnterstützung für PDF, Markdown und andere Dokumentformate, wie z.B. Parsing und Verarbeitung.

 

Hilfe verwenden

Montage

Um das Python-Paket für dsRAG zu installieren, können Sie den folgenden Befehl ausführen:

pip install dsrag

Stellen Sie sicher, dass Sie die API-Schlüssel für OpenAI und Cohere haben und setzen Sie sie als Umgebungsvariablen.

Schnellstart

Sie können diecreate_kb_from_fileFunktion erstellt eine neue Wissensbasis direkt aus einer Datei:

from dsrag.create_kb import create_kb_from_file
dateipfad = "dsRAG/tests/data/levels_of_agi.pdf"
kb_id = "levels_of_agi"
kb = create_kb_from_file(kb_id, file_path)

Die Objekte der Wissensdatenbank werden automatisch auf der Festplatte gespeichert, so dass sie nicht explizit gespeichert werden müssen.

Jetzt können Sie sich ein besseres Bild davon machen, was mit der Website passiert.kb_idLaden Sie die Wissensbasis und verwenden Sie dieAbfrageMethoden werden abgefragt:

from dsrag.knowledge_base import KnowledgeBase
kb = KnowledgeBase("levels_of_agi")
search_queries = ["Was sind die Ebenen von AGI?", "Was ist die höchste Ebene von AGI?"]
results = kb.query(search_queries)
for segment in results.
print(segment)

Basis-Anpassung

Sie können die Konfiguration der Wissensdatenbank anpassen, indem Sie zum Beispiel nur OpenAI verwenden:

von dsrag.llm importieren OpenAIChatAPI
from dsrag.reranker import NoReranker
llm = OpenAIChatAPI(model='gpt-4o-mini')
reranker = NoReranker()
kb = KnowledgeBase(kb_id="levels_of_agi", reranker=reranker, auto_context_model=llm)

Dann verwenden Sieadd_documentMethode, um ein Dokument hinzuzufügen:

dateipfad = "dsRAG/tests/daten/levels_of_agi.pdf"
kb.add_document(doc_id=file_path, file_path=file_path)

bauen

Das Wissensbasisobjekt nimmt Dokumente (in Form von Rohtext) entgegen und führt Chunking und Embedding sowie andere Vorverarbeitungsoperationen an ihnen durch. Wenn eine Anfrage eingegeben wird, führt das System eine Suche in der Vektordatenbank, eine Neuordnung und eine Extraktion relevanter Segmente durch und gibt schließlich das Ergebnis zurück.

Wissensdatenbankobjekte sind standardmäßig beständig und ihre vollständige Konfiguration wird als JSON-Datei gespeichert, damit sie leicht wiederhergestellt und aktualisiert werden können.

Inhalt3
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " dsRAG: eine Abfragemaschine für unstrukturierte Daten und komplexe Abfragen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)