haystack
**Haystack** is the **open-source NLP framework by deepset for building production-ready search, question answering, and RAG pipelines** — providing a modular pipeline architecture where components like retrievers, readers, generators, and rankers can be composed into end-to-end systems that process documents, answer questions, and generate grounded responses at enterprise scale.
**What Is Haystack?**
- **Definition**: A Python framework for building composable NLP and LLM pipelines with emphasis on search, QA, and retrieval-augmented generation.
- **Core Architecture**: Directed acyclic graph (DAG) pipelines where modular components connect through typed inputs and outputs.
- **Creator**: deepset (Berlin-based startup focused on NLP infrastructure).
- **Version**: Haystack 2.0 introduced a complete redesign with improved modularity and LLM support.
**Why Haystack Matters**
- **Production Focus**: Designed from the ground up for production deployments with proper error handling, logging, and scaling.
- **Pipeline Modularity**: Components are interchangeable — swap retrievers, models, or rankers without rewriting pipeline logic.
- **Enterprise Features**: Built-in support for authentication, multi-tenancy, and deployment on Kubernetes.
- **Evaluation**: Integrated evaluation tools for measuring pipeline quality (recall, MRR, F1) out of the box.
- **Flexibility**: Works with OpenAI, Hugging Face, Cohere, local models, and custom components.
**Core Pipeline Components**
| Component | Role | Examples |
|-----------|------|---------|
| **Document Stores** | Persistent document storage | Elasticsearch, Weaviate, Pinecone |
| **Retrievers** | Find relevant documents | BM25, Dense Passage, Hybrid |
| **Readers** | Extract answers from documents | BERT-based extractive QA |
| **Generators** | Generate responses from context | GPT-4, Claude, Llama |
| **Rankers** | Re-rank retrieved documents | Cross-encoder, Cohere Rerank |
| **Converters** | Transform document formats | PDF, HTML, Markdown parsers |
**Pipeline Patterns**
- **Extractive QA**: Retriever → Reader → Answer extraction from documents.
- **Generative QA (RAG)**: Retriever → Prompt Builder → Generator.
- **Hybrid Search**: Sparse Retriever + Dense Retriever → Ranker → Results.
- **Indexing**: Converter → Preprocessor → Embedder → Document Store.
**Haystack vs Alternatives**
| Feature | Haystack | LangChain | LlamaIndex |
|---------|----------|-----------|------------|
| **Architecture** | DAG pipelines | Chains/agents | Index/query engines |
| **Strength** | Production search/QA | General LLM apps | Data indexing |
| **Evaluation** | Built-in | Third-party | Built-in |
| **Deployment** | Kubernetes-ready | Manual | LlamaCloud |
Haystack is **the framework of choice for production NLP and search systems** — providing the robust, modular pipeline architecture that enterprises need to deploy reliable search, QA, and RAG systems at scale.