当前位置: 首页 > news >正文

有了域名公司网站怎么建设seo效果检测步骤

有了域名公司网站怎么建设,seo效果检测步骤,优秀校园网站,网站建设实训心得体会Chapter 4: Messaging and Memory 从配置管理到消息记忆:如何让AI记住对话内容? 在上一章的配置管理中,我们已经能让系统记住所有参数设置。但你是否想过:如果用户连续提问“今天天气如何?”和“明天呢?”…

Chapter 4: Messaging and Memory


从配置管理到消息记忆:如何让AI记住对话内容?

在上一章的配置管理中,我们已经能让系统记住所有参数设置。但你是否想过:如果用户连续提问“今天天气如何?”和“明天呢?”,AI如何知道“明天”是接续之前的查询?这就像给指挥官配备一个记忆力超强的副官,专门记录对话历史!本章将介绍如何通过消息与记忆系统让AI记住之前的对话内容,保持上下文连贯。


核心问题:如何让AI记住“之前的对话”?

想象你和朋友聊天时,突然对方忘记你们之前讨论过的内容,这会让人很困扰!对于AI来说:

  • 用户先问:“今天的天气?”
  • 接着问:“明天呢?”

如果AI不知道“明天”是接续“今天”的查询,就无法正确回答。消息记忆系统就像一个智能笔记本,自动记录:
✅ 每个对话参与者的发言
✅ 工具调用的执行结果
✅ 保持对话上下文不超过限制

通过本章学习,我们将实现:
✅ 自动维护对话历史记录
✅ 设置消息数量上限防止内存溢出
✅ 整合工具调用的结果到对话中


核心概念分解

1. 消息结构:对话记录的“标准化格式”

每条消息都有统一格式,包含:

  • 角色:用户、助手、工具(如天气API)
  • 内容:文本或图片(base64编码)
  • 工具调用记录:记录调用了哪个工具
# app/schema.py中的Message类片段
class Message(BaseModel):role: Role          # 发言者身份(用户/助手/工具)content: Optional[str]  # 文本内容tool_calls: Optional[List[ToolCall]]  # 工具调用记录
2. 记忆管理:对话历史的“智能管家”

记忆对象负责:

  • 存储消息列表
  • 限制最多存储100条消息(默认值可配置)
  • 提供添加/清理/获取最近消息的功能
# app/schema.py中的Memory类片段
class Memory(BaseModel):messages: List[Message] = []  # 消息列表max_messages: int = 100       # 最大消息数量def add_message(self, message: Message):self.messages.append(message)if len(self.messages) > self.max_messages:self.messages = self.messages[-self.max_messages:]  # 只保留最新消息
3. 工具调用整合:让工具结果“参与对话”

当调用天气API时,工具调用记录会自动加入对话历史,方便后续分析:

# 示例:添加工具调用消息
tool_call = ToolCall(id="123", function=Function(name="get_weather", arguments="北京"))
memory.add_message(Message.tool_message(content="查询到北京今天25°C",name="天气API",tool_call_id="123"
))

如何用消息记忆解决问题?

场景:用户连续查询天气并获得连贯回答

步骤1:初始化记忆系统
from app.schema import Memory# 创建记忆对象,设置最大消息数为5
memory = Memory(max_messages=5)
步骤2:记录用户提问
# 用户问“今天北京天气?”
memory.add_message(Message.user_message("今天北京天气?"))
步骤3:记录工具调用结果
# 调用天气API获取数据
tool_response = "北京今天25°C,晴"
memory.add_message(Message.tool_message(content=tool_response,name="天气API",tool_call_id="tool_001"
))
步骤4:生成回答并记录
# 助手回复结果
assistant_response = f"今天北京{tool_response}"
memory.add_message(Message.assistant_message(assistant_response))
步骤5:用户继续提问
# 用户接着问“明天呢?”
memory.add_message(Message.user_message("明天呢?"))

此时,记忆中的消息列表会显示完整的对话历史,确保助手能理解“明天”是接续“今天”的查询。


内部实现揭秘:记忆系统的“工作原理”

流程分解(用简单序列图演示)
用户 Memory WeatherAPI 发送"今天北京天气?" 存储用户消息 触发工具调用 返回天气数据 存储工具结果 显示完整对话历史 用户 Memory WeatherAPI
关键代码解析

1. 消息格式化示例

# 将消息转化为字典格式方便传输
message = Message.user_message("你好!")
print(message.to_dict())
# 输出:
# {'role': 'user', 'content': '你好!'}

2. 消息数量限制机制

memory = Memory(max_messages=2)
for i in range(5):memory.add_message(Message.user_message(f"消息{i}"))print(len(memory.messages))  # 输出:2(只保留最后两条消息)

深入理解消息与记忆系统

通过本章,你已掌握:
✅ 消息的标准化存储格式
✅ 记忆对象对对话历史的管理机制
✅ 工具调用记录如何参与对话上下文


小结与展望

通过消息与记忆系统,我们实现了:
✅ 对话历史的完整记录
✅ 动态调整消息存储数量
✅ 工具执行结果与对话的无缝衔接

下一章我们将探讨执行流框架,学习如何让所有组件按照预设流程协同工作——就像给指挥官制定一份详细的作战计划!现在你可以尝试修改代码,让AI在回答时主动引用之前的对话内容了。

http://www.dtcms.com/a/535632.html

相关文章:

  • 组服务器做网站做外贸 英文网站
  • 网站备案负责人照片深圳集团网站开发
  • 微信 app 微网站 整合大型视频网站建设方案
  • 开发区网站开发语言拟采用建站技术
  • 没有网站可以域名备案吗WordPress点击logo返回首页
  • 如何做网站关键词做视频有赚钱的网站
  • 黑龙江国际旅行社电话乐陵310seo
  • 滁州市南谯区建设局网站室内设计网站免费素材
  • 江苏建设厅网站如何找人帮我做网站推广
  • 做可视化图表的网站网站设计公司网
  • 广告建设网站建设建网站平台 优帮云
  • 网站建设方案 docgrace 7 wordpress
  • 网站开发公司运营流程wordpress主题安装ftp
  • 滨江区网站开发公司合阳县建设局网站
  • php 建网站在线做公章网站
  • 买机票便宜的网站建设2017最新网站icp备案
  • 重庆怎样网站推广一般做网站需要的js有哪些
  • 福田做网站价格加拿大pc网站搭建
  • 平面设计常用网站win7系统优化软件
  • 上海城市建设大学网站唯品会网站开发
  • 教育网站建设网站云南建设项目审批中心网站
  • 如何做贷款网站推广免费项目网
  • 国外购买域名的网站做戒烟网站素材
  • 网站建设价格槽闸阀免费行情网站下载大全
  • 未来的门户网站做网站设计公司价格
  • 苏州建站推广公司网站建设捌金手指花总二七
  • 网站推广是什么最新新闻热点事件2023
  • 网站怎么记录搜索引擎的关键词网站维护内容及费用
  • 网站建设有哪些软件有哪些内容网页设计网站开发
  • 大学专业宣传网站开发课题意义寮步网站建设