Clasa VectorStoreIndex & .from_documents() în LlamaIndex & Data RAG

Ingestie, Parsare & Indexare Nivel: începător

Structura centrală din LlamaIndex: împarte documentele în noduri (Nodes), calculează vectorii de embedding și construiește un index pregătit de interogare.

Sintaxă & invocare Python
from llama_index.core import VectorStoreIndex

index = VectorStoreIndex.from_documents(documents, show_progress=True)
query_engine = index.as_query_engine()
raspuns = query_engine.query('Care sunt concluziile principale din raport?')

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 fiecare TextNode.

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