TDAIMemory
企业级基于云的记忆存储,集成 TDAI 服务,适用于生产应用程序。
import { TDAIMemory } from '@ag-kit/agents/storage' ;
构造函数
constructor ( options : TDAIMemoryOptions & IBaseMemoryOptions )
options
TDAIMemoryOptions & IBaseMemoryOptions
required
TDAI Memory 配置选项,扩展 BaseMemory 选项 TDAI 客户端配置(如果未提供 client 则为必需) 是否自动管理上下文(默认:如果提供了 thresholds 则为 true)
Token 计算器实例(继承自 BaseMemory)
thresholds
Partial<ContextThresholds>
上下文管理阈值(继承自 BaseMemory)
注意 : 必须提供 client 或 clientOptions 之一。
基本用法
// 使用 TDAI 凭据初始化
const memory = new TDAIMemory ({
sessionId: 'user-session-123' ,
clientOptions: {
apiKey: 'your-tdai-api-key' ,
baseURL: 'https://api.tdai.tencent.com'
},
useCache: true ,
enableContextManagement: true
});
// 添加和检索事件
await memory . add ({
message: {
id: 'msg-1' ,
role: 'user' ,
content: '你好,我需要帮助处理我的项目' ,
timestamp: new Date ()
},
state: { userId: 'user-123' }
});
const events = await memory . list ({ limit: 10 , maxTokens: 4000 });
核心接口方法
TDAIMemory 继承自 BaseMemory,并实现了所有标准记忆接口方法(不支持分支)。有关包括 list()、add()、addList()、delete()、retrieve()、clear()、getCount()、isEmpty() 的完整 API 文档,请参阅 BaseMemory API 参考 。
// 启用缓存以提高性能
const cachedMemory = new TDAIMemory ({
sessionId: 'session-123' ,
clientOptions: { apiKey: 'your-key' },
useCache: true // 启用本地缓存
});
// 缓存自动管理:
// - 首次读取时填充
// - 写操作时失效
// - 减少重复读取的 API 调用
独特功能
云持久化 : 自动同步到 TDAI 云服务
跨设备访问 : 跨多个实例和设备共享会话
企业安全 : 内置身份验证和加密
高可用性 : 冗余云基础设施
本地缓存 : 可选的性能优化,带有缓存失效
生产可扩展性 : 处理企业级部署
分支限制
由于云服务限制,TDAIMemory 不支持会话分支操作。
错误处理
try {
await memory . add ( event );
} catch ( error ) {
if ( error . code === 'TDAI_AUTH_ERROR' ) {
// 处理身份验证问题
console . error ( '无效的 API 密钥或过期的令牌' );
} else if ( error . code === 'TDAI_QUOTA_EXCEEDED' ) {
// 处理配额限制
console . error ( 'API 配额已超出' );
} else if ( error . code === 'TDAI_NETWORK_ERROR' ) {
// 处理网络问题
console . error ( '网络连接问题' );
}
}
无会话分支 : 不支持分支操作
网络依赖 : 所有操作都需要互联网连接
API 配额 : 受 TDAI 服务使用限制
延迟 : 与本地存储相比,网络调用会引入延迟
成本 : 云存储和 API 调用采用基于使用量的定价