Blaflow 中的记忆体组件
记忆组件通过session_id存储和检索聊天消息。
它们与向量存储组件不同,因为它们是专门为从外部数据库存储和检索聊天消息而构建的。
记忆组件提供对其各自外部数据库的访问作为记忆。这使得大型语言模型(LLMs)或智能体能够访问外部记忆以实现持久性和上下文保留。
在流程中使用记忆组件
这个示例流程使用Astra DB 聊天记忆组件与存储消息和聊天记忆组件一起存储和检索聊天历史记录。
存储消息辅助组件将聊天记忆存储为数据对象,而消息历史辅助组件将聊天消息检索为数据对象或字符串。

AstraDB 聊天记忆组件
该组件创建一个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 | 基础聊天消息历史 | 会话的 AstraDBChatMessageHistory 实例。 |
Cassandra 聊天记忆组件
该组件创建一个CassandraChatMessageHistory实例,支持使用 Apache Cassandra 或 DataStax Astra DB 存储和检索聊天消息。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| database_ref | 消息文本 | Cassandra 的联系点或 Astra DB 数据库 ID。必需。 |
| username | 消息文本 | Cassandra 的用户名(对于 Astra DB 留空)。 |
| token | 秘密字符串 | Cassandra 的密码或 Astra DB 的令牌。必需。 |
| keyspace | 消息文本 | Cassandra 中的键空间或 Astra DB 中的命名空间。必需。 |
| table_name | 消息文本 | 用于存储消息的表或集合名称。必需。 |
| session_id | 消息文本 | 聊天会话的唯一标识符。可选。 |
| cluster_kwargs | 字典 | Cassandra 集群配置的额外关键字参数。可选。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| message_history | 基础聊天消息历史 | 会话的 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 | 端口 | Redis 端口号。 |
| database | 数据库 | Redis 数据库。 |
| username | 用户名 | Redis 用户名。 |
| password | 密码 | 用户名的密码。 |
| key_prefix | 键前缀 | 键前缀。 |
| session_id | 会话 ID | 消息的会话 ID。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| memory | 记忆 | Redis 聊天消息历史对象 |
ZepChatMemory 组件
该组件创建一个ZepChatMessageHistory实例,支持使用 Zep(大型语言模型(LLMs)的记忆服务器)存储和检索聊天消息。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| url | 消息文本 | Zep 实例的 URL。必需。 |
| api_key | 秘密字符串 | 用 于与 Zep 实例进行身份验证的 API 密钥。 |
| api_base_path | 下拉菜单 | 要使用的 API 版本。选项:"api/v1"或"api/v2"。 |
| session_id | 消息文本 | 聊天会话的唯一标识符。可选。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| message_history | 基础聊天消息历史 | 会话的 ZepChatMessageHistory 实例。 |