
    dh                         S r SSKrSSKJr  SSKJrJr  SSKrSSKJ	r	  SSK
Jr  SSKJr  SrS	\S
\S\	4S jrS\\\4   S
\S\	4S jrg)z5Base interface for loading large language model APIs.    N)Path)AnyUnion)BaseLLM)
get_fields)get_type_to_cls_dictallow_dangerous_deserializationconfigkwargsreturnc                    SU ;  a  [        S5      eU R                  S5      n[        5       nX#;  a  [        SU S35      eX2   " 5       n0 n[        [	        U5      ;   a  UR                  [        S5      U[        '   U" S0 U DUD6$ )zLoad LLM from Config Dict._typez"Must specify an LLM Type in configzLoading z LLM not supportedF )
ValueErrorpopr   $_ALLOW_DANGEROUS_DESERIALIZATION_ARGr   get)r
   r   config_typetype_to_cls_dictllm_clsload_kwargss         X/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/llms/loading.pyload_llm_from_configr      s    f=>>**W%K+-*8K=0BCDD+-GK+z'/BB<BJJ0%=
89 +V+{++    filec                    [        U [        5      (       a  [        U 5      nOU nUR                  S:X  a+  [	        U5       n[
        R                  " U5      nSSS5        OWUR                  R                  S5      (       a,  [	        US5       n[        R                  " U5      nSSS5        O[        S5      e[        W40 UD6$ ! , (       d  f       N= f! , (       d  f       N+= f)zLoad LLM from a file.z.jsonN)z.yamlz.ymlrzFile type must be json or yaml)
isinstancestrr   suffixopenjsonloadendswithyaml	safe_loadr   r   )r   r   	file_pathfr
   s        r   load_llmr)   &   s     $J		7")_YYq\F _				"	"#4	5	5)S!Q^^A&F "! 9::1&11 _ "!s   CC
C
C!)__doc__r"   pathlibr   typingr   r   r%   #langchain_core.language_models.llmsr   langchain_core.utils.pydanticr   langchain_community.llmsr   r   dictr   r   r)   r   r   r   <module>r1      s`    ;     7 4 9'H $, , , ,,25d# 2s 2w 2r   