@dbx-tools/appkit-memory (英语)
在 AppKit 应用程序中添加耐用,演员范围内存工具. 插件 检查 Databricks Agent Memory 并先开始其 Graphiti 侧车 无法访问已配置的管理-记忆存储.
注册插件
import { createApp, server } from "@databricks/appkit";
import { memory } from "@dbx-tools/appkit-memory";
await createApp({
plugins: [
server(),
memory({
databricks: { memoryStore: "support-memory" },
graphiti: { modelClass: "chat-fast" },
}),
],
});
插件为β. 它出版两种工具:
remember在稳定的绝对路径上保存非空内容, 例如/preferences/response.md。 。 。 .recall_memory搜索当前演员的内存并返回最多100个 结果.
来自 Databricks 商店的 403 或 404 选择了 Graphiti 。 其他数据砖 错误仍为错误,防止瞬间断出 后端之间的演员记忆.
databricks 默认为 "auto"设置它 true 需要管理下的记忆
每个呼叫者的访问权限或 false 以禁用管理后端。 对象
接受表单 memoryStore 财务报告和审定财务报表 mode: "auto" | "required"。 。 。 .
将工具添加到 Mastra 代理
请代理人提供工具包:
import { createApp, server } from "@databricks/appkit";
import { agents, mastra } from "@dbx-tools/appkit-mastra";
import { memory } from "@dbx-tools/appkit-memory";
const support = agents.createAgent({
name: "Support",
instructions: "Help the user.",
async tools(plugins) {
return (await plugins.memory?.toolkit()) ?? {};
},
});
await createApp({
plugins: [server(), mastra({ agents: { support } }), memory()],
});
Mastra 继续在其配置中存储线索和信件
PostgresStore 和语义记忆 PgVector。 。 。 . saveTurns 默认为
"auto",它附带了两个 Mastra 时的内存插件输出处理器
和Graphiti 注册。 准备吧 true 在启动时需要附件
或者说 false 来禁用它。 自动模式镜像仅相继完成
内存操作已经开始了 Graphiti , 所以普通的聊天转弯可以
不支付侧车启动费用. saveTurns: true 可能只启动 Graphiti 到
倒镜一转. 不使用管理式会话提取.
配置后端
memory() 接受以下后端和收发保存设置:
| 选项 | 默认 | 行为 |
|---|---|---|
databricks | "auto" | 使用 Databricks 在演员可以访问商店时管理内存. 403或404选择了Graphiti. |
databricks.memoryStore | 项目衍生仓库名称 | 按 ID 或 资源名称选择一个已存在的内存存储 . |
databricks.mode | "auto" | 设定为 "required" 以失败代替选择 Graphiti . |
graphiti | true | 启用懒惰的 Graphit 倒置 。 传递 Graphiti 选项以覆盖其模式、数据库、听众或认证设置. |
saveTurns | "auto" | 附加一个 Mastra 输出处理器, 但仅在设定为时启动 Graphiti true; 自动模式重用已运行的倒计时 . |
至少必须保留一个后端. saveTurns: true 需要两个
已注册的 Mastra 插件和 Graphiti 后端. databricks: true 需求
每个呼叫者的有管理的记忆访问.
直接运行 Graphiti
Graphiti倒计时器是导入的, 并开始于需要的第一个操作
这个 同时期的首个业务共享一个启动. 配置 PYTHON 要使用一个
安装运行时间或让软件包提供匹配的 Python 软件包
结束 uv。 。 。 .
独立 Graphiti 呼叫者和 dbx CLI 使用公共子路径 :
import { runtime as graphiti } from "@dbx-tools/appkit-memory/graphiti";
await graphiti.runGraphiti({ profile: "MY-PROFILE" });
runGraphiti() 块直到进程退出。 独立使用
Graphiti服务器或CLI集成. AppKit 应用程序不需要调用
因为插件监督倒置过程.
理解内存限制
- 内存被信任的 AppKit 请求身份分割 。 一个
actor_id是存储密钥,而不是授权机制. - Graphiti 仅在一个明确的内存操作无法使用 Databricks 后启动
管理内存,或者当完成的回合保存被明确设定为
true。 。 。 . 注册插件不会启动 Python 或 PostgreSQL . - 插件停止了 AppKit 关闭时开始的 Graphiti 进程 .
- Mastra 线程存储和 PgVector 语义召回仍然与这些分离 耐用记忆工具.
- Graphiti 需要 PostgreSQL 或 Lakebase 数据库 URL, 或可选 嵌入式 PostgreSQL 运行时间 .
关于Graphiti服务器、数据库和队列行为,见 dbx-工具-图文。 。 。 .