如何实现对话记忆

本文将为您介绍如何利用之前的对话历史,以实现更连贯、上下文敏感的对话。

什么是对话记忆

对话记忆是指在一次或多轮对话中,系统能够记录并回忆之前的交互内容,并基于这些历史信息提供更加智能且连贯的回应。该功能使得智能体能够记住之前的交流内容,并在当前及未来的对话中参考这些信息,从而更有效地理解和回应用户的需求。

如何实现对话记忆

您需要通过StartAIAgentInstance - 启动智能体实例或者GenerateAIAgentCall - 生成AI智能体通话实例接口启动智能体实例,在调用接口时,您需要对参数TemplateConfig中的LlmHistory进行配置,以传入历史上下文。

LlmHistory的数据定义如下所示:

参数名

参数类型

描述

示例值

LlmHistory

Array

llm/mllm 历史对话上下文。

  • Role

String

表示对话参与者的角色。可选值包括:

  • user: 用户

  • assistant: 助手

  • system: 系统

  • function: 函数

  • plugin: 插件

  • tool: 工具

user

  • Content

String

存储实际的对话内容文本,记录了该角色在对话中的具体表达或回应。

你好

参数示例:

[{
  "Role": "user",
  "Content": "我在北京,介绍一下北京的历史。"
},{
  "Role": "assistant",
  "Content": "北京有着超过三千年的建城史,自元朝起成为全国的政治中心,并在明清两代进一步发展为世界级的大都市。作为多个朝代的首都,北京见证了中国悠久的历史和文化的繁荣。",
},{
  "Role": "user",
  "Content": "介绍一下我这里的景点。"
},{
  "Role": "assistant",
  "Content": "北京拥有众多著名景点,其中故宫是世界上最大的古代宫殿群,展示了中国古代皇家的辉煌;而长城则是中国的象征之一,特别是八达岭段,以其壮丽的景色和悠久的历史吸引着无数游客。"
}]
说明

如何获取历史通话记录,请参见智能体通话记录。获取的通话记录内容,您需自行拼接成上述格式。

在上述LlmHistory传入智能体实例后:

您可以直接询问:

介绍一下我这里的气候。

智能体不需要您告诉您所在的具体位置信息,会直接回答:

北京属于温带半湿润半干旱气候,四季分明。冬季寒冷干燥,夏季炎热多雨,春秋两季则较为短暂但气候宜人。年平均气温约为12°C,夏季最高温可达35°C以上,冬季最低温可降至-10°C左右。