Home

Awesome

Haystack 2.x Core Integrations

This repository contains integrations to extend the capabilities of Haystack version 2.0 and onwards. The code in this repo is maintained by deepset, see each integration's README file for details around installation, usage and support.

Quick start

You will need hatch to work on or create new integrations, open this link and follow the install instructions for your operating system and platform.

All the integrations are self contained, so the first step before working on one is to cd into the proper folder. For example, to run the tests suite for the Chroma document store, from the root of the repo:

$ cd integrations/chroma
$ hatch run test

Hatch will take care of setting up an isolated Python environment and run the tests.

Please check out our Contribution Guidelines for all the details.

Inventory

License Compliance

PackageTypePyPi PackageStatus
amazon-bedrock-haystackGeneratorPyPI - VersionTest / amazon_bedrock
amazon-sagemaker-haystackGeneratorPyPI - VersionTest / amazon_sagemaker
anthropic-haystackGeneratorPyPI - VersionTest / anthropic
astra-haystackDocument StorePyPI - VersionTest / astra
chroma-haystackDocument StorePyPI - VersionTest / chroma
cohere-haystackEmbedder, Generator, RankerPyPI - VersionTest / cohere
deepeval-haystackEvaluatorPyPI - VersionTest / deepeval
elasticsearch-haystackDocument StorePyPI - VersionTest / elasticsearch
fastembed-haystackEmbedderPyPI - VersionTest / fastembed
google-ai-haystackGeneratorPyPI - VersionTest / google-ai
google-vertex-haystackGeneratorPyPI - VersionTest / google-vertex
instructor-embedders-haystackEmbedderPyPI - VersionTest / instructor-embedders
jina-haystackEmbedder, RankerPyPI - VersionTest / jina
langfuse-haystackTracerPyPI - VersionTest / langfuse
llama-cpp-haystackGeneratorPyPI - VersionTest / llama-cpp
mistral-haystackEmbedder, GeneratorPyPI - VersionTest / mistral
mongodb-atlas-haystackDocument StorePyPI - VersionTest / mongodb-atlas
nvidia-haystackGeneratorPyPI - VersionTest / nvidia
ollama-haystackEmbedder, GeneratorPyPI - VersionTest / ollama
opensearch-haystackDocument StorePyPI - VersionTest / opensearch
optimum-haystackEmbedderPyPI - VersionTest / optimum
pinecone-haystackDocument StorePyPI - VersionTest / pinecone
pgvector-haystackDocument StorePyPI - VersionTest / pgvector
qdrant-haystackDocument StorePyPI - VersionTest / qdrant
ragas-haystackEvaluatorPyPI - VersionTest / ragas
snowflake-haystackRetrieverPyPI - VersionTest / snowflake
unstructured-fileconverter-haystackFile converterPyPI - VersionTest / unstructured
uptrain-haystackEvaluatorPyPI - VersionStaged
weaviate-haystackDocument StorePyPI - VersionTest / weaviate

Releasing

[!NOTE] Only maintainers can release new versions of integrations. If you're a community contributor and want to release a new version of an integration, reach out to a maintainer.

To release a new version of an integration to PyPI tag the commit with the right version number and push the tag to GitHub. The GitHub Actions workflow will take care of the rest.

  1. Tag the commit with the right version number

    The tag needs to have the following format:

    git tag integrations/<INTEGRATION_FOLDER_NAME>-<version>
    

    For example, if we want to release version 1.0.99 of the google-vertex-haystack integration we'd have to push the tag:

    git tag integrations/google_vertex-v1.0.99
    
  2. Push the tag to GitHub

    git push --tags origin
    
  3. Wait for the CI to do its magic