|
"""**Embedding models** are wrappers around embedding models |
|
from different APIs and services. |
|
|
|
**Embedding models** can be LLMs or not. |
|
|
|
**Class hierarchy:** |
|
|
|
.. code-block:: |
|
|
|
Embeddings --> <name>Embeddings # Examples: OpenAIEmbeddings, HuggingFaceEmbeddings |
|
""" |
|
|
|
import logging |
|
from typing import TYPE_CHECKING, Any |
|
|
|
from langchain._api import create_importer |
|
from langchain.embeddings.base import init_embeddings |
|
from langchain.embeddings.cache import CacheBackedEmbeddings |
|
|
|
if TYPE_CHECKING: |
|
from langchain_community.embeddings import ( |
|
AlephAlphaAsymmetricSemanticEmbedding, |
|
AlephAlphaSymmetricSemanticEmbedding, |
|
AwaEmbeddings, |
|
AzureOpenAIEmbeddings, |
|
BedrockEmbeddings, |
|
BookendEmbeddings, |
|
ClarifaiEmbeddings, |
|
CohereEmbeddings, |
|
DashScopeEmbeddings, |
|
DatabricksEmbeddings, |
|
DeepInfraEmbeddings, |
|
DeterministicFakeEmbedding, |
|
EdenAiEmbeddings, |
|
ElasticsearchEmbeddings, |
|
EmbaasEmbeddings, |
|
ErnieEmbeddings, |
|
FakeEmbeddings, |
|
FastEmbedEmbeddings, |
|
GooglePalmEmbeddings, |
|
GPT4AllEmbeddings, |
|
GradientEmbeddings, |
|
HuggingFaceBgeEmbeddings, |
|
HuggingFaceEmbeddings, |
|
HuggingFaceHubEmbeddings, |
|
HuggingFaceInferenceAPIEmbeddings, |
|
HuggingFaceInstructEmbeddings, |
|
InfinityEmbeddings, |
|
JavelinAIGatewayEmbeddings, |
|
JinaEmbeddings, |
|
JohnSnowLabsEmbeddings, |
|
LlamaCppEmbeddings, |
|
LocalAIEmbeddings, |
|
MiniMaxEmbeddings, |
|
MlflowAIGatewayEmbeddings, |
|
MlflowEmbeddings, |
|
ModelScopeEmbeddings, |
|
MosaicMLInstructorEmbeddings, |
|
NLPCloudEmbeddings, |
|
OctoAIEmbeddings, |
|
OllamaEmbeddings, |
|
OpenAIEmbeddings, |
|
OpenVINOEmbeddings, |
|
QianfanEmbeddingsEndpoint, |
|
SagemakerEndpointEmbeddings, |
|
SelfHostedEmbeddings, |
|
SelfHostedHuggingFaceEmbeddings, |
|
SelfHostedHuggingFaceInstructEmbeddings, |
|
SentenceTransformerEmbeddings, |
|
SpacyEmbeddings, |
|
TensorflowHubEmbeddings, |
|
VertexAIEmbeddings, |
|
VoyageEmbeddings, |
|
XinferenceEmbeddings, |
|
) |
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
class HypotheticalDocumentEmbedder: |
|
def __init__(self, *args: Any, **kwargs: Any): |
|
logger.warning( |
|
"Using a deprecated class. Please use " |
|
"`from langchain.chains import HypotheticalDocumentEmbedder` instead" |
|
) |
|
from langchain.chains.hyde.base import HypotheticalDocumentEmbedder as H |
|
|
|
return H(*args, **kwargs) |
|
|
|
@classmethod |
|
def from_llm(cls, *args: Any, **kwargs: Any) -> Any: |
|
logger.warning( |
|
"Using a deprecated class. Please use " |
|
"`from langchain.chains import HypotheticalDocumentEmbedder` instead" |
|
) |
|
from langchain.chains.hyde.base import HypotheticalDocumentEmbedder as H |
|
|
|
return H.from_llm(*args, **kwargs) |
|
|
|
|
|
|
|
|
|
|
|
DEPRECATED_LOOKUP = { |
|
"AlephAlphaAsymmetricSemanticEmbedding": "langchain_community.embeddings", |
|
"AlephAlphaSymmetricSemanticEmbedding": "langchain_community.embeddings", |
|
"AwaEmbeddings": "langchain_community.embeddings", |
|
"AzureOpenAIEmbeddings": "langchain_community.embeddings", |
|
"BedrockEmbeddings": "langchain_community.embeddings", |
|
"BookendEmbeddings": "langchain_community.embeddings", |
|
"ClarifaiEmbeddings": "langchain_community.embeddings", |
|
"CohereEmbeddings": "langchain_community.embeddings", |
|
"DashScopeEmbeddings": "langchain_community.embeddings", |
|
"DatabricksEmbeddings": "langchain_community.embeddings", |
|
"DeepInfraEmbeddings": "langchain_community.embeddings", |
|
"DeterministicFakeEmbedding": "langchain_community.embeddings", |
|
"EdenAiEmbeddings": "langchain_community.embeddings", |
|
"ElasticsearchEmbeddings": "langchain_community.embeddings", |
|
"EmbaasEmbeddings": "langchain_community.embeddings", |
|
"ErnieEmbeddings": "langchain_community.embeddings", |
|
"FakeEmbeddings": "langchain_community.embeddings", |
|
"FastEmbedEmbeddings": "langchain_community.embeddings", |
|
"GooglePalmEmbeddings": "langchain_community.embeddings", |
|
"GPT4AllEmbeddings": "langchain_community.embeddings", |
|
"GradientEmbeddings": "langchain_community.embeddings", |
|
"HuggingFaceBgeEmbeddings": "langchain_community.embeddings", |
|
"HuggingFaceEmbeddings": "langchain_community.embeddings", |
|
"HuggingFaceHubEmbeddings": "langchain_community.embeddings", |
|
"HuggingFaceInferenceAPIEmbeddings": "langchain_community.embeddings", |
|
"HuggingFaceInstructEmbeddings": "langchain_community.embeddings", |
|
"InfinityEmbeddings": "langchain_community.embeddings", |
|
"JavelinAIGatewayEmbeddings": "langchain_community.embeddings", |
|
"JinaEmbeddings": "langchain_community.embeddings", |
|
"JohnSnowLabsEmbeddings": "langchain_community.embeddings", |
|
"LlamaCppEmbeddings": "langchain_community.embeddings", |
|
"LocalAIEmbeddings": "langchain_community.embeddings", |
|
"MiniMaxEmbeddings": "langchain_community.embeddings", |
|
"MlflowAIGatewayEmbeddings": "langchain_community.embeddings", |
|
"MlflowEmbeddings": "langchain_community.embeddings", |
|
"ModelScopeEmbeddings": "langchain_community.embeddings", |
|
"MosaicMLInstructorEmbeddings": "langchain_community.embeddings", |
|
"NLPCloudEmbeddings": "langchain_community.embeddings", |
|
"OctoAIEmbeddings": "langchain_community.embeddings", |
|
"OllamaEmbeddings": "langchain_community.embeddings", |
|
"OpenAIEmbeddings": "langchain_community.embeddings", |
|
"OpenVINOEmbeddings": "langchain_community.embeddings", |
|
"QianfanEmbeddingsEndpoint": "langchain_community.embeddings", |
|
"SagemakerEndpointEmbeddings": "langchain_community.embeddings", |
|
"SelfHostedEmbeddings": "langchain_community.embeddings", |
|
"SelfHostedHuggingFaceEmbeddings": "langchain_community.embeddings", |
|
"SelfHostedHuggingFaceInstructEmbeddings": "langchain_community.embeddings", |
|
"SentenceTransformerEmbeddings": "langchain_community.embeddings", |
|
"SpacyEmbeddings": "langchain_community.embeddings", |
|
"TensorflowHubEmbeddings": "langchain_community.embeddings", |
|
"VertexAIEmbeddings": "langchain_community.embeddings", |
|
"VoyageEmbeddings": "langchain_community.embeddings", |
|
"XinferenceEmbeddings": "langchain_community.embeddings", |
|
} |
|
|
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) |
|
|
|
|
|
def __getattr__(name: str) -> Any: |
|
"""Look up attributes dynamically.""" |
|
return _import_attribute(name) |
|
|
|
|
|
__all__ = [ |
|
"AlephAlphaAsymmetricSemanticEmbedding", |
|
"AlephAlphaSymmetricSemanticEmbedding", |
|
"AwaEmbeddings", |
|
"AzureOpenAIEmbeddings", |
|
"BedrockEmbeddings", |
|
"BookendEmbeddings", |
|
"CacheBackedEmbeddings", |
|
"ClarifaiEmbeddings", |
|
"CohereEmbeddings", |
|
"DashScopeEmbeddings", |
|
"DatabricksEmbeddings", |
|
"DeepInfraEmbeddings", |
|
"DeterministicFakeEmbedding", |
|
"EdenAiEmbeddings", |
|
"ElasticsearchEmbeddings", |
|
"EmbaasEmbeddings", |
|
"ErnieEmbeddings", |
|
"FakeEmbeddings", |
|
"FastEmbedEmbeddings", |
|
"GooglePalmEmbeddings", |
|
"GPT4AllEmbeddings", |
|
"GradientEmbeddings", |
|
"HuggingFaceBgeEmbeddings", |
|
"HuggingFaceEmbeddings", |
|
"HuggingFaceHubEmbeddings", |
|
"HuggingFaceInferenceAPIEmbeddings", |
|
"HuggingFaceInstructEmbeddings", |
|
"InfinityEmbeddings", |
|
"JavelinAIGatewayEmbeddings", |
|
"JinaEmbeddings", |
|
"JohnSnowLabsEmbeddings", |
|
"LlamaCppEmbeddings", |
|
"LocalAIEmbeddings", |
|
"MiniMaxEmbeddings", |
|
"MlflowAIGatewayEmbeddings", |
|
"MlflowEmbeddings", |
|
"ModelScopeEmbeddings", |
|
"MosaicMLInstructorEmbeddings", |
|
"NLPCloudEmbeddings", |
|
"OctoAIEmbeddings", |
|
"OllamaEmbeddings", |
|
"OpenAIEmbeddings", |
|
"OpenVINOEmbeddings", |
|
"QianfanEmbeddingsEndpoint", |
|
"SagemakerEndpointEmbeddings", |
|
"SelfHostedEmbeddings", |
|
"SelfHostedHuggingFaceEmbeddings", |
|
"SelfHostedHuggingFaceInstructEmbeddings", |
|
"SentenceTransformerEmbeddings", |
|
"SpacyEmbeddings", |
|
"TensorflowHubEmbeddings", |
|
"VertexAIEmbeddings", |
|
"VoyageEmbeddings", |
|
"XinferenceEmbeddings", |
|
"init_embeddings", |
|
] |
|
|