• Stars
    star
    14,953
  • Rank 1,973 (Top 0.04 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ” LLM orchestration 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. With advanced retrieval methods, it's best suited for building RAG, question answering, semantic search or conversational agent chatbots.
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 code style - Black types - Mypy Coverage Status
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

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.

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:

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!

More Repositories

1

FARM

🏑 Fast & easy transfer learning for NLP. Harvesting language models for the industry. Focus on Question Answering.
Python
1,736
star
2

haystack-cookbook

πŸ‘©πŸ»β€πŸ³ A collection of example notebooks
Jupyter Notebook
362
star
3

COVID-QA

API & Webapp to answer questions about COVID-19. Using NLP (Question Answering) and trusted data sources.
Jupyter Notebook
344
star
4

haystack-tutorials

Here you can find all the Tutorials for Haystack πŸ““
Jupyter Notebook
238
star
5

prompthub

Go
127
star
6

haystack-demos

Fully working applications that demonstrate how to use Haystack to implement common NLP use cases
Python
102
star
7

haystack-core-integrations

Additional packages (components, document stores and the likes) to extend the capabilities of Haystack version 2.0 and onwards
Python
81
star
8

haystack-integrations

πŸš€ A list of Haystack Integrations, maintained by the community or deepset.
54
star
9

rasa-haystack

Python
46
star
10

haystack-website

Contents moved to https://github.com/deepset-ai/haystack-home
TypeScript
31
star
11

hayhooks

Deploy Haystack pipelines behind a REST Api.
Python
30
star
12

rag-with-nvidia-nims

πŸš€ Use NVIDIA NIMs with Haystack pipelines
Python
28
star
13

canals

A component orchestration engine
Python
27
star
14

haystack-search-pipeline-streamlit

πŸš€ Template Haystack Search Application with Streamlit
Python
21
star
15

haystack-home

Website for Haystack, the open source LLM framework
HTML
13
star
16

haystack-sagemaker

πŸš€ This repo is a showcase of how you can use models deployed on AWS SageMaker in your Haystack Retrieval Augmented Generative AI pipelines
Jupyter Notebook
13
star
17

haystack-helm

Repo containing haystack helm charts
Smarty
8
star
18

haystack-experimental

Python
8
star
19

deepset-cloud-sdk

A Python SDK to interact with deepset Cloud
Python
8
star
20

biqa-llm

Python
8
star
21

visualizer-source-text

Source text for deepset Cloud pipeline nodes
5
star
22

haystack-evaluation

Using Haystack to benchmark different architectures over different datasets
Jupyter Notebook
5
star
23

haystack-rest-api

Python
5
star
24

document-store

Python
5
star
25

rag-ui-nextjs

An example of a simple UI for a deepset Cloud RAG pipeline using Next.js
JavaScript
4
star
26

templates

Usable templates for your work.
3
star
27

prompthub-py

Python
3
star
28

charts

Smarty
1
star
29

haystack-json-schema

JSON Schema for validating Haystack Pipeline YAML files
1
star
30

.github

1
star