a
    bgS
                     @  sl   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dd	d
dZG dd de	eZdS )    )annotationsN)AnyIteratorListOptional)
Embeddings)	BaseModel	List[str]intzIterator[List[str]])textssizereturnc                 c  s,   t dt| |D ]}| |||  V  qd S Nr   )rangelen)r   r   i r   {/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/embeddings/mlflow_gateway.py_chunk
   s    r   c                      sl   e Zd ZU dZded< dZded< dd fd	d
ZdddddZdddddZdddddZ	  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_urir   )kwargsc              
     sr   t dt zdd l}W n. tyF } ztd|W Y d }~n
d }~0 0 t jf i | | jrn|j	| j d S )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   gatewayZset_gateway_uri)selfr   mlflowe	__class__r   r   r!   %   s    z"MlflowAIGatewayEmbeddings.__init__r	   zList[List[float]])r   r   c              
   C  s   zdd l }W n. ty: } ztd|W Y d }~n
d }~0 0 g }t|dD ]J}|jj| jd|id}t|d d tr||d  qJ|	|d  qJ|S )Nr   r      text)data
embeddings)
r   r   r   r"   queryr   
isinstancer   extendappend)r#   r   r$   r%   r+   txtrespr   r   r   _query7   s    z MlflowAIGatewayEmbeddings._queryc                 C  s
   |  |S )Nr2   )r#   r   r   r   r   embed_documentsK   s    z)MlflowAIGatewayEmbeddings.embed_documentszList[float])r)   r   c                 C  s   |  |gd S r   r3   )r#   r)   r   r   r   embed_queryN   s    z%MlflowAIGatewayEmbeddings.embed_query)__name__
__module____qualname____doc____annotations__r   r!   r2   r4   r5   __classcell__r   r   r&   r   r      s   
r   )
__future__r   r   typingr   r   r   r   Zlangchain_core.embeddingsr   Zpydanticr   r   r   r   r   r   r   <module>   s   