Skip to main content

聊天历史

聊天历史是用户和聊天模型之间对话的记录。它用于在对话过程中保持上下文和状态。聊天历史是一系列的消息,每条消息都与一个特定的角色相关联,例如 "user"(用户)、"assistant"(助手)、"system"(系统)或 "tool"(工具)。

对话模式

对话模式

大多数对话以一条系统消息开始,用于设定对话的上下文。接着是一条包含用户输入的用户消息,然后是一条包含模型响应的助手消息

助手可以直接回复用户,或者在配置了工具的情况下请求调用工具以执行特定任务。

因此,一个完整的对话通常包含两种交替消息模式的组合:

  1. 用户助手之间的来回对话。
  2. 助手工具消息之间的交互,表示一种"代理"工作流程,其中助手调用工具来执行特定任务。

管理聊天历史

由于聊天模型对输入大小有限制,因此管理聊天历史并在需要时进行裁剪非常重要,以避免超出上下文窗口

在处理聊天历史时,保持正确的对话结构至关重要。

管理聊天历史的关键准则:

  • 对话应遵循以下结构之一:
    • 第一条消息是 "user"(用户)消息或 "system"(系统)消息,然后是 "user"(用户)消息,接着是 "assistant"(助手)消息。
    • 最后一条消息应是 "user"(用户)消息或包含工具调用结果的 "tool"(工具)消息。
  • 在使用工具调用时,"tool"(工具)消息只能跟在请求调用该工具的 "assistant"(助手)消息之后。
tip

理解正确的对话结构对于在聊天模型中正确实现 memory(记忆)功能至关重要。

相关资源


Was this page helpful?


You can also leave detailed feedback on GitHub.