Choosing a vector database is one of the first decisions in any RAG project. Three options dominate developer usage: Pinecone , Chroma , and Weaviate . Here's a practical comparison.
Quick Overview
Pinecone Chroma Weaviate
Hosting Managed cloud only Local or cloud Self-hosted or cloud
Setup time 5 minutes 1 minute 10–20 minutes
Free tier Yes (1 index) Yes (local) Yes (self-hosted)
Best for Production scale Development, prototyping Hybrid search, complex queries
Chroma: Start Here
Chroma runs in-process — no server needed. Perfect for development and small projects.
pip install chromadb
Enter fullscreen mode
Exit fullscreen mode
import chromadb from chromadb.utils import embedding_functions
client = chromadb . PersistentClient ( " ./chroma_db " )
ef = embedding_functions . SentenceTransformerEmbeddingFunction ( model_name = " all-MiniLM-L6-v2 " )
collection = client . get_or_create_collection ( " docs " , embedding_function = ef )
collection .…