新闻详情

新闻详情

首页 / 资讯中心 / 详情

认识消息与消息的两种格式

发布时间:2026/10/2 8:28:46来源:尧图网络
认识消息与消息的两种格式
模型调用的准备工作一张老图看大模型的调用在LangChain v0.3版本中提到了 Model I/O包括输入提示Format、调用模型Predict输出解析Parse。分别对应着Prompt TemplateModel 和 Output Parser认识消息大模型没有记忆它的输出只和输入模型的内容有关上下文。很多大模型API服务也没有在服务端维护会话历史是”无状态“的。因此如果应用需要记住对话历史需要在程序中维护消息列表。在LangChain中Message是模型交互的最基本单元。它既代表模型接收到的输入Input也代表模型生成的输出Output每一轮与大模型的对话都由一条或多条Message构成。每个Message不仅包含文字内容还携带描述上下文状态的元信息metadata用于保持对话的一致性和可追踪性。比如模型在多轮交互中理解”谁在说话“”说了什么“、”这条信息属于哪一轮对话“LangChain在1.0中提供了跨模型统一的Message标准无论你使用的是OpenAI、Anthropic、Gemini还是本地模型这一标准都能保持一致的行为。兼容性强 不同模型的消息格式自动对齐。可扩展性高 方便添加多模态内容或自定义字段。可追踪性好 为 LangSmith 等调试工具提供一致的上下文数据结构。消息的内部结构LangChain的消息Message对象包含三种字段Role消息所属的角色或类型如system、user、assistantContent消息内容Metadata可选元数据存储额外信息。如消息ID、响应时间、token消耗量、消息标签等消息的类型LangChain定义了很多消息类型通过role区分。常用的有四种。系统消息也称为系统提示词用于在对话开始时为模型设定角色、行为准则和上下文背景。它像是给AI助手的一份工作说明书决定了其回答问题的风格、领域和专业范围。用户消息也称为用户提示词在多轮对话中他表示用户的一次输入。可以包含简单的文本问题也可以是复杂的多模态内容如图片、音频、文档等助手AI消息代表模型的回复包括生成的文本、工具调用、元数据等{role:assistant,content:我也很高兴认识你}工具调用消息工具调用结果匹配的消息类型。将此消息返回给模型让模型基于这个结果继续生成回复。问题为什么使用不同的消息类型明确角色清晰区分系统提示、用户输入和AI回复控制行为通过SystemMessage精确控制AI的行为对话历史构建完整的多轮对话上下文调试友好更容易追踪和调试对话流程消息格式LangChain支持两种消息格式格式1JSON格式系统消息{role:system,content:你是个善解人意的助手}用户消息{role:user,content:你好啊}助手消息{role:assistant,content:我也很高兴认识你}工具调用消息{role:tool,content:工具输出,tool_call_id:call_00_nUD}格式2对象格式系统消息SystemMessagecontent你是个善解人意的助手)用户消息HumanMessage(content你好啊)助手消息AIMessage(我也很高兴认识你)工具调用消息ToolMessage(content工具输出, tool_call_id# 一定要和AI消息中的调用ID匹配)小结举例from langchain.chat_modelsimportinit_chat_model from dotenvimportload_dotenvimportos from langchain_core.messagesimportHumanMessage load_dotenv(overrideTrue)CLOSEAI_API_KEYos.getenv(CLOSEAI_API_KEY)CLOSEAI_API_BASEos.getenv(CLOSEAI_API_BASE)modelinit_chat_model(modelgpt-6.1-sol, api_keyCLOSEAI_API_KEY, base_urlCLOSEAI_API_BASE,)messages[{role:system,content:你是一个友好的AI助手},{role:user,content:1 8 ?},{role:assistant,content:9},{role:user,content:我刚才问了什么问题}]print(model.invoke(messages))
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Flutter Switch 适配 OpenHarmony 实战:状态、主题与真机调试 2026/10/2 9:16:46

Flutter Switch 适配 OpenHarmony 实战:状态、主题与真机调试

在 Flutter 适配 OpenHarmony 的日常里,Switch 算是我最先认真啃的一批组件之一。原因很简单:它代码量最少,但牵涉的状态、主题、触摸热区和语义问题一点都不少。你从网上搜“Flutter for OpenHarmony Switch”,能找到的大多只是基…

阅读更多 →
MySQL命令行导出数据库实战:mysqldump参数详解与备份恢复 2026/10/2 9:16:45

MySQL命令行导出数据库实战:mysqldump参数详解与备份恢复

1. 为什么我坚持用命令行导出数据库先交代一下背景。我接手过不少项目的数据库运维,发现一个现象:很多开发同学用 Navicat 或者 DataGrip 这类图形化工具用得飞起,鼠标点几个按钮就能把库导出成 SQL 文件,看起来挺方便。但真到了生…

阅读更多 →
嵌入式Linux GPIO实战:从sysfs到libgpiod的演进与避坑指南 2026/10/2 9:16:45

嵌入式Linux GPIO实战:从sysfs到libgpiod的演进与避坑指南

1. 这不是“点灯实验”,而是嵌入式Linux下GPIO的生存法则 很多人第一次接触Linux GPIO编程,是在树莓派或Jetson Nano上跑一个“LED闪烁”的Demo。按下回车,LED亮了,心里一喜——以为掌握了。但真正把代码部署到工业网关、车载ECU或…

阅读更多 →
重装系统全流程:U盘启动盘制作、BIOS设置与数据备份避坑指南 2026/10/2 9:16:44

重装系统全流程:U盘启动盘制作、BIOS设置与数据备份避坑指南

1. 先判断:这台电脑到底该不该重装1.1 三个信号,说明系统是真救不回来了我自己经手过的机器,大概七成是"用户觉得该重装",剩下三成才是真该重装。区别在哪?先看三个信号。第一个信号是开机进不到桌面&#x…

阅读更多 →
卫宁电子病历表结构解析:从Word文档到SQL视图的实战指南 2026/10/2 9:16:42

卫宁电子病历表结构解析:从Word文档到SQL视图的实战指南

简介:这份资源是卫宁电子病历系统(EMR)的数据库表结构设计说明书,实际文件名为《临床信息系统数据库结构设计说明书》,基于卫宁5.0版本整理。内容覆盖系统框架、财务收费、医疗信息三大板块,完整收录800多张…

阅读更多 →
ax命令与agentic编排:Kubernetes workspace创建与故障排查 2026/10/2 9:16:29

ax命令与agentic编排:Kubernetes workspace创建与故障排查

1. 从“ax”这个标题说起:一个被低估的工程缩写第一次看到“ax”这个标题,很多人会一头雾水。它不像“Kubernetes 集群搭建”那样直白,也不像“Agentic RAG 实战”那样有明确的技术指向。但恰恰是这种极简的命名方式,在工程圈里反…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