Parent Document Retriever: Indexare pe Fragmente Mici și Regăsire Contextuală Mare în Baze de Date Vectoriale & Căutare Semantică

Sintaxă & interogare
retriever = ParentDocumentRetriever(...)

În sistemele RAG există un conflict fundamental de granularitate: fragmentele mici (small chunks, ex: 100 de tokeni) produc reprezentări semantice precise și clare pentru căutarea vectorială, dar fragmentele mari (large chunks sau documentul integral) oferă contextul narativ complet necesar LLM-ului pentru formularea răspunsului.

Tehnica Parent Document Retriever decuplează căutarea de consumul contextului:

  1. Documentul părinte este împărțit în sub-fragmente mici (copii).
  2. Doar sub-fragmentele mici sunt vectorizate și stocate în baza vectorială, fiecare având un pointer către ID-ul documentului părinte.
  3. La interogare, se identifică cele mai apropiate sub-fragmente, dar se extrage și se furnizează LLM-ului documentul părinte complet dintr-un Document Store.
from langchain.retrievers import ParentDocumentRetriever
from langchain.storage import InMemoryStore
from langchain_text_splitters import RecursiveCharacterTextSplitter

parent_splitter = RecursiveCharacterTextSplitter(chunk_size=2000)
child_splitter = RecursiveCharacterTextSplitter(chunk_size=300)

retriever = ParentDocumentRetriever(
    vectorstore=vectorstore,
    docstore=InMemoryStore(),
    child_splitter=child_splitter,
    parent_splitter=parent_splitter
)

# Adăugare documente complete
retriever.add_documents(documents)

Această metodă elimină complet compromisul de trunchiere a contextului întâlnit în strategiile naive de chunking.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Parent Document Retriever: Indexare pe Fragmente Mici și Regăsire Contextuală Mare

Ai o întrebare despre Parent Document Retriever: Indexare pe Fragmente Mici și Regăsire Contextuală Mare sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.