/ haystack / components / retrievers / __init__.py
__init__.py
 1  # SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
 2  #
 3  # SPDX-License-Identifier: Apache-2.0
 4  
 5  import sys
 6  from typing import TYPE_CHECKING
 7  
 8  from lazy_imports import LazyImporter
 9  
10  _import_structure = {
11      "auto_merging_retriever": ["AutoMergingRetriever"],
12      "filter_retriever": ["FilterRetriever"],
13      "in_memory": ["InMemoryBM25Retriever", "InMemoryEmbeddingRetriever"],
14      "multi_query_embedding_retriever": ["MultiQueryEmbeddingRetriever"],
15      "multi_query_text_retriever": ["MultiQueryTextRetriever"],
16      "sentence_window_retriever": ["SentenceWindowRetriever"],
17  }
18  
19  if TYPE_CHECKING:
20      from .auto_merging_retriever import AutoMergingRetriever as AutoMergingRetriever
21      from .filter_retriever import FilterRetriever as FilterRetriever
22      from .in_memory import InMemoryBM25Retriever as InMemoryBM25Retriever
23      from .in_memory import InMemoryEmbeddingRetriever as InMemoryEmbeddingRetriever
24      from .multi_query_embedding_retriever import MultiQueryEmbeddingRetriever as MultiQueryEmbeddingRetriever
25      from .multi_query_text_retriever import MultiQueryTextRetriever as MultiQueryTextRetriever
26      from .sentence_window_retriever import SentenceWindowRetriever as SentenceWindowRetriever
27  
28  else:
29      sys.modules[__name__] = LazyImporter(name=__name__, module_file=__file__, import_structure=_import_structure)