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, or take a look at our Experiments API Reference.
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(...)
Additional References
🧑🍳 Cookbooks:
Updated about 1 month ago