/ haystack / components / embedders / __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      "azure_document_embedder": ["AzureOpenAIDocumentEmbedder"],
12      "azure_text_embedder": ["AzureOpenAITextEmbedder"],
13      "hugging_face_api_document_embedder": ["HuggingFaceAPIDocumentEmbedder"],
14      "hugging_face_api_text_embedder": ["HuggingFaceAPITextEmbedder"],
15      "openai_document_embedder": ["OpenAIDocumentEmbedder"],
16      "openai_text_embedder": ["OpenAITextEmbedder"],
17      "sentence_transformers_document_embedder": ["SentenceTransformersDocumentEmbedder"],
18      "sentence_transformers_text_embedder": ["SentenceTransformersTextEmbedder"],
19      "sentence_transformers_sparse_document_embedder": ["SentenceTransformersSparseDocumentEmbedder"],
20      "sentence_transformers_sparse_text_embedder": ["SentenceTransformersSparseTextEmbedder"],
21  }
22  
23  if TYPE_CHECKING:
24      from .azure_document_embedder import AzureOpenAIDocumentEmbedder as AzureOpenAIDocumentEmbedder
25      from .azure_text_embedder import AzureOpenAITextEmbedder as AzureOpenAITextEmbedder
26      from .hugging_face_api_document_embedder import HuggingFaceAPIDocumentEmbedder as HuggingFaceAPIDocumentEmbedder
27      from .hugging_face_api_text_embedder import HuggingFaceAPITextEmbedder as HuggingFaceAPITextEmbedder
28      from .openai_document_embedder import OpenAIDocumentEmbedder as OpenAIDocumentEmbedder
29      from .openai_text_embedder import OpenAITextEmbedder as OpenAITextEmbedder
30      from .sentence_transformers_document_embedder import (
31          SentenceTransformersDocumentEmbedder as SentenceTransformersDocumentEmbedder,
32      )
33      from .sentence_transformers_sparse_document_embedder import (
34          SentenceTransformersSparseDocumentEmbedder as SentenceTransformersSparseDocumentEmbedder,
35      )
36      from .sentence_transformers_sparse_text_embedder import (
37          SentenceTransformersSparseTextEmbedder as SentenceTransformersSparseTextEmbedder,
38      )
39      from .sentence_transformers_text_embedder import (
40          SentenceTransformersTextEmbedder as SentenceTransformersTextEmbedder,
41      )
42  
43  else:
44      sys.modules[__name__] = LazyImporter(name=__name__, module_file=__file__, import_structure=_import_structure)