Summary Table
| DB | Hosting | Best For | Free Tier |
|---|
| Pinecone | Cloud | Production RAG | Yes (1 index) |
| Weaviate | Self/Cloud | Hybrid search | Yes |
| Qdrant | Self/Cloud | High performance | Yes |
| Chroma | Self | Development/Local | Yes |
| Faiss | Self | Research/offline | Yes |
My Recommendation
- Development/prototyping: Chroma (zero setup)
- Production RAG: Pinecone (managed, simple SDK)
- Self-hosted production: Qdrant (fastest, Docker-friendly)
- Hybrid search: Weaviate (BM25 + vector built-in)
Qdrant Quick Start
from qdrant_client import QdrantClient
client = QdrantClient(":memory:")
client.create_collection('docs', vectors_config=VectorParams(size=768, distance=Distance.COSINE))
client.upsert('docs', points=[PointStruct(id=1, vector=embedding, payload={'text': '...'})])
results = client.search('docs', query_vector=query_embedding, limit=5)