Viele Lag -Anwendungen verwenden einen vereinfachten Abrufprozess: Dokumente werden in Stücke segmentiert, in Einbettungen umgewandelt und in einer Vektor -Datenbank gespeichert. Abfragen auslösen das Abrufen der am meisten ähnlichen Dokumente, die auf der Einbettung der Ähnlichkeit basieren. Dieser Ansatz leidet jedoch unter Einschränkungen, insbesondere bei umfangreichen Datensätzen. Ambiguität und suboptimaler Informationsabruf können die Genauigkeit beeinträchtigen.
rekursives Abruf verbessert die Abrufpräzision durch Nutzung der Dokumentstruktur. Anstatt direkt abzurufen, priorieren Sie relevante Zusammenfassungen und bohren anschließend auf zugehörige Teile, um fokussiertere Ergebnisse zu erzielen.
Dieser Artikel beschreibt rekursives Abrufen und führt Sie durch seine Implementierung mit LamaNdex.
rag und langchain
Langchain erleichtert die Integration externer Daten mit LLMs über Abrufer Augmented Generation (LAG).
rekursives Abruf erklärte
Im Gegensatz zu Methoden, die sich ausschließlich auf Rohbetthöfen stützen, sind rekursive Abruf -Einbettungsdokumentenzusammenfassungen und verbinden sie mit ihren entsprechenden Brocken. Abfragen rufen zunächst relevante Zusammenfassungen ab und bestimmen die verwandten Informationen in den zugehörigen Teilen der Zusammenfassungen. Dieser kontextbezogene Ansatz verbessert die Informationsrelevanz.
Implementierung rekursiver Abruf mit Llamaindex
Dieser Abschnitt führt Sie durch eine Schritt-für-Schritt-Implementierung des rekursiven Abrufs mit Lamaindex, vom Laden der Dokumente bis zur Abfrageausführung.
Schritt 1: Dokumentlade und Vorbereitung
Dokumente werden mit SimpleDirectoryReader
geladen. Jedes Dokument empfängt einen Titel und eine Metadaten (z. B. Kategorie) für eine erweiterte Filterung. Die geladenen Dokumente werden in einem Wörterbuch für einen einfachen Zugriff gespeichert.
from llama_index.core import SimpleDirectoryReader # ... (Code for loading documents remains the same) ...
Schritt 2: LLM- und Chunking -Setup
An LLM (z. B. OpenAIs GPT-4O-Mini) wird zusammen mit einem Satzsplitter für die Erstellung von Chunk und ein Callback-Manager für die Prozessüberwachung initialisiert.
from llama_index.llms.openai import OpenAI from llama_index.core.callbacks import LlamaDebugHandler, CallbackManager from llama_index.core.node_parser import SentenceSplitter # ... (Code for LLM and chunking setup remains the same) ...
Schritt 3: Erstellung und Zusammenfassung der Vektorindex und Zusammenfassung
Für jedes Dokument wird ein Vektorindex erstellt, um das Abrufen von Ähnlichkeiten zu ermöglichen. LLM-generierte Zusammenfassungen werden als Objekte gespeichert. IndexNode
from llama_index.core import VectorStoreIndex, SummaryIndex from llama_index.core.schema import IndexNode # ... (Code for building vector indices and generating summaries remains the same) ...
Schritt 4: Vektorindexkonstruktion der obersten Ebene
Ein Vektorindex auf oberster Ebene wird aus den generierten Zusammenfassungen erstellt, wodurch das erste Abrufen relevanter Zusammenfassungen vor dem Zugriff auf detaillierte Brocken ermöglicht wird.
# ... (Code for building the top-level vector index remains the same) ...
Schritt 5: Rekursives Abruf -Setup
Der rekursive Retriever ist konfiguriert und kombiniert den Retriever auf der obersten Ebene mit einzelnen Dokumenten-Retrievers, um den hierarchischen Abrufprozess zu erleichtern.
from llama_index.core.retrievers import RecursiveRetriever # ... (Code for setting up the recursive retriever remains the same) ...
Schritt 6: Rekursive Abfragen von Abrufen
Beispielabfragen werden mit dem konfigurierten rekursiven Retriever ausgeführt.
from llama_index.core import SimpleDirectoryReader # ... (Code for loading documents remains the same) ...
Schlussfolgerung
rekursives Abruf, die Zusammenfassungen und Hierarchien nutzen, verbessert die Relevanz von abgerufenen Brocken, insbesondere bei großen Datensätzen. Es bietet eine robuste Lösung für den Aufbau genauer Abrufsysteme in datenreichen Umgebungen. Weitere Untersuchungen von RAG -Techniken finden Sie in den verknüpften Blog -Posts.
Das obige ist der detaillierte Inhalt vonRekursives Abruf für RAG: Implementierung mit Lamaindex. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Obwohl es nicht die menschliche Verbindung und Intuition eines ausgebildeten Therapeuten herstellen kann, hat die Forschung gezeigt, dass viele Menschen sich wohl fühlen, wenn sie ihre Sorgen und Bedenken mit relativ gesichtslosen und anonymen AI -Bots teilen. Ob dies immer ein gutes Ich ist

