o
    Zh                     @  sl   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 dddZeddddG dd de
ZdS )    )annotations)IteratorList)urlparse)
deprecated)MlflowEmbeddingstexts	List[str]sizeintreturnIterator[List[str]]c                 c  s.    t dt| |D ]}| |||  V  q	d S )Nr   )rangelen)r   r
   i r   `/var/www/html/lang_env/lib/python3.10/site-packages/langchain_community/embeddings/databricks.py_chunk   s   r   z0.3.3z1.0z)databricks_langchain.DatabricksEmbeddings)ZsinceZremovalZalternative_importc                   @  s8   e Zd ZU dZdZded< 	 edddZdd	d
ZdS )DatabricksEmbeddingsa  Databricks embeddings.

    To use, you should have the ``mlflow`` python package installed.
    For more information, see https://mlflow.org/docs/latest/llms/deployments.

    Example:
        .. code-block:: python

            from langchain_community.embeddings import DatabricksEmbeddings

            embeddings = DatabricksEmbeddings(
                target_uri="databricks",
                endpoint="embeddings",
            )
    
databricksstr
target_urir   c                 C  s   dS )N r   selfr   r   r   _mlflow_extras)   s   z#DatabricksEmbeddings._mlflow_extrasNonec                 C  s*   | j dkrd S t| j jdkrtdd S )Nr   zBInvalid target URI. The target URI must be a valid databricks URI.)r   r   scheme
ValueErrorr   r   r   r   _validate_uri-   s   
z"DatabricksEmbeddings._validate_uriN)r   r   )r   r   )	__name__
__module____qualname____doc__r   __annotations__propertyr   r   r   r   r   r   r      s   
 r   N)r   r	   r
   r   r   r   )
__future__r   typingr   r   urllib.parser   Zlangchain_core._apir   Z%langchain_community.embeddings.mlflowr   r   r   r   r   r   r   <module>   s    
