
    ^h6                     8    S SK JrJrJr  SSKJr   " S S5      rg)    )LiteralOptionalTuple   )DatabricksErrorc                       \ rS rSrS\\   S\\   S\\   S\\\4   4S jrS\\   S\\   S\	S   S	\\
   S\\   S\\\4   4S
 jrSrg)DatabricksBase   api_keyapi_baseheadersreturnc                     U=(       d    SS0n SSK Jn  U" 5       nU=(       d    UR                  R                   S3nUc   UR                  R	                  5       n0 UEUEnX#4$ ! [
         a    [        SSS9ef = f)	NContent-Typeapplication/jsonr   )WorkspaceClientz/serving-endpoints  a  If the Databricks base URL and API key are not set, the databricks-sdk Python library must be installed. Please install the databricks-sdk, set {LLM_PROVIDER}_API_BASE and {LLM_PROVIDER}_API_KEY environment variables, or provide the base URL and API key as arguments.status_codemessage)databricks.sdkr   confighostauthenticateImportErrorr   )selfr   r   r   r   databricks_clientdatabricks_auth_headerss          ^/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/databricks/common_utils.py_get_databricks_credentials*DatabricksBase._get_databricks_credentials   s     An.@A	6 / 1W&7&>&>&C&C%DDV#WH%,,99; ( A4@@$$ 		!H 		s   AA$ $A9endpoint_type)chat_completions
embeddingscustom_endpointc                    Uc"  Uc  Ub
  [        SSS9eU R                  X!US9u  p%Uc#  U(       a
  [        SSS9eU R                  X!US9u  p%Uc  SR                  U5      SS.nO%Ub"  UR                  S	SR                  U5      05        Ub  S
U 3US	'   US:X  a  USLa  SR                  U5      nX%4$ US:X  a  USLa  SR                  U5      nX%4$ )Nr   zMissing API Key - A call is being made to LLM Provider but no key is set either in the environment variables ({LLM_PROVIDER}_API_KEY) or via paramsr   )r   r   r   zMissing API Base - A call is being made to LLM Provider but no api base is set either in the environment variables ({LLM_PROVIDER}_API_KEY) or via paramsz	Bearer {}r   )Authorizationr   r'   zBearer r#   Tz{}/chat/completionsr$   z{}/embeddings)r   r    formatupdate)r   r   r   r"   r%   r   s         r   databricks_validate_environment.DatabricksBase.databricks_validate_environment$   s9    ?w*% # r 
 %)$D$D% %E %! % # x 
 %)$D$D% %E %! ?!,!3!3G!< 2G
 "1C1CG1LMN)0	':GO$..?$3N,33H=H    l*d/J&--h7H       N)__name__
__module____qualname____firstlineno__r   strdictr   r    r   boolr*   __static_attributes__r-   r,   r   r	   r	      s    }08HPQU	sDy	:.!#.! 3-.! ?@	.!
 "$.! $.! 
sDy	.!r,   r	   N)typingr   r   r   
exceptionsr   r	   r-   r,   r   <module>r8      s    + + 'L! L!r,   