pythonintermediate
ChromaDB Persistent Vector Store
Create, persist, and query a ChromaDB vector store for semantic document retrieval.
pythonPress ⌘/Ctrl + Shift + C to copy
import chromadb
from chromadb.utils.embedding_functions import OpenAIEmbeddingFunction
client = chromadb.PersistentClient(path='./chroma_store')
ef = OpenAIEmbeddingFunction(model_name='text-embedding-3-small')
collection = client.get_or_create_collection('knowledge_base', embedding_function=ef)
documents = [
'Python is great for data science.',
'FastAPI builds high-performance APIs.',
'Docker containerizes applications easily.',
]
collection.add(
documents=documents,
ids=[f'doc_{i}' for i in range(len(documents))],
metadatas=[{'source': 'manual'} for _ in documents],
)
results = collection.query(query_texts=['data analysis tools'], n_results=2)
for doc, dist in zip(results['documents'][0], results['distances'][0]):
print(f'{dist:.3f}: {doc}')Use Cases
- local vector DB
- semantic retrieval
- persistent embeddings
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonintermediate
ChromaDB Vector Database Operations
Store and query vector embeddings using ChromaDB for semantic search and RAG applications.
Best for: semantic search
#ai#chromadb
typescriptadvanced
RAG Pipeline (Retrieve + Augment + Generate)
Minimal RAG implementation: embed a query, retrieve top-k chunks, inject into prompt.
Best for: document Q&A
#rag#embeddings
typescriptadvanced
RAG Pipeline Implementation
Build a retrieval-augmented generation pipeline that grounds LLM answers in your own documents.
Best for: Grounding LLM answers in private documents
#ai#rag
pythonadvanced
Build a RAG Pipeline with LangChain
Implement retrieval-augmented generation using LangChain, embeddings, and a vector store.
Best for: Knowledge base Q&A
#ai#langchain