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
However according to typings the supplied retrievers are limited to those implemented in BEIR. If we want to integrate BEIR in other tools (like e.g. haystack) a custom retriever is basically easy to implement (see deepset-ai/haystack#2333). This is due to the fact that all retrievers share a common interface of course. However the typings on EvaluateRetrieval do not account for this explicitly. A common abstract base class instead of a Tuple of all implemented retrievers would make this extensibility more comprehensive.
The text was updated successfully, but these errors were encountered:
Thank you for bringing up this issue. I agree with your point. Could you provide an implementation that you have in mind for a common abstract base class and provide a pull request for that? I can check and merge it in the future.
Also, happy to see BEIR integrated within haystack.
The current design of
EvaluateRetrieval
is already supporting multiple different retrievers. Seebeir/beir/retrieval/evaluation.py
Line 14 in bb8a058
However according to typings the supplied retrievers are limited to those implemented in BEIR. If we want to integrate BEIR in other tools (like e.g. haystack) a custom retriever is basically easy to implement (see deepset-ai/haystack#2333). This is due to the fact that all retrievers share a common interface of course. However the typings on
EvaluateRetrieval
do not account for this explicitly. A common abstract base class instead of a Tuple of all implemented retrievers would make this extensibility more comprehensive.The text was updated successfully, but these errors were encountered: