DocumentationAPI ReferenceπŸ““ TutorialsπŸ§‘β€πŸ³ Cookbook🀝 IntegrationsπŸ’œ Discord

Experimental Package

Try out new experimental features with Haystack.

TheΒ haystack-experimentalΒ package allows you to test new experimental features without committing to their official release. Its main goal is to gather user feedback and iterate on new features quickly.

Check out theΒ haystack-experimentalΒ GitHub repositoryΒ for the latest catalog of available features.

Installation

For simplicity, every release ofΒ haystack-experimentalΒ includes all the available experiments at that time. To install the latest features, run:

pip install -U haystack-experimental

πŸ“˜

The latest version of the experimental package is only tested against the latest version of Haystack. Compatibility with older versions of Haystack is not guaranteed.

Lifecycle

Each experimental feature has a default lifespan of 3 months starting from the date of the first non-pre-release build that includes it. Once it reaches the end of its lifespan, we will remove it fromΒ haystack-experimentalΒ and either:

  • Merge the feature into Haystack and publish it with the next minor release,
  • Release the feature as an integration, or
  • Drop the feature.

Usage

You can import the experimental new features like any other Haystack integration package:

from haystack.dataclasses import ChatMessage
from haystack_experimental.components.generators import FoobarGenerator

c = FoobarGenerator()
c.run([ChatMessage.from_user("What's an experiment? Be brief.")])

Experiments can also override existing Haystack features. For example, you can opt into an experimental type of PipelineΒ by changing the usual import:

# from haystack import Pipeline
from haystack_experimental import Pipeline

pipe = Pipeline()
# ...
pipe.run(...)