Skip to content

Hybrid Retrieval SuperComponent #9210

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
julian-risch opened this issue Apr 10, 2025 · 2 comments · May be fixed by deepset-ai/haystack-core-integrations#1701
Open

Hybrid Retrieval SuperComponent #9210

julian-risch opened this issue Apr 10, 2025 · 2 comments · May be fixed by deepset-ai/haystack-core-integrations#1701
Assignees
Labels
P1 High priority, add to the next sprint

Comments

@julian-risch
Copy link
Member

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

@julian-risch julian-risch added the P1 High priority, add to the next sprint label Apr 11, 2025
@julian-risch julian-risch added this to the 2.13.0 milestone Apr 11, 2025
@davidsbatista
Copy link
Contributor

@julian-risch
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 High priority, add to the next sprint
Projects
None yet
2 participants