Langflow 中的记忆组件
记忆组件通过 session_id
存储和检索聊天消息。
它们与向量存储组件不同,因为它们是专门用于从外部数据库存储和检索聊天消息的。
记忆组件将其各自的外部数据库作为记忆提供访问。这使得大型语言模型 (LLM) 或 智能体 能够访问外部记忆以实现持久性和上下文保留。
在流程中使用记忆组件
此示例流程使用 Store Message 和 Chat Memory 组件从 Astra DB Chat Memory 组件存储和检索聊天历史。
Store Message 辅助组件将聊天记忆存储为 数据 对象,而 Message History 辅助组件将聊天消息检索为 数据 对象或字符串。
AstraDBChatMemory 组件
此组件创建一个 AstraDBChatMessageHistory
实例,使用云原生数据库服务 Astra DB 存储和检索聊天消息。
参数
输入
名称 | 类型 | 描述 |
---|---|---|
collection_name | 字符串 | 用于存储消息的 Astra DB 集合的名称。必需。 |
token | 密文串 | 用于访问 Astra DB 的认证令牌。必需。 |
api_endpoint | 密文串 | Astra DB 服务的 API 端点 URL。必需。 |
namespace | 字符串 | 集合在 Astra DB 中的可选命名空间。 |
session_id | 消息文本 | 聊天会话 ID。如果未提供,则使用当前会话 ID。 |
输出
名称 | 类型 | 描述 |
---|---|---|
message_history | BaseChatMessageHistory | 会话的 AstraDBChatMessageHistory 实例。 |
CassandraChatMemory 组件
此组件创建一个 CassandraChatMessageHistory
实例,使用 Apache Cassandra 或 DataStax Astra DB 实现聊天消息的存储和检索。
参数
输入
名称 | 类型 | 描述 |
---|---|---|
database_ref | 消息文本 | Cassandra 数据库的联系点或 Astra DB 数据库 ID。必需。 |
username | 消息文本 | Cassandra 的用户名。Astra DB 留空。 |
token | 密文串 | password |
keyspace | 消息文本 | Cassandra 中的 keyspace 或 Astra DB 中的 namespace。必需。 |
table_name | 消息文本 | 用于存储消息的表或集合的名称。必需。 |
session_id | 消息文本 | 聊天会话的唯一标识符。可选。 |
cluster_kwargs | 字典 | Cassandra 集群配置的其他关键字参数。可选。 |
输出
名称 | 类型 | 描述 |
---|---|---|
message_history | BaseChatMessageHistory | 会话的 CassandraChatMessageHistory 实例。 |
Mem0 聊天记忆
Mem0 聊天记忆组件使用 Mem0 记忆存储检索和存储聊天消息。
参数
输入
名称 | 显示名称 | 信息 |
---|---|---|
mem0_config | Mem0 配置 | 初始化 Mem0 记忆实例的配置字典。 |
ingest_message | 待摄取的消息 | 将要摄取到 Mem0 记忆中的消息内容。 |
existing_memory | 现有记忆实例 | 一个可选的现有 Mem0 记忆实例。 |
user_id | 用户 ID | 与消息关联的用户的标识符。 |
search_query | 搜索查询 | 用于在 Mem0 中搜索相关记忆的输入文本。 |
mem0_api_key | Mem0 API 密钥 | Mem0 平台的 API 密钥。留空表示使用本地版本。 |
metadata | 元数据 | 与摄取消息关联的附加元数据。 |
openai_api_key | OpenAI API 密钥 | OpenAI 的 API 密钥。在使用 OpenAI 嵌入且未提供配置时必需。 |
输出
名称 | 显示名称 | 信息 |
---|---|---|
memory | Mem0 记忆 | 摄取数据后产生的 Mem0 记忆对象。 |
search_results | 搜索结果 | 查询 Mem0 记忆获得的搜索结果。 |
Redis 聊天记忆
此组件从 Redis 检索和存储聊天消息。
参数
输入
名称 | 显示名称 | 信息 |
---|---|---|
host | 主机名 | IP 地址或主机名。 |
port | port | Redis 端口号。 |
database | database | Redis 数据库。 |
username | 用户名 | Redis 用户名。 |
password | 密码 | 用户名的密码。 |
key_prefix | 键前缀 | 键前缀。 |
session_id | 会话 ID | 消息的会话 ID。 |
输出
名称 | 显示名称 | 信息 |
---|---|---|
memory | 记忆 | Redis 聊天消息历史对象。 |
遗留组件
遗留组件可供使用,但不再受支持。
ZepChatMemory 组件
此组件创建一个 ZepChatMessageHistory
实例,使用 Zep 存储和检索聊天消息。Zep 是一个用于大型语言模型 (LLM) 的记忆服务器。
参数
输入
名称 | 类型 | 描述 |
---|---|---|
url | 消息文本 | Zep 实例的 URL。必需。 |
api_key | 密文串 | 用于对 Zep 实例进行认证的 API 密钥。 |
api_base_path | 下拉菜单 | 要使用的 API 版本。选项包括 api/v1 或 api/v2。 |
session_id | 消息文本 | 聊天会话的唯一标识符。可选。 |
输出
名称 | 类型 | 描述 |
---|---|---|
message_history | BaseChatMessageHistory | 会话的 ZepChatMessageHistory 实例。 |