情景记忆图谱
情景记忆
情景记忆存储所记忆的经验。这些经验包含事件细节和过去代理行为的信息。这种记忆的一个常见用例是少样本提示。之前的问答对存储在图中并被检索出来,以在提示中提供示例。通过在用户查询和数据库中的问题之间执行相似度搜索来实现此目的。
下图显示了一个图数据模型,它存储了用户问题和用于检索数据的 Cypher 查询。通过相似度搜索和简单的图遍历,我们可以从数据库中检索出最相关的 k 个示例,并将它们注入到提示中,以指导新颖的 Cypher 生成。
以下是这在实践中可能如何运作的示例。一种可能的检索方法是对数据库中的问题嵌入执行相似度搜索,然后遍历到相关的 Cypher 查询。返回前 k 个问题文本和 Cypher 查询语句,并将其格式化为少样本示例。
一个 Cypher 查询可能对应许多问题。这是因为一些用户问题在显式文本上可能不同,但具有相同的语义含义。
更新这些记忆的过程可能如下所示:
- 代理生成一个 Cypher 查询以从 Neo4j 数据库中检索信息。
- 用户将代理返回的结果评级为好或坏。
- 积极的反馈会启动一个过程,将 Cypher 查询和问题写入数据库,以供将来示例使用。
一旦收到用户反馈,情景记忆最好在后台写入。这可以防止包含不良或无用的记忆,这些记忆最终会降低性能。