聊天历史
聊天历史是用户与聊天模型之间对话的记录。它用于在整个对话过程中维护上下文和状态。聊天历史是一系列 消息,每条消息都关联一个特定的 角色,例如“用户”、“助手”、“系统”或“工具”。
对话模式

大多数对话都以一个系统消息开始,该消息为对话设定上下文。随后是包含用户输入的用户消息,最后是包含模型响应的助手消息。
助手可以直接回复用户,或者如果配置了工具,则请求调用工具来执行特定任务。
完整的对话通常涉及两种交替消息模式的组合:
- The 用户和代表来回对话的助手。
- 代表"代理"工作流的 助手 和 工具消息,其中助手正在调用工具以执行特定任务。
管理聊天历史
由于聊天模型对输入大小有最大限制,因此需要管理聊天历史并在必要时进行修剪,以避免超出上下文窗口。
在处理聊天历史时,保持正确的对话结构至关重要。
管理聊天历史的关键指南:
- 对话应遵循以下结构之一:
- 第一条消息要么是"user"消息,要么是"system"消息,随后是"user"消息,接着是"assistant"消息。
- 最后一条消息要么是"user"消息,要么是包含工具调用结果的"tool"消息。
- 使用 工具调用 时,"tool" 消息应仅跟随请求工具调用的 "assistant" 消息之后。
提示
理解正确的对话结构对于能够在聊天模型中正确实现 存储至关重要。