
    Ng                         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rnd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jA        eB          ZC G d d	          ZDi 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i 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i d-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7dd8dd9dd:dd;dd<dd=dddd>ZE eeFeE?          ZGd@eHdAefdBZIg dCZJdS )Da  **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                   B    e Zd ZdedefdZedededefd            ZdS )HypotheticalDocumentEmbedderargskwargsc                 R    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@   Hs       Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain/embeddings/__init__.py__init__z%HypotheticalDocumentEmbedder.__init__S   sH    R	
 	
 	
 	QPPPPPq$!&!!!    returnc                 \    t                               d           ddlm}  |j        |i |S rB   )rC   rD   rE   r>   from_llm)clsr?   r@   rG   s       rH   rM   z%HypotheticalDocumentEmbedder.from_llm\   sJ    R	
 	
 	
 	QPPPPPqz4*6***rJ   N)__name__
__module____qualname__r   rI   classmethodrM    rJ   rH   r>   r>   R   sk        "c "S " " " " +S +C +C + + + [+ + +rJ   r>   r   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   )r;   r<   )deprecated_lookupsnamerK   c                      t          |           S )zLook up attributes dynamically.)_import_attribute)rU   s    rH   __getattr__rX      s    T"""rJ   )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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   )K__doc__loggingtypingr   r   langchain._apir   langchain.embeddings.baser   langchain.embeddings.cacher   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   	getLoggerrO   rC   r>   DEPRECATED_LOOKUP__package__rW   strrX   __all__rS   rJ   rH   <module>re      s  
 
  % % % % % % % % * * * * * * 5 5 5 5 5 5 < < < < < < 76 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6r 
	8	$	$+ + + + + + + +06+-M6*,L6 56 =	6
 96 96 :6 86 ;6 <6 ;6 !"B6 86 ?6 86  7!6" 6#6 6$ ;%6& <'6( 9)6* :+6,  @-6. =/60  @162 ()I364 $%E566 :768 !"B96: 6;6< >=6> :?6@ 9A6B 9C6D  !AE6 6 6F 8G6H <I6J #$DK6L :M6N 8O6P 8Q6R 8S6T :U6V  !AW6X "#CY6Z <[6\ &'G]6^ ./O_6` $%Ea6b 7c6d ?e6f :g6 6h 9<k6 6 6 p $OKDUVVV #c #c # # # #
8 8 8rJ   