- Home
- Skills
- Ancoleman
- Ai Design Components
- Using Vector Databases
using-vector-databases_skill
- Python
291
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill ancoleman/ai-design-components --skill using-vector-databases- outputs.yaml10.2 KB
- SKILL.md13.9 KB
Overview
This skill provides a complete, practical guide to implementing vector databases for AI/ML applications such as semantic search, RAG chatbots, and recommendation systems. It emphasizes Qdrant as the primary option while covering Pinecone, Milvus, pgvector, Chroma, and embedding providers. The content focuses on chunking, hybrid search patterns, metadata design, and production evaluation. It is presented for Python-first backends with TypeScript examples for integration.
How this skill works
The skill walks through selecting a vector store based on scale and operational preference, choosing embedding models by quality and cost trade-offs, and designing a full RAG pipeline from ingestion to generation and evaluation. It includes concrete code snippets for Qdrant (Python and TypeScript), chunking defaults, hybrid vector+BM25 search, metadata schemas for filtering, and performance optimizations like batching and caching. It also provides evaluation guidance using RAGAS metrics and troubleshooting steps.
When to use it
- Building RAG-enabled chatbots that must ground responses in private docs
- Adding semantic search to a documentation site or internal knowledge base
- Creating recommendation or similarity systems across text, images, or multimodal content
- Implementing code search or deduplication with metadata-aware filters
- Scaling to millions of vectors where filtering, re-ranking, and performance tuning matter
Best practices
- Choose DB by infrastructure and scale: pgvector for small PostgreSQL setups, Qdrant for flexible mid-scale, Milvus for >100M with GPU
- Use 512-token chunks with ~50-token overlap as a default; adapt by content type (code, long documents, multimodal)
- Apply metadata pre-filtering to reduce search space and support multi-tenant/ versioned docs
- Implement hybrid search (vector + BM25) and reciprocal rank fusion for best recall and precision
- Batch embedding generation, cache by content hash, and use MMR or re-ranking to increase result diversity
Example use cases
- RAG chatbot: Qdrant + OpenAI/Voyage embeddings, 512-token chunks, hybrid retrieval, LLM re-ranking
- Semantic search engine: Voyage embeddings for highest quality, Qdrant or Pinecone, hybrid search and date/category filters
- Code search: AST-aware chunking, language/file metadata, vector+keyword hybrid with language filter
- Multi-tenant knowledge base: metadata-driven filtering (org/user, product_version) and evaluation with RAGAS metrics
FAQ
Use Chroma or an embedded option like LanceDB for fast local prototypes; migrate to Qdrant or Pinecone for production.
What embedding model balances cost and quality?
text-embedding-3-small (OpenAI) offers strong performance at low cost; use text-embedding-3-large or Voyage for top quality when budget allows.
How do I reduce hallucinations in RAG?
Improve chunking, ensure relevant context retrieval with hybrid search, apply re-ranking (cross-encoder or LLM-based), and measure faithfulness with RAGAS.