Memories
内存是聊天应用中的一个概念,允许系统记住之前的互动。它有助于维持对话的上下文,并使系统能够根据过去的消息理解新消息。
ConversationBufferMemory
ConversationBufferMemory 组件是一种内存系统,仅存储对话的最后几个输入和输出。
参数
input_key:用于指定将用户输入存储在对话内存中的键。它允许您将用户的输入提供给链以进行处理并生成响应。
memory_key:指定将在其中存储和检索聊天消息的提示变量名称。它允许在与语言模型的互动中保留对话历史——默认为 chat_history。
output_key:用于指定将生成的响应存储在对话内存中的键。它允许您使用指定的键检索响应。
return_messages:确定历史记录应作为字符串还是消息列表返回。如return_messages 设置为 True,则历史记录将作为消息列表返回。如果 return_messages 设置为 False 或未指定,则历史记录将作为字符串返回。默认为 False。
ConversationBufferWindowMemory
ConversationBufferWindowMemory 是 ConversationBufferMemory 的一种变体,它维护对话中最近互动的列表。它仅保留内存中的最后 K 次互动,这有助于维护最近互动的滑动窗口,而不让缓冲区变得过大。
参数
input_key:用于指定应在其中存储输入消息的内存对象中的键。它允许检索和操作输入消息。
memory_key:指定将在其中存储和检索聊天消息的提示变量名称。它允许在与语言模型的互动中保留对话历史。默认为 chat_history。
k:用于指定应在对话缓冲区中存储的互动或消息数量。它决定了跟踪最近互动的滑动窗口的大小。
output_key:用于指定将生成的响应存储在对话内存中的键。它允许您使用指定的键检索响应。
return_messages:确定历史记录应作为字符串还是消息列表返回。如果 return_messages 设置为 True,则历史记录将作为消息列表返回。如果 return_messages 设置为 False 或未指定,则历史记录将作为字符串返回。默认为 False。
ConversationEntityMemory
ConversationEntityMemory 组件整合了复杂的内存结构,特别是用于对话中引用的实体的键值存储。这有助于存储和检索整个对话中提到的与实体相关的信息。
参数
Entity Store:存储对话中提及的特定实体信息的结构。
LLM:在 ConversationEntityMemory 中使用的语言模型。
chat_history_key:指定与特定实体相关联的聊天历史数据的唯一标识符。这允许组织和访问对话实体内存中每个实体的聊天历史数据。默认为 history
input_key:用于指定应在其中存储输入消息的内存对象中的键。它允许检索和操作输入消息。
k:指的是可以存储在内存中的实体数量。它决定了可以从内存对象中存储和检索的最大实体数量。默认为 10
output_key:用于指定将生成的响应存储在对话内存中的键。它允许您使用指定的键检索响应。
return_messages:确定历史记录应作为字符串还是消息列表返回。如果 return_messages 设置为 True,则历史记录将作为消息列表返回。如果 return_messages 设置为 False 或未指定,则历史记录将作为字符串返回。默认为 False。
ConversationKGMemory
ConversationKGMemory 是一种使用知识图谱重新创建内存的内存类型。它允许从新消息中提取实体和知识三元组,使用先前消息作为上下文。
参数
LLM:在 ConversationKGMemory 中使用的语言模型。
input_key:用于指定应在其中存储输入消息的内存对象中的键。它允许检索和操作输入消息。
k:代表将在内存中存储的先前对话轮次的数量。通过将“k”设置为 2,意味着内存将保留先前的 2 次对话轮次,允许模型在对话中访问和利用这些轮次的信息。默认为 10
memory_key:指定将在其中存储和检索聊天消息的提示变量名称。它允许在与语言模型的互动中保留对话历史。默认为 chat_history。
output_key:用于指定将生成的响应存储在对话内存中的键。它允许您使用指定的键检索响应。
return_messages:确定历史记录应作为字符串还是消息列表返回。如果 return_messages 设置为 True,则历史记录将作为消息列表返回。如果 return_messages 设置为 False 或未指定,则历史记录将作为字符串返回。默认为 False。
ConversationSummaryMemory
ConversationSummaryMemory 是一个内存组件,它随时间创建对话的摘要。它从对话中压缩信息并将当前摘要存储在内存中。对于较长的对话,其中保留整个消息历史在提示中会占用太多令牌,这一组件特别有用。
参数
LLM:在 ConversationSummaryMemory 中使用的语言模型。
input_key:用于指定应在其中存储输入消息的内存对象中的键。它允许检索和操作输入消息。
memory_key:指定将在其中存储和检索聊天消息的提示变量名称。它允许在与语言模型的互动中保留对话历史。默认为 chat_history。
output_key:用于指定将生成的响应存储在对话内存中的键。它允许您使用指定的键检索响应。 r
eturn_messages:确定历史记录应作为字符串还是消息列表返回。如果 return_messages 设置为 True,则历史记录将作为消息列表返回。如果 return_messages 设置为 False 或未指定,则历史记录将作为字符串返回。默认为 False。
PostgresChatMessageHistory
PostgresChatMessageHistory 是一个内存组件,允许使用 PostgreSQL 数据库存储和检索聊天消息历史。通过连接字符串建立与 PostgreSQL 数据库的连接,该字符串包含建立连接所需的认证和数据库信息。
参数
connection_string:指的是包含建立到 PostgreSQL 数据库连接所需信息的字符串。连接字符串通常包括用户名、密码、主机、端口和数据库名称等细节,以连接到 PostgreSQL 数据库。默认为 postgresql://postgres:mypassword@localhost/chat_history
session_id:它是一个用于将聊天消息历史与特定会话或对话关联的唯一标识符。
table_name:指的是 PostgreSQL 数据库中将存储聊天消息历史的表的名称。默认为 message_store
VectorRetrieverMemory
VectorRetrieverMemory 是一个内存组件,允许根据给定查询检索向量。它用于执行基于向量的搜索和检索。
参数
Retriever:用于获取文档的检索器。
input_key:用于指定应在其中存储输入消息的内存对象中的键。它允许检索和操作输入消息。
memory_key:指定将在其中存储和检索聊天消息的提示变量名称。它允许在与语言模型的互动中保留对话历史——默认为 chat_history。
return_messages:确定历史记录应作为字符串还是消息列表返回。如果 return_messages 设置为 True,则历史记录将作为消息列表返回。如果 return_messages 设置为 False 或未指定,则历史记录将作为字符串返回——默认为 False。
Last updated