Künstliche Intelligenz (KI), eine Technologie -Jahrzehnte in der Herstellung, revolutioniert die Lebensmitteleinzelhandel. Von groß angelegten Effizienzgewinnen und Kostensenkungen bis hin zu optimierten Prozessen über verschiedene Geschäftsfunktionen hinweg sind die Auswirkungen von AI unzählig

Reden wir darüber. Diese Analyse eines innovativen KI -Durchbruchs ist Teil meiner laufenden Forbes -Säulenberichterstattung über die neueste in der KI, einschließlich der Identifizierung und Erklärung verschiedener wirksamer KI -Komplexitäten (siehe Link hier). Außerdem für meinen Comp comp

Die Aufrechterhaltung eines professionellen Images erfordert gelegentliche Kleiderschrank -Updates. Während Online-Shopping bequem ist, fehlt es die Gewissheit von persönlichen Try-Ons. Meine Lösung? KI-betriebene Personalisierung. Ich stelle mir einen KI -Assistenten vor

Google Translate fügt die Funktion des Sprachlernens hinzu Laut Android Authority hat App Expert AssembleDeBug festgestellt, dass die neueste Version der Google Translate App eine neue "Praxis" -Modus des Testcode enthält, mit denen Benutzer ihre Sprachkenntnisse durch personalisierte Aktivitäten verbessern können. Diese Funktion ist derzeit für Benutzer unsichtbar, aber AssembleDeBug kann sie teilweise aktivieren und einige seiner neuen Elemente der Benutzeroberfläche anzeigen. Bei der Aktivierung fügt die Funktion am unteren Rand des Bildschirms ein neues Abschlusskapellymbol hinzu, das mit einem "Beta" -Anzeichen markiert wird, das anfällt, dass die Funktion "Praxis" anfänglich in experimenteller Form veröffentlicht wird. Die zugehörige Popup-Eingabeaufforderung zeigt "Üben Sie die für Sie zugeschnittenen Aktivitäten!", Dies bedeutet, dass Google individuell generiert wird

MIT -Forscher entwickeln Nanda, ein bahnbrechendes Webprotokoll für KI -Agenten. Nanda, kurz für vernetzte Agenten und dezentrale KI

METAs neuestes Unternehmen: Eine KI -App zum Konkurrenz von Chatgpt Meta, die Muttergesellschaft von Facebook, Instagram, WhatsApp und Threads, startet eine neue AI-betriebene Anwendung. Diese eigenständige App, Meta AI, zielt darauf ab, direkt mit Openai's Chatgpt zu konkurrieren. Hebel

Navigation der steigenden Flut von AI -Cyber -Angriffen In jüngster Zeit unterstrich Jason Clinton, Ciso für anthropische, die aufkommenden Risiken, die mit nichtmenschlichen Identitäten gebunden sind-als Kommunikation mit Maschine zu Maschinen, die diese "Identitäten" schützen, werden werden


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.
