What you get
- Seventeen retrieval and RAG patterns implemented using Haystack’s pipeline and component abstractions
- Full portability across Pinecone, Weaviate, Chroma, Milvus, and Qdrant (with feature-specific notes on backend support)
- YAML-driven configuration with environment variable substitution so credentials stay out of code
- Evaluation support via shared
utils/evaluation.pymetrics - Shared reusable components and helper factories that all feature pipelines draw from
Module structure
Each feature directory follows the same layout:Feature catalog
Semantic search
Dense vector similarity search - the baseline pattern
Hybrid search
Combines dense + sparse embeddings with RRF fusion
Components
Reusable pipeline components for routing, compression, and query enhancement
Pipelines
Pipeline architecture patterns and composition
Core retrieval patterns
Advanced retrieval
Production features
Embedding configuration
All Haystack feature pipelines read embedding configuration from the YAML config:RAG configuration
Generation is controlled by therag section:
enabled: false to run retrieval-only pipelines without generation.
Recommended onboarding path
1
Run semantic search baseline
Start with
semantic_search on your target backend with a small dataset limit (100-200 records) and verify the pipeline loads, indexes, and retrieves successfully.2
Measure retrieval quality
Use
evaluation_queries() and evaluate_retrieval() to establish baseline metrics.3
Add improvements incrementally
Add one improvement feature at a time (e.g.,
reranking or hybrid_indexing) and measure whether quality improves on your evaluation set.4
Add production features
Once the retrieval baseline is strong, adopt
multi_tenancy or namespaces for data isolation, and cost_optimized_rag for budget controls.5
Handle complex queries
Use
agentic_rag or query_enhancement for hard multi-hop questions where single-pass retrieval falls short.Supported backends
- Chroma: Local embedded vector database with SQLite persistence
- Milvus: High-performance distributed vector database
- Pinecone: Managed vector database with native sparse vector support
- Qdrant: Vector database with advanced filtering and multitenancy
- Weaviate: GraphQL-based vector database with semantic search
Next steps
Semantic search
Start with the baseline semantic search pattern
Hybrid search
Learn about dense + sparse hybrid retrieval
Components
Explore reusable pipeline components
Pipelines
Understand pipeline architecture patterns