
    7|hS
                    h    d dl mZ d dlZd dlmZmZmZmZ d dlm	Z	 d dl
mZ d	dZ G d de	e      Zy)
    )annotationsN)AnyIteratorListOptional)
Embeddings)	BaseModelc              #  V   K   t        dt        |       |      D ]  }| |||z      y wNr   )rangelen)textssizeis      l/var/www/html/test/engine/venv/lib/python3.12/site-packages/langchain_community/embeddings/mlflow_gateway.py_chunkr   
   s3     1c%j$' "AD!!"s   ')c                  Z     e Zd ZU dZded<   	 dZded<   	 d fdZddZdd	Zdd
Z	 xZ
S )MlflowAIGatewayEmbeddingsa  MLflow AI Gateway embeddings.

    To use, you should have the ``mlflow[gateway]`` python package installed.
    For more information, see https://mlflow.org/docs/latest/gateway/index.html.

    Example:
        .. code-block:: python

            from langchain_community.embeddings import MlflowAIGatewayEmbeddings

            embeddings = MlflowAIGatewayEmbeddings(
                gateway_uri="<your-mlflow-ai-gateway-uri>",
                route="<your-mlflow-ai-gateway-embeddings-route>"
            )
    strrouteNzOptional[str]gateway_uric                    t        j                  dt               	 dd l}t        |   di | | j                  r&|j                  j                  | j                         y y # t        $ r}t	        d      |d }~ww xY w)Nzd`MlflowAIGatewayEmbeddings` is deprecated. Use `MlflowEmbeddings` or `DatabricksEmbeddings` instead.r   _Could not import `mlflow.gateway` module. Please install it with `pip install mlflow[gateway]`. )
warningswarnDeprecationWarningmlflow.gatewayImportErrorsuper__init__r   gatewayset_gateway_uri)selfkwargsmlflowe	__class__s       r   r!   z"MlflowAIGatewayEmbeddings.__init__%   s    .	

	! 	"6"NN**4+;+;<   	H 	s   A# #	A=,A88A=c                @   	 dd l }g }t        |d      D ]j  }|j                  j	                  | j
                  d|i      }t        |d   d   t              r|j                  |d          W|j                  |d          l |S # t        $ r}t        d      |d }~ww xY w)Nr   r      text)data
embeddings)
r   r   r   r"   queryr   
isinstancer   extendappend)r$   r   r&   r'   r-   txtresps          r   _queryz MlflowAIGatewayEmbeddings._query7   s    	! 
%$ 	6C>>''

&#'GD$|,Q/6!!$|"45 !!$|"45	6   	H 	s   B 	BBBc                $    | j                  |      S )Nr4   )r$   r   s     r   embed_documentsz)MlflowAIGatewayEmbeddings.embed_documentsK   s    {{5!!    c                ,    | j                  |g      d   S r   r6   )r$   r+   s     r   embed_queryz%MlflowAIGatewayEmbeddings.embed_queryN   s    {{D6"1%%r8   )r%   r   )r   	List[str]returnzList[List[float]])r+   r   r<   zList[float])__name__
__module____qualname____doc____annotations__r   r!   r4   r7   r:   __classcell__)r(   s   @r   r   r      s3      J9!%K%0=$("&r8   r   )r   r;   r   intr<   zIterator[List[str]])
__future__r   r   typingr   r   r   r   langchain_core.embeddingsr   pydanticr	   r   r   r   r8   r   <module>rH      s,    "  0 0 0 "
@&
I @&r8   