LangChain开发核心技巧,动态切换AI大模型参数
configurable_fields 的默认值为 None对应关闭所有动态配置传入字面量 any 时开放全量参数的动态修改权限传入 list[str] / tuple[str, ...] 字符串序列时仅开放显式声明的参数的修改权限。init_chat_model( model: str | None None, *, model_provider: str | None None, configurable_fields: Literal[any] | list[str] | tuple[str, ...] | None None, config_prefix: str | None None, **kwargs: Any {} ) - BaseChatModel | _ConfigurableModel在 AI 大模型的参数配置体系中90% 的常规业务场景仅需配置model、temperature和max_tokens三个核心参数即可完成模型的基础调用配置。完成参数配置后可直接通过invoke()方法调用 AI 大模型接收并获取模型生成的回复结果。若需灵活调整参数我们可通过with_config()方法在完整保留原有基础配置的前提下快速修改目标参数并生成全新的模型实例该实例无需额外冗余配置同样可直接通过invoke()方法完成调用。import os from dotenv import load_dotenv from langchain.chat_models import init_chat_model # 老陈说编程 今日头条 哔哩哔哩 load_dotenv() config_llm init_chat_model(modelqwen3.6-plus, model_provideropenai, base_urlos.getenv(QWEN_BASE_URL), api_keyos.getenv(QWEN_API_KEY), configurable_fields[model, temperature, max_tokens], temperature0.5, max_tokens200) response config_llm.invoke(你好请用一句话介绍自己) print(response.content) print(- * 50) # 切换大模型 llm_plus config_llm.with_config( configurable{model: deepseek-v4-pro, temperature: 0.4, max_tokens: 100} ) response llm_plus.invoke(你好请用一句话介绍自己) print(response.content)