模型与消息
LangChain 通过 langchain-core 统一消息格式与模型接口,1.0 强调 provider:model 字符串与标准化 content blocks。
模型标识符
格式:provider:model_id,由集成包解析并读取对应环境变量中的 API Key。
显式实例化模型
需要自定义 temperature、base_url、代理等时:
Anthropic、Google 等同理(ChatAnthropic、ChatGoogleGenerativeAI)。
消息类型
Agent 状态中的 messages 通常为:
System prompt
静态系统提示:
动态系统提示(按会话变化)用 Middleware 实现(见 Middleware)。
Tool calling 与 bind_tools
底层模型需支持 tool calling。手动绑定工具(不经过 create_agent 时):
create_agent 已替你完成绑定与循环。
结构化输出
方式 1:Agent 级 response_format
方式 2:模型级 with_structured_output
前者适合 Agent 最终输出;后者适合工作流中的单步结构化节点。
Content blocks(1.0)
多模态与富内容(文本、图片、工具结果块)逐步统一为 content blocks,便于跨 Provider 一致处理。集成包负责将 blocks 映射到各厂商 API 格式。
动态选模型
Middleware 的 wrap_model_call 或 modify_model_request 可按状态切换模型(例如简单问题用小模型、复杂推理用大模型),实现成本与质量平衡。