Integrarea cu Baze Vectoriale (Chroma & Qdrant) în LlamaIndex & Data RAG

Conectează LlamaIndex la motoare de baze de date vectoriale dedicate (ChromaDB, Qdrant, Pinecone, Milvus, pgvector) pentru scalabilitate la milioane de documente.

Sintaxă & invocare Python
import chromadb
from llama_index.vector_stores.chroma import ChromaVectorStore

db = chromadb.PersistentClient(path='./chroma_db')
chroma_collection = db.get_or_create_collection('documente_companie')
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(docs, storage_context=storage_context)

Descriere & Utilizare

În aplicațiile enterprise, vectorii nu se țin în fișiere JSON, ci în baze de date vectoriale specializate care oferă indexare HNSW pe disc, filtrare avansată pe metadate și acces concurent.

LlamaIndex are integrări native cu peste 40 de baze vectoriale. Arhitectura este întotdeauna aceeași: creezi clientul bazei de date (ex: chromadb sau qdrant_client), îl împachetezi în clasa VectorStore corespunzătoare și îl pasezi într-un StorageContext.

Când baza de date este deja populată și vrei doar să te conectezi la ea fără să re-adaugi documentele, folosești metoda VectorStoreIndex.from_vector_store(vector_store).

Cum să o reții ușor

💡 Ca mutarea registrelor contabile dintr-un caiet păstrat în sertar într-un server de baze de date bancar securizat: interfața prin care cauți rămâne neschimbată, dar în spate poți stoca milioane de înregistrări.

Opțiuni și parametri tehnici

  • Înlocuiește SimpleVectorStore-ul din memorie cu adaptorul bazei de date alese.
  • Deleagă stocarea pe disc și căutarea ANN (Approximate Nearest Neighbors) motorului nativ în C++/Rust al lui Chroma sau Qdrant.

Exemple practice și cazuri de utilizare

  • Reconectare rapidă la o bază Chroma existentă (fără reindexare): index = VectorStoreIndex.from_vector_store(vector_store)
  • Conectare la Qdrant local: client = QdrantClient(path='./qdrant_data'); vs = QdrantVectorStore(client=client, collection_name='docs')

Sfaturi de configurare & capcane

Când folosești o bază vectorială persistentă precum Chroma sau Qdrant, datele sunt salvate automat în timp real în baza de date; nu mai este nevoie să apelezi manual storage_context.persist().

Comenzi și ghiduri înrudite