Haystack
Open source framework for RAG and agents from deepset
Haystack by deepset is a Python framework that developers use to build modular pipelines and agents for RAG, semantic search and assistants. The Agent component calls the model and tools in a loop, shares data via a typed state schema, loads tools from MCP servers and allows human review before tool calls. For multi-agent systems, an agent is wrapped as an AgentTool and given to a coordinator agent as a tool, creating coordinator/specialist architectures. Haystack is licensed under Apache-2.0; deepset additionally offers the Haystack Enterprise Platform with a free Studio plan and an Enterprise plan on request.
Good fit if
Focus: Developer teams building retrieval-heavy agents with explicit control over retrieval and data flow
- your project is about Agentic RAG over company documents, Coordinator with specialist agents or Semantic search
- someone on your team writes code
Probably not if
- nobody on your team writes code (2/5 for use without developers)
Key figures
- Usable without developers
- 2/5
- Scalability
- 4/5
- Integrations
- 5/5
- Versioning
- 3/5
- Observability
- 3/5
Editorial rating on a scale from 1 to 5. Methodology
Fact sheet
- Category
- Developer
- Type
- Open source framework for RAG and agents from deepset
- Licence
- Open Source (Apache-2.0)
- Pricing
- Open Source / CloudFramework without license fee (Apache-2.0). Haystack Enterprise Platform: Studio $0 (1 workspace, 1 user, 100 pipeline hours, 50 files, 2 development pipelines); Enterprise with unlimited workspaces, users and production pipelines, pricing on request.
- Deployment
- Cloud, Self-Hosted, Docker, Kubernetes
- Models
- OpenAI, Azure OpenAI, Anthropic, Google Gen AI, Amazon Bedrock, Mistral, Cohere, Hugging Face, Ollama
- RAG
- Yes
- Multi-Agent
- Yes
- SSO, roles (RBAC)
- SSO no, RBAC no
- Latest version
- 3.3.0 (haystack-ai, 01.10.2026)
- GitHub stars
- 26,716
Key features
- Agent as AgentTool for coordinator/specialist setups
- Modular pipelines for RAG and search
- MCP tools and serving as an MCP server via Hayhooks
- Typed agent state
- Human in the loop for tool calls
Typical use cases
- Agentic RAG over company documents
- Coordinator with specialist agents
- Semantic search
- Conversational assistants
Market notes
Changes to Haystack by email
We let you know when the status, pricing or license of Haystack changes, together with the weekly market notes.
Implementation
Get Haystack implemented
Free for you. Partners only pay for requests they accept.
Alternatives
Similar systems
Similar in category, features or use cases.
- DeveloperAgent SquadAgent Squad is an open source framework for Python, TypeScript and Swift that distributes requests across multiple specialized agents. A classifier selects the right agent for each message based on agent descriptions and conversation history; the SupervisorAgent additionally coordinates a team of agents in parallel using an agents-as-tools approach. The project was formerly called Multi-Agent Orchestrator, was hosted under awslabs and is now maintained by 2FastLabs. It is licensed under Apache-2.0 and runs locally, in containers or on AWS Lambda.View profile
- DeveloperLangChain Deep AgentsDeep Agents is an agent harness from LangChain for long, multi-step tasks, built on LangChain and the LangGraph runtime. It includes filesystem backends for context management, optional planning with todo lists, skills, long-term memory and human approval. For multi-agent work, the main agent delegates via the task tool to subagents with their own fresh context, each returning a final report; custom subagents are defined in the subagents parameter, and async subagents handle long-running or parallel work. The library is available for Python and JavaScript under the MIT license; tracing and deployment optionally run on the paid LangSmith platform.View profile
- Developersmolagentssmolagents is a Python library from Hugging Face whose agent logic fits in about a thousand lines of code. The central CodeAgent writes its actions as Python code, and the ToolCallingAgent covers classic JSON tool calling. For multi-agent systems, you pass additional agents to a manager agent in the managed_agents argument; these need a name and a description and are called by the manager like tools. The library is model agnostic, can execute code in sandboxes such as E2B, Modal, Blaxel or Docker, and is licensed under Apache-2.0.View profile
- DeveloperStrands AgentsStrands Agents is an open source SDK for Python and TypeScript that lets developers build AI agents and run them in their own process without a hosted control plane. For multiple agents it offers the built-in Graph and Swarm orchestrators, the Workflow pattern, agents as tools and the Agent2Agent protocol (A2A). In a Swarm, specialized agents hand off tasks autonomously; in a Graph, the developer defines the possible paths. The SDK is model agnostic and can run on Amazon Bedrock AgentCore, AWS Lambda, Fargate, EKS, Docker and Kubernetes, among others. It is licensed under Apache-2.0 and free; costs arise only for models and infrastructure.View profile