Skip to main content

LLM framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data.

Project description

Green logo of a stylized white 'H' with the text 'Haystack, by deepset. Haystack 2.0 is live 🎉' Abstract green and yellow diagrams in the background.
CI/CD Tests types - Mypy Coverage Status Ruff
Docs Website
Package PyPI PyPI - Downloads PyPI - Python Version Conda Version GitHub License Compliance
Meta Discord Twitter Follow

Haystack is an end-to-end LLM framework that allows you to build applications powered by LLMs, Transformer models, vector search and more. Whether you want to perform retrieval-augmented generation (RAG), document search, question answering or answer generation, Haystack can orchestrate state-of-the-art embedding models and LLMs into pipelines to build end-to-end NLP applications and solve your use case.

Installation

The simplest way to get Haystack is via pip:

pip install haystack-ai

Install from the main branch to try the newest features:

pip install git+https://github.com/deepset-ai/haystack.git@main

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 can it do for you and the technology behind.

Features

[!IMPORTANT] You are currently looking at the readme of Haystack 2.0. We are still maintaining Haystack 1.x to give everyone enough time to migrate to 2.0. Switch to Haystack 1.x here.

  • Technology agnostic: Allow users the flexibility to decide what vendor or technology they want and make it easy to switch out any component for another. Haystack allows you to use and compare models available from OpenAI, Cohere and Hugging Face, as well as your own local models or models hosted on Azure, Bedrock and SageMaker.
  • Explicit: Make it transparent how different moving parts can “talk” to each other so it's easier to fit your tech stack and use case.
  • Flexible: Haystack provides all tooling in one place: database access, file conversion, cleaning, splitting, training, eval, inference, and more. And whenever custom behavior is desirable, it's easy to create custom components.
  • Extensible: Provide a uniform and easy way for the community and third parties to build their own components and foster an open ecosystem around Haystack.

Some examples of what you can do with Haystack:

  • Build retrieval augmented generation (RAG) by making use of one of the available vector databases and customizing your LLM interaction, the sky is the limit 🚀
  • Perform Question Answering in natural language to find granular answers in your documents.
  • Perform semantic search and retrieve documents according to meaning.
  • Build applications that can make complex decisions making to answer complex queries: such as systems that can resolve complex customer queries, do knowledge search on many disconnected resources and so on.
  • Scale to millions of docs using retrievers and production-scale components.
  • Use off-the-shelf models or fine-tune them to your data.
  • Use user feedback to evaluate, benchmark, and continuously improve your models.

[!TIP]

Are you looking for a managed solution that benefits from Haystack? deepset Cloud is our fully managed, end-to-end platform to integrate LLMs with your data, which uses Haystack for the LLM pipelines architecture.

🔜 Visual Pipeline Editor

Use deepset Studio to visually create and export your Haystack pipeline architecture as a YAML or as Python code. Learn more about it in our announcement post.

studio

👉 Join the waitlist!

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 and 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

Who Uses Haystack

Here's a list of projects and companies using Haystack. Want to add yours? Open a PR, add it to the list and let the world know that you use Haystack!

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haystack_ai-2.7.0rc1.tar.gz (243.2 kB view details)

Uploaded Source

Built Distribution

haystack_ai-2.7.0rc1-py3-none-any.whl (380.0 kB view details)

Uploaded Python 3

File details

Details for the file haystack_ai-2.7.0rc1.tar.gz.

File metadata

  • Download URL: haystack_ai-2.7.0rc1.tar.gz
  • Upload date:
  • Size: 243.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for haystack_ai-2.7.0rc1.tar.gz
Algorithm Hash digest
SHA256 c83526d3c78f7359310e6e9243b7b9c704d96dc900f1a3443d03b27a254aa420
MD5 3d0996e8be3df45c304a0fe2aa0cabe1
BLAKE2b-256 9f470a94bad3078cf5fe8af0757fa1fa3559f552a71d91229f5cd1ef81bdff5a

See more details on using hashes here.

File details

Details for the file haystack_ai-2.7.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for haystack_ai-2.7.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 df114c17262a5b749a94bf03e87d8029ca6e50d5681fb7e03211fa540054855e
MD5 89695c32078b3b38180133dc5690bf7f
BLAKE2b-256 b69055927c8943deb79157b8761fb8dac12079a3221db1d3b59b2900fdcb1e60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page