haystack README

The project's README from github.com/deepset-ai/haystack. As one markdown file: README.md.

Blue banner with the Haystack logo and the text ‘haystack by deepset – The Open Source AI Framework for Production Ready RAG & Agents’ surrounded by abstract icons representing search, documents, agents, pipelines, and cloud systems.
CI/CD Tests types - Mypy Coverage badge Ruff
Docs Website
Package PyPI PyPI - Downloads PyPI - Python Version Conda Version GitHub License Compliance HVTrust Evidence Grade OpenSSF Best Practices
Meta Discord Twitter Follow

🎉🎊✨   Haystack 3.0 is out!   ✨🎊🎉

Read the announcement here!

🥳 🎈 🎆 🪅 🎇 🍾 🥂 🎁 🌈

Haystack is an open-source AI orchestration framework for building production-ready LLM applications in Python.

Design modular pipelines and agent workflows with explicit control over retrieval, routing, memory, and generation. Build scalable RAG systems, multimodal applications, semantic search, question answering, and autonomous agents, all in a transparent architecture that lets you experiment, customize deeply, and deploy with confidence.

Table of Contents

Installation

The simplest way to get Haystack is via pip:

pip install haystack-ai

Install nightly pre-releases to try the newest features:

pip install --pre haystack-ai

Haystack supports multiple installation methods, including Docker images. For a comprehensive guide, please refer to the documentation.

Documentation

If you're new to the project, check out "What is Haystack?" then go through the "Get Started Guide" and build your first LLM application in a matter of minutes. Keep learning with the tutorials. For more advanced use cases, or just to get some inspiration, you can browse our Haystack recipes in the Cookbook.

At any given point, hit the documentation to learn more about Haystack, what it can do for you, and the technology behind.

Features

Agents built for production
Extend agent behavior with lifecycle hooks (before_llm, before_tool, on_exit, …) for guardrails and custom logic, and track step_count, token_usage, and tool calls out of the box for monitoring and cost control. Get started fast with ready-made agents from Agent Pack (e.g., a deep research agent, or an advanced RAG agent) or give your own agents progressive skill discovery via SkillToolset, so skill descriptions only enter context when needed.

Built for context engineering
Design flexible systems with explicit control over how information is retrieved, ranked, filtered, combined, structured, and routed before it reaches the model. Define pipelines and agent workflows where retrieval, memory, tools, and generation are transparent and traceable.

Native Async Support
One Pipeline runs synchronously or asynchronously and streams token by token. Agent can run concurrent tool calls.

Modular and customizable
Use built-in components for retrieval, indexing, tool calling, memory, and evaluation, or create your own. Add loops, branches, and conditional logic to precisely control how context moves through your pipelines and agent workflows.

Model- and vendor-agnostic
Integrate with OpenAI, Mistral, Anthropic, Cohere, Hugging Face, Google, Azure OpenAI, AWS Bedrock, local models, and many others. Swap models or infrastructure components without rewriting your system.

Extensible ecosystem
Build and share custom components through a consistent interface that makes it easy for the community and third parties to extend Haystack and contribute to an open ecosystem.

[!TIP]

Would you like to deploy and serve Haystack pipelines as REST APIs or MCP servers? Hayhooks provides a simple way for you to wrap pipelines and agents with custom logic and expose them through HTTP endpoints or MCP. It also supports OpenAI-compatible chat completion endpoints and works with chat UIs like open-webui.

Haystack Enterprise: Support & Platform

Get expert support from the Haystack team, build faster with enterprise-grade templates, and scale securely with deployment guides for cloud and on-prem environments with Haystack Enterprise Starter. Read more about it in the announcement post.

👉 Get Haystack Enterprise Starter

Need a managed production setup for Haystack? The Haystack Enterprise Platform helps you build, test, deploy and operate Haystack pipelines with built-in observability, collaboration, governance, and access controls. It’s available as a managed cloud service or as a self-hosted solution.

👉 Learn more about Haystack Enterprise Platform or try it free

Telemetry

Haystack collects anonymous usage statistics of pipeline components. We receive an event every time these components are initialized. This way, we know which components are most relevant to our community.

Read more about telemetry in Haystack or how you can opt out in Haystack docs.

🖖 Community

If you have a feature request or a bug report, feel free to open an issue in GitHub. We regularly check these, so you can expect a quick response. If you'd like to discuss a topic or get more general advice on how to make Haystack work for your project, you can start a thread in Github Discussions or our Discord channel. We also check 𝕏 (Twitter) and Stack Overflow.

Contributing to Haystack

We are very open to the community's contributions - be it a quick fix of a typo, or a completely new feature! You don't need to be a Haystack expert to provide meaningful improvements. To learn how to get started, check out our Contributor Guidelines first.

There are several ways you can contribute to Haystack:

[!TIP] 👉 Check out the full list of issues that are open to contributions

Organizations using Haystack

Haystack is used by thousands of teams building production AI systems across industries, including:

Are you also using Haystack? Open a PR or tell us your story

haystack (deepset-ai/haystack)

Searching Database…

26.8K ·GitHub
What is this?An open-source AI orchestration framework for building production-ready LLM applications in Python: modular pipelines and agent workflows with explicit control over retrieval, routing, memory, and generation.
Is it a framework I build on in my own code, or a ready-made app I install?It is a Python framework you code against — you compose pipelines and agents from built-in or custom components rather than install a finished product. To serve your pipelines as REST APIs or MCP servers, the companion project Hayhooks wraps them for you.
How do I get it running?Install it via pip; nightly pre-releases and Docker images are also supported. Then work through the Get Started Guide — it should take minutes to build your first LLM app, with tutorials and a Cookbook for deeper use cases.
Do I have to commit to one LLM provider to use it?No, it is model- and vendor-agnostic: plug in OpenAI, Mistral, Anthropic, Cohere, Hugging Face, Google, Azure OpenAI, AWS Bedrock, or local models, and swap them without rewriting your system.
Is everything free, or is there a catch?The core framework is free and open source, but expert support, enterprise-grade templates, and the managed or self-hosted Enterprise Platform are paid Haystack Enterprise offerings.
Does it send any data about my usage anywhere?Yes, it collects anonymous telemetry reporting which pipeline components you initialize, and you can opt out via an option described in the docs.
What kinds of applications can I build with it?Scalable RAG systems, multimodal applications, semantic search, question answering, and autonomous agents. Pipelines support loops, branches, and conditional logic, so how context is retrieved, filtered, combined, and routed stays explicit and traceable.
What makes its agents production-ready?Lifecycle hooks (before_llm, before_tool, on_exit) let you add guardrails and custom logic, while step_count, token_usage, and tool calls are tracked out of the box for monitoring and cost control. Pipelines run sync or async and stream token by token, agents can make concurrent tool calls, and ready-made agents ship in Agent Pack, such as a deep research agent and an advanced RAG agent.
Can I expose my pipelines as REST APIs or MCP servers?Yes — Hayhooks wraps pipelines and agents with custom logic and exposes them through HTTP endpoints or MCP. It also supports OpenAI-compatible chat completion endpoints and works with chat UIs like open-webui.
Is it actually used in production, or mostly experimental?Thousands of teams run it in production, including Apple, Meta, Databricks, NVIDIA, Netflix, Airbus, and the European Commission. The project has been around since 2019 and is currently at version 3.0.
Creator
deepset-ai
Size
394.2 MB
Stars
26.8K
Age
6y
Commits · 90 Days