Skip to main content

TDAIMemory

企业级基于云的记忆存储,集成 TDAI 服务,适用于生产应用程序。

导入

import { TDAIMemory } from '@ag-kit/agents/storage';

构造函数

constructor(options: TDAIMemoryOptions & IBaseMemoryOptions)

配置

options
TDAIMemoryOptions & IBaseMemoryOptions
required
TDAI Memory 配置选项,扩展 BaseMemory 选项
注意: 必须提供 clientclientOptions 之一。

基本用法

// 使用 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 调用采用基于使用量的定价