LangChain 的模型、消息与工具
模型接口统一初始化、调用、批处理、异步和流式操作,但每个提供商支持的参数与内容块不同。初始化时可使用提供商与模型标识,也可传入具体模型实例;生产代码应显式管理超时、重试、速率限制和模型能力差异。
消息是对对话和工具交互的结构化表示。常见角色包括系统、用户、AI 和工具。AI 消息除文本外还可能包含工具调用、推理内容、使用量和提供商元数据;工具消息必须与相应调用 ID 正确对应。消息数量、顺序或调用 ID 不一致会导致无效工具结果等错误。
工具可以来自普通可调用对象、装饰器生成的工具、预构建工具或 MCP 服务。工具的名称、说明、参数 Schema 会影响模型能否正确选择和填写参数。运行时还需要控制:当前用户可见哪些工具、是否需要确认、参数如何校验、结果如何裁剪、异常如何返回,以及副作用能否安全重试。
模型“请求调用工具”与应用“执行工具”是两件事。高风险工具应在执行层实施授权和审批,不能只依赖提示词。