You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once we start adding ready-made SuperComponents to Haystack, we should add a HybridRetriever SuperComponent because hybrid retrieval is one of the most common patterns we see in pipelines and it comprises at least four components.
A challenge is that the SuperComponent should be DocumentStore-agnostic. It's init parameters should include a DocumentStore, using the DocumentStore protocol. Given the DocumentStore, we could do lazy import checks and then initialize an EmbeddingRetriever, BM25Retriever, DocumentJoiner, TextEmbedder.
Instead of having a HybridRetriever component in the haystack repo, let's implement a first OpenSearchHybridRetriever in the haystack-core-integrations repo instead. Main reason is that all the retrievers expose different parameters. For an OpenSearchHybridRetriever, we should explore if we can implement it with a lazyimport check for super_component. That way, users of an older Haystack version <2.13 can upgrade their version of the opensearch-haystack integration without being forced to also upgrade their Haystack version.
Once we start adding ready-made SuperComponents to Haystack, we should add a HybridRetriever SuperComponent because hybrid retrieval is one of the most common patterns we see in pipelines and it comprises at least four components.
A challenge is that the SuperComponent should be DocumentStore-agnostic. It's init parameters should include a DocumentStore, using the DocumentStore protocol. Given the DocumentStore, we could do lazy import checks and then initialize an EmbeddingRetriever, BM25Retriever, DocumentJoiner, TextEmbedder.
We should update the hybrid retrieval tutorial with the new SuperComponent: https://haystack.deepset.ai/tutorials/33_hybrid_retrieval
The text was updated successfully, but these errors were encountered: