
    0j                    N    d Z ddlmZ ddlmZ ddlmZ dddiiZdd	d
ddddZd	S )u  LangChain 聊天模型适配:把项目现有的 litellm 路由(MiniMax/DeepSeek + 自定义端点)
包成一个 `ChatLiteLLM`,供 LangGraph 大脑使用——模型/密钥沿用 .env,零迁移成本。

为什么不直接复用 LiteLLMClient:LangGraph 节点需要一个 LangChain Runnable(支持
.invoke/.with_structured_output/LangSmith 追踪),而 LiteLLMClient 只是裸 .complete()。
两者共享同一份 config,确保换厂商仍是只改 .env。
    )annotations)ChatLiteLLM)configthinkingtypedisabledg333333?Ng      9@F)temperature
max_tokensrequest_timeoutr   r	   floatr
   
int | Noner   boolreturnr   c                <   t           j        dk    r*dt           j         }t           j        }t           j        }d}n)dt           j         }t           j        }t           j        }d}|rdd|iint          t                    }|||| |d|id	}	|r||	d
<   t          di |	S )uM   按 config.LLM_PROVIDER 构建 ChatLiteLLM(与 LiteLLMClient 路由一致)。minimaxzopenai/adaptivez	deepseek/enabledr   r   
extra_body)modelapi_keyapi_baser	   r   model_kwargsr
    )r   LLM_PROVIDERMINIMAX_MODELMINIMAX_API_KEYMINIMAX_BASE_URLDEEPSEEK_MODELDEEPSEEK_API_KEYDEEPSEEK_BASE_URLdict_THINKING_OFFr   )
r	   r
   r   r   r   r   r   on_typer   kws
             1/root/genesis-world/src/genesis/llm/lc_adapter.pybuild_chat_modelr&      s     i''0&.00(*3F133)+4<U*vw/00$}BUBUJ"*%z2 B  &%<    )
r	   r   r
   r   r   r   r   r   r   r   )	__doc__
__future__r   langchain_litellmr   genesisr   r"   r&   r   r'   r%   <module>r,      s     # " " " " " ) ) ) ) ) )       fj12 .2D.2U       r'   