a
    ag                   6   @   s  d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 er"ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ eAeBZCG dd	 d	ZDd
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d5ZEeeFeEdZGeHedddZIg dZJdS )a  **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
    N)TYPE_CHECKINGAny)create_importer)init_embeddings)CacheBackedEmbeddings)5%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XinferenceEmbeddingsc                   @   s2   e Zd ZeedddZeeeedddZdS )HypotheticalDocumentEmbedder)argskwargsc                 O   s$   t d ddlm} ||i |S NzhUsing a deprecated class. Please use `from langchain.chains import HypotheticalDocumentEmbedder` insteadr   )r<   )loggerwarninglangchain.chains.hyde.baser<   )selfr=   r>   H rE   k/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain/embeddings/__init__.py__init__S   s
    z%HypotheticalDocumentEmbedder.__init__)r=   r>   returnc                 O   s&   t d ddlm} |j|i |S r?   )r@   rA   rB   r<   from_llm)clsr=   r>   rD   rE   rE   rF   rI   \   s
    z%HypotheticalDocumentEmbedder.from_llmN)__name__
__module____qualname__r   rG   classmethodrI   rE   rE   rE   rF   r<   R   s   	r<   zlangchain_community.embeddings)Zdeprecated_lookups)namerH   c                 C   s   t | S )zLook up attributes dynamically.)_import_attribute)rO   rE   rE   rF   __getattr__   s    rQ   )7r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r   )K__doc__loggingtypingr   r   Zlangchain._apir   Zlangchain.embeddings.baser   Zlangchain.embeddings.cacher   Zlangchain_community.embeddingsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   	getLoggerrK   r@   r<   ZDEPRECATED_LOOKUP__package__rP   strrQ   __all__rE   rE   rE   rF   <module>   s   9
8