Descriere & Utilizare
Cu doar 5 linii de cod, VectorStoreIndex îți oferă un sistem RAG complet funcțional. Apelul VectorStoreIndex.from_documents(documents) orchestrează automat trei operațiuni complexe în spate:
1. Sparge fiecare Document în fragmente mai mici numite Nodes (implicit bucăți de 1024 de tokeni).
2. Trimite textul fiecărui nod către modelul de embedding configurat și obține vectorul său matematic.
3. Salvează nodurile și vectorii în memorie (sau într-o bază vectorială externă) pentru căutare rapidă prin similitudine cosinus.
De asemenea, poți adăuga sau șterge documente dinamic dintr-un index existent fără a reconstrui totul, folosind index.insert(doc_nou) sau index.delete_ref_doc(doc_id).
Cum să o reții ușor
💡 Ca indexul tematic de la sfârșitul unui tratat științific: nu doar că împarte cartea în paragrafe numerotate, dar creează o hartă instantanee a tuturor conceptelor, astfel încât să găsești orice subiect în câteva milisecunde.
Opțiuni și parametri tehnici
- Aplică pipeline-ul de transformări (NodeParser) asupra listei de documente.
- Grupează apelurile de embedding în batch-uri eficiente pentru a nu depăși limitele de rată API.
- Construiește graful de referințe părinte-copil între
Documentși fiecareTextNode.
Exemple practice și cazuri de utilizare
- Creare cu bară de progres:
index = VectorStoreIndex.from_documents(docs, show_progress=True) - Creare direct dintr-o listă de noduri preprocesate:
index = VectorStoreIndex(nodes) - Verificare surse folosite la răspuns:
print(raspuns.source_nodes[0].node.get_text())
Sfaturi de configurare & capcane
Obiectul returnat de query_engine.query(...) nu conține doar textul răspunsului, ci și atributul raspuns.source_nodes, din care poți extrage exact pagina PDF și scorul de similitudine (node.score) pentru a cita sursele în interfață!
Comenzi și ghiduri înrudite
simple-directory-reader: Resursă asociată din acest modul.query-engine: Resursă asociată din acest modul.storage-context-persist: Resursă asociată din acest modul.