o
    Æ°i¸  ã                   @   s*   d Z ddlZddlmZ G dd„ dƒZdS )zH
Translates from OpenAI's `/v1/embeddings` to Databricks' `/embeddings`
é    N)ÚOptionalc                   @   s`   e Zd ZU dZdZee ed< ddee ddfdd„Ze	dd„ ƒZ
d	d
„ Zdedefdd„ZdS )ÚDatabricksEmbeddingConfigz‰
    Reference: https://learn.microsoft.com/en-us/azure/databricks/machine-learning/foundation-models/api-reference#--embedding-task
    NÚinstructionÚreturnc                 C   s>   t ƒ  ¡ }| ¡ D ]\}}|dkr|d urt| j||ƒ q	d S )NÚself)ÚlocalsÚcopyÚitemsÚsetattrÚ	__class__)r   r   Zlocals_ÚkeyÚvalue© r   úc/home/app/Keep/.python/lib/python3.10/site-packages/litellm/llms/databricks/embed/transformation.pyÚ__init__   s   
€þz"DatabricksEmbeddingConfig.__init__c                 C   s   dd„ | j  ¡ D ƒS )Nc                 S   s>   i | ]\}}|  d ¡st|tjtjttfƒs|dur||“qS )Ú__N)Ú
startswithÚ
isinstanceÚtypesÚFunctionTypeÚBuiltinFunctionTypeÚclassmethodÚstaticmethod)Ú.0ÚkÚvr   r   r   Ú
<dictcomp>   s     ýüþüôz8DatabricksEmbeddingConfig.get_config.<locals>.<dictcomp>)Ú__dict__r	   )Úclsr   r   r   Ú
get_config   s   þz$DatabricksEmbeddingConfig.get_configc                 C   s   g S ©Nr   )r   r   r   r   Úget_supported_openai_params*   s   z5DatabricksEmbeddingConfig.get_supported_openai_paramsÚnon_default_paramsÚoptional_paramsc                 C   s   |S r    r   )r   r"   r#   r   r   r   Úmap_openai_params/   s   z+DatabricksEmbeddingConfig.map_openai_paramsr    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚstrÚ__annotations__r   r   r   r!   Údictr$   r   r   r   r   r   	   s   
 þÿ
r   )r(   r   Útypingr   r   r   r   r   r   Ú<module>   s    