VolcengineVolcengine ADK
记忆长期记忆

VikingDB(viking)

viking 后端(VikingDBLTMBackend)使用火山引擎 VikingDB 记忆库作为长期记忆存储。它是托管服务,无需自建向量库或本地 embedding,生产推荐。该后端还支持获取用户画像(get_user_profile)。

何时使用

  • 生产环境、需要持久化与托管运维;
  • 希望使用火山引擎的记忆库能力(含用户画像)。

配置

可以通过 VikingDB 记忆库 API Key 或火山引擎 AK/SK 鉴权。VeADK 会优先使用 api_key / DATABASE_VIKINGMEM_API_KEY 访问已有 collection 中的记忆数据;未设置时使用 AK/SK,仍未设置时尝试从 VeFaaS IAM 获取凭证(云上部署场景)。创建、列举、删除 collection 等管理操作仍需要 AK/SK 或 IAM 凭证。

配置项环境变量默认值说明
api_keyDATABASE_VIKINGMEM_API_KEYVikingDB 记忆库 API Key,用于访问已有 collection 中的记忆数据。
volcengine_access_keyVOLCENGINE_ACCESS_KEY火山引擎 Access Key。
volcengine_secret_keyVOLCENGINE_SECRET_KEY火山引擎 Secret Key。
volcengine_projectDATABASE_VIKINGMEM_PROJECTdefaultVikingDB 记忆库项目。
regionDATABASE_VIKING_REGIONcn-beijing(byteplus 为 cn-hongkong区域。
memory_typeDATABASE_VIKINGMEM_MEMORY_TYPE["sys_event_v1", "sys_profile_v1"]记忆类型列表,逗号分隔的环境变量会被解析为列表。

用法

from veadk import Agent
from veadk.memory.long_term_memory import LongTermMemory

# index 必须以字母开头,仅含字母、数字、下划线,长度 1–128
ltm = LongTermMemory(backend="viking", app_name="ltm_demo")
agent = Agent(name="demo", long_term_memory=ltm)

初始化时若集合(collection)不存在,VeADK 会按 memory_type 自动创建。

获取用户画像

profile = ltm.get_user_profile(user_id="user-42")
print(profile)

index(即集合名)需满足 VikingDB 命名规则:以英文字母开头,仅包含字母、数字和下划线,长度 1–128。

本页导航