深入解析模型调用与 Prompt 构建的四种“姿势”
随着大语言模型LLM的爆发式发展LangChain 作为一个强大的编排框架极大地降低了我们与各类大模型交互的门槛。无论你是在构建简单的问答机器人还是复杂的多智能体系统“模型调用”和“提示词构建”都是最基础也是最核心的基石。今天我们就结合一张非常经典的 LangChain 知识点脑图深入拆解模型调用的底层逻辑、四种 Message 角色以及四种尽管原笔记标题写的是三种实际写了四种实用的 Prompt 传递方式。一、 模型调用的“四大金刚”方法LangChain 对底层 LLM 接口进行了高度抽象无论你使用的是 OpenAI、Anthropic 还是百度的文心一言都通过一套统一的接口进行交互。根据不同的业务场景LangChain 提供了四种核心的调用方法1.invoke()—— 最基础的同步调用这是最常用的单次请求方法。当你向模型发送一个 Prompt并希望完整地等待回复后再进行下一步操作时使用invoke。它的特点是阻塞式的过程简单直观非常适合在脚本或非实时交互场景中使用。2.ainvoke()—— 异步调用的“魔法”如果你的应用构建在异步框架如 FastAPI、Sanic 等上或者你需要同时处理多个不相关的请求ainvoke就是你的救星。它支持await语法能够在等待模型响应时不阻塞主线程大幅提升高并发场景下的系统吞吐量。3.stream()—— 丝滑的流式响应大模型存在一定的推理时延如果使用invoke等几秒甚至十几秒才吐出全部答案用户会感到非常卡顿。stream()允许模型将生成的 Token 像水流一样逐字或逐段返回。这对于开发类似 ChatGPT 的“打字机效果”交互界面至关重要能极大地提升用户的体验感。4.batch()—— 批量请求的“推土机”当你有一组固定不变的 Prompt例如对数千封电子邮件同时进行摘要时batch()方法可以将它们打包成一个批次一次性发送给 API。这不仅比循环调用invoke快得多还能在底层自动进行并发处理最大化利用模型的并发配额大幅节省总处理时间。二、 消息Messages的概念大模型的“人格”划分单纯扔给模型一句“今天天气怎么样”往往不够专业。为了引导大模型发挥出更好的效果我们需要将 Prompt 细分为不同的“角色”。LangChain 将对话历史高度封装成了以下几种Message类型SystemMessage系统提示词这是给大模型设定的“人格设定”和“行为准则”。例如“你是一位资深 Python 开发者说话要简洁、专业”、“你只回答和编程有关的问题”。SystemMessage 是控制模型输出的核心“闸门”。HumanMessage用户提示词代表了用户的真实提问或指令。这是对话流程中最常规的输入。AIMessageAI 返回的结果这条不是我们填写的而是模型上一轮输出的结果。在需要长上下文记忆的对话中必须把之前对话的AIMessage一并传回去这样模型才知道上下文。ToolMessage工具提示词这是大模型 Agent 时代的产物。当大模型决定调用外部工具如联网搜索、计算器时我们需要把工具执行后的返回结果包装成ToolMessage传给模型以便它根据结果生成最终答案。三、 四种 Prompt 传递方式你选哪一种很多人刚接触 LangChain 时会对如何传参感到困惑。图片中列出了四种方式笔记标题写“三种方式”实际上是四种这正好体现了 LangChain 的灵活性与兼容性。我们来逐一解析方式 1纯文本调用最基础llm.invoke(你好请介绍一下自己。)适用场景简单的单轮对话、不需要系统设定的无关痛痒的测试。缺点是没法设定 SystemMessage也无法构建复杂的多轮对话上下文。方式 2使用消息类型对象最推荐类型安全from langchain_core.messages import SystemMessage, HumanMessage llm.invoke([ SystemMessage(content你是一个幽默的喜剧演员。), HumanMessage(content讲个笑话吧。) ])优势这是 LangChain官方推荐的最佳实践。由于使用了类对象你的 IDE如 VSCode可以提供代码补全和类型检查一旦属性名写错例如把content拼错代码会在运行时之前就报错非常适合在大型商业项目中使用。方式 3使用元组列表轻量级llm.invoke([ (system, 你是一个翻译助手只把中文译成英文。), (human, 我爱编程。) ])优势写法极其简洁不需要引入额外的SystemMessage类。它利用元组的第一个元素指定角色第二个元素指定内容。适合在需要快速搭建原型、对代码行数要求精简的场合使用。方式 4使用字典列表原生兼容llm.invoke([ {role: system, content: 你是一位资深战略顾问。}, {role: human, content: 帮我分析一下电动汽车行业的趋势。} ])优势这种格式与 OpenAI 官方 API 的原始参数结构完全一致。如果你的代码之前是基于 OpenAI SDK 写的想要迁移到 LangChain这种写法可以直接复用数据结构迁移成本最低。四、 综合实战用一段代码跑起来让我们把所有概念融合在一起写一个真正的 Python 脚本假设你配置好了 OpenAI 环境from langchain_openai import ChatOpenAI from langchain_core.messages import SystemMessage, HumanMessage # 1. 初始化模型设定温度0.7适当增加创造性 llm ChatOpenAI(modelgpt-3.5-turbo, temperature0.7) # 2. 构建 Prompt使用最推荐的类对象方式 messages [ SystemMessage(content你是一个精通武侠小说的文学大师。你的回答必须充满诗意和江湖气息。), HumanMessage(content什么是孤独) ] # 3. 调用模型测试流式输出 print(--- 大师的高见 ---\n) for chunk in llm.stream(messages): print(chunk.content, end, flushTrue) print(\n)代码解析SystemMessage给了模型“武侠文学大师”的人设。HumanMessage提出了一个哲学问题。采用stream()方法返回你会看到大模型像真人说话一样逐字逐句地输出带有古风色彩的答案而不是一下子全部蹦出来。五、 结语灵活背后的统一从图片中的简单几行代码提纲我们可以延伸出 LangChain 在设计上的巨大魅力它既提供了统一的调用入口invoke等又提供了高度灵活的 Prompt 组装修饰四种消息角色和四种传参格式。掌握了模型调用的基本姿态你就拥有了驾驭大语言模型的基础能力。建议你在实际项目中优先使用类对象来构建多轮对话并根据系统对实时性的要求在stream和invoke之间做出权衡。技术是表象灵活运用才是精髓。LangChain 的世界还有很多有趣的组件如 Chain、Agent、Memory等待你去探索打好今天这层地基未来的构建将事半功倍

相关新闻

ChatGPT Plus值不值得买,现在下单可能亏掉3个月使用费——限时政策倒计时48小时预警

ChatGPT Plus值不值得买,现在下单可能亏掉3个月使用费——限时政策倒计时48小时预警

更多请点击: https://kaifayun.com 第一章:ChatGPT Plus 值得买吗 ChatGPT Plus 是 OpenAI 提供的订阅服务,每月收费 20 美元(或等值本地货币),承诺提供更快响应、优先访问新功能(如高级模型 G…

2026/6/29 20:01:15阅读更多 →
Ubuntu安装中文输入法教程

Ubuntu安装中文输入法教程

您可以在 Ubuntu 24.04 LTS 中安装中文输入法。以下是两种主流且易用的方案,您可以根据偏好选择。方案一:安装 Fcitx 5 中文输入法引擎(推荐)Fcitx 5 是一个现代、灵活的输入法框架,在 Linux 社区中非常流行。安装 Fc…

2026/6/29 20:01:15阅读更多 →
AI 辅助存储排障实战:从日志挖掘到根因定位的自动化流水线

AI 辅助存储排障实战:从日志挖掘到根因定位的自动化流水线

AI 辅助存储排障实战:从日志挖掘到根因定位的自动化流水线 一、排障效率的瓶颈:人工分析的天花板与认知偏差 存储系统的故障排查,本质上是一个信息检索与因果推理的过程。工程师需要从海量日志、指标和事件中提取关键信息,建立因果…

2026/6/29 20:01:15阅读更多 →
【数据结构】排序算法(二):交换排序——从冒泡到快排的分治进化

【数据结构】排序算法(二):交换排序——从冒泡到快排的分治进化

目录一、冒泡排序1.1 算法思想1.2 代码实现1.3 运行推演1.4 复杂度分析二、快速排序2.1 算法思想2.2 代码实现2.3 运行推演2.4 复杂度分析前言: 交换排序的本质是通过“比较相邻元素、逆序则交换”逐步消除逆序对。冒泡排序作为最朴素的交换排序,以稳定的…

2026/6/29 21:17:19阅读更多 →
1分钟解决iPhone USB网络共享驱动问题:Windows用户的终极指南

1分钟解决iPhone USB网络共享驱动问题:Windows用户的终极指南

1分钟解决iPhone USB网络共享驱动问题:Windows用户的终极指南 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com…

2026/6/29 21:17:19阅读更多 →
【VLM】Seed2.1模型

【VLM】Seed2.1模型

note 面向视觉理解场景,Seed2.1 Pro 在 CharXiv-RQ、MeasureBench 等多个基准上取得最高分,体现出模型在复杂文档理解、图表读取、数值识别和视觉细节判断上的进一步提升。这类能力可以帮助模型在处理 PDF、报告、图表和多页材料时减少误读,…

2026/6/29 21:17:19阅读更多 →
3个高效技巧:如何彻底解决ComfyUI ControlNet Aux插件的安装难题?

3个高效技巧:如何彻底解决ComfyUI ControlNet Aux插件的安装难题?

3个高效技巧:如何彻底解决ComfyUI ControlNet Aux插件的安装难题? 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 对于AI绘画创作者…

2026/6/29 21:17:19阅读更多 →
终极解决方案:xmly-downloader-qt5让你轻松实现喜马拉雅VIP音频本地永久保存

终极解决方案:xmly-downloader-qt5让你轻松实现喜马拉雅VIP音频本地永久保存

终极解决方案:xmly-downloader-qt5让你轻松实现喜马拉雅VIP音频本地永久保存 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5…

2026/6/29 21:17:19阅读更多 →
企业级API成本治理框架(基于OpenAI官方Billing API+Prometheus+Cost Allocation Tagging)——仅限首批200家SaaS公司内部验证

企业级API成本治理框架(基于OpenAI官方Billing API+Prometheus+Cost Allocation Tagging)——仅限首批200家SaaS公司内部验证

更多请点击: https://intelliparadigm.com 第一章:ChatGPT API 费用计算的核心原理与计量模型 ChatGPT API 的计费并非基于会话时长或请求数量,而是严格依据模型实际处理的 token 数量进行精确计量。每个 API 请求的输入(prompt&…

2026/6/29 21:12:19阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/29 3:27:55阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/29 2:19:08阅读更多 →
如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南

如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南

如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南 【免费下载链接】DeepBump Normal & height maps generation from single pictures 项目地址: https://gitcode.com/gh_mirrors/de/DeepBump 还在为3D建模中的纹理制作而烦恼吗?…

2026/6/29 0:01:47阅读更多 →
OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单!

OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单!

OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单! 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore(OCAT) 项目地址: https://gitcode.com/gh_mirrors/oc/OCA…

2026/6/29 0:01:47阅读更多 →
终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像

终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像

终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 你是否厌倦了Windows 11系统自带的20…

2026/6/29 0:01:47阅读更多 →