You need to enable JavaScript to run this app.
文档中心
AgentKit

AgentKit

复制全文
下载 pdf
记忆库
快速搭建并使用记忆库
复制全文
下载 pdf
快速搭建并使用记忆库
记忆库用于为智能体提供长期记忆能力,使智能体能够在多轮交互中沉淀用户偏好、会话摘要等信息。本文介绍如何在 AgentKit 中创建 Viking 记忆库,并将其集成到基于 VeADK 的 Agent 应用中。​
Viking 记忆库介绍​
Viking 长期记忆是火山引擎推出的一款标准化长期记忆产品,核心目标是为 AI 应用提供 持久记忆能力。​
它能够从对话和业务数据中自动抽取关键事件与用户画像,并以结构化形式保存,支持精准检索与高效调用,从而帮助 AI 在多轮交互中保持上下文连贯和个性化体验。更多介绍请参见 Viking 记忆库。​
前提条件​
  • 已开通 AgentKit 服务。若未开通,请登录 AgentKit 控制台,根据系统引导开通产品。​
  • 已基于 VeADK 构建 Agent,并部署至 AgentKit 智能体运行时。​
本实践基于 AgentKit CLI 预置模板 Basic Agent App(采用VeADK 框架)创建项目,并已将 Agent 部署至 AgentKit 智能体运行时。详情请参见使用 AgentKit CLI 开发并部署智能体。​
将 Viking 记忆库集成至 AgentKit​
步骤一:创建 Viking 记忆库​
  1. 登录 AgentKit 控制台。​
  1. 在左侧导航树中,选择“基础组件 > 记忆库”。​
  1. 单击“创建记忆库”按钮,配置以下参数。​
说明​
  • 本文仅说明完成本实践所需的核心配置项,未提及的参数可保持默认值。完整参数说明请参见创建记忆库。​
  • 如果您需要导入已有记忆库,详情请参见导入记忆库。​
  • ​
    配置项​
    说明​
    名称​
    自定义记忆库名称。默认随机生成memory_字符串,创建成功后,不支持修改。​
    本实践为 memory_viking。​
    类型​
    • 如果需要使用 AgentKit 提供的标准化长期记忆能力,选择 Viking。​
    • 如果已有基于 mem0 的实现,并希望兼容开源生态,选择 mem0。​
    本实践以 Viking 为例,后续步骤中的环境变量和策略配置均以 Viking 类型为准。​
    长期记忆策略​
    长期记忆策略决定系统从对话中提取哪类信息。​
    • 若希望保存每轮对话后的主题摘要,选择 会话摘要。​
    • 若希望保存用户画像、偏好或事实类信息,可根据业务场景选择对应策略。​
    本实践选择 会话摘要,用于在对话结束后保存会话总结。​
    ​
  1. 单击“确定”按钮,完成操作。​
步骤二:配置本地环境变量并在 Agent 中接入记忆库​
本文使用 AgentKit CLI 构建的 Agent 项目结构主要文件如下所示:​
​​​
  • .dockerignore:用于记录构建 Docker 时需要忽略的文件或目录路径。Docker 构建时, COPY . . 命令会忽略记录在本文件中的文件及目录,减小镜像体积并避免敏感信息泄露。​
  • agentkit.yaml :AgentKit 项目的配置文件,定义了项目元信息、运行时环境变量、云部署参数等。​
  • requirements.txt:用于声明 Agent 所需的 Python 包依赖。Docker 构建时,将通过 RUN uv pip install -r requirements.txt 将其安装到容器镜像中。​
  • simple_agent.py :Agent 应用入口文件,定义了 Agent 的行为包括接收用户请求、与模型对话、返回流式响应等。​
此时,只需对 Agent 进行以下修改:​
  • 为 Agent 文件添加记忆库LongTermMemory。​
  • 在每一轮对话结束后显式调用runner.save_session_to_long_term_memory,将对话结果保存到长期记忆库。​
  • 将获取的记忆库环境变量添加到agentkit.yaml。​
修改步骤如下:​
  1. 在记忆库 memory_viking 的“集成信息”页签下,获取记忆库环境变量配置信息。​
  • ​​​
  1. (可选)如果尚未获取火山引擎 AK/SK,请先进入 API 访问密钥页面创建并复制 Access Key ID 和 Secret Access Key。若已完成,请跳过本步骤 。了解更多​
  1. 集成记忆库。​
  • 在本地环境设置环境变量​
  1. (可选)若您退出了虚拟环境,请执行如下命令重新激活。若未退出,请跳过本步骤。​
  • ​
    source .venv/bin/activate​
    ​
  1. 输入如下命令设置环境变量,添加 AK/SK 信息,其中<your_access_key>、<your_secret_key>需替换为实际的 AK/SK 信息。​
注意​
  • 由于 AK/SK 属于高敏感凭据,直接写入.env等静态配置文件存在泄露风险,在本地开发环境中配置 AK/SK 时,推荐通过终端会话级环境变量导出的方式管理。​
  • 终端会话级环境变量为一次性配置,仅对当前终端窗口生效,关闭终端窗口后重新打开或开启新的终端窗口后,均需重新配置。​
  • ​
    export VOLCENGINE_ACCESS_KEY=<your_access_key>​
    export VOLCENGINE_SECRET_KEY=<your_secret_key>​
    ​
  1. 执行命令cd <Agent项目根目录>进入 Agent 项目根目录,<Agent项目根目录>需替换为您的实际根目录路径。​
  • 为agentkit.yaml文件添加上述步骤中获取到的记忆库环境变量信息。​
  1. 执行以下命令,打开AgentKit 项目的配置文件。​
  • ​
    vim agentkit.yaml ​
    ​
  1. 按i键进入编辑模式,填写记忆库环境变量信息。​
  • ​
    launch_types:​
    cloud:​
    runtime_envs:​
    DATABASE_VIKINGMEM_COLLECTION: <your vikingdb collection name> ​
    DATABASE_VIKINGMEM_MEMORY_TYPE: <your vikingdb memory type> ​
    ​
  • ​
    参数​
    说明​
    <your vikingdb collection name>​
    替换为记忆库名称,此信息已在上述操作中获取。​
    <your vikingdb memory type>​
    替换为记忆库的策略,此信息已在上述操作中获取。​
    ​
  1. 按esc键退出编辑模式,然后输入:wq保存退出。​
  • 在 Agent 中添加记忆库相关配置。​
  1. 执行以下命令,打开 Agent 应用入口文件。​
  • ​
    vim simple_agent.py​
    ​
  1. 按i键进入编辑模式,在代码中加入下方高亮部分内容。完整接入方式请参见在 Agent 中集成记忆库。​
  • ​
    # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.​
    #​
    # Licensed under the Apache License, Version 2.0 (the "License");​
    # you may not use this file except in compliance with the License.​
    # You may obtain a copy of the License at​
    #​
    # http://www.apache.org/licenses/LICENSE-2.0​
    #​
    # Unless required by applicable law or agreed to in writing, software​
    # distributed under the License is distributed on an "AS IS" BASIS,​
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.​
    # See the License for the specific language governing permissions and​
    # limitations under the License.​
    ​
    import logging​
    import os​
    ​
    from veadk import Agent, Runner​
    ​
    from agentkit.apps import AgentkitSimpleApp​
    from veadk.prompts.agent_default_prompt import DEFAULT_DESCRIPTION, DEFAULT_INSTRUCTION​
    from veadk.memory.long_term_memory import LongTermMemory​
    ​
    logger = logging.getLogger(__name__)​
    logger.setLevel(logging.INFO)​
    ​
    ​
    app = AgentkitSimpleApp()​
    ​
    agent_name = "Agent"​
    description = DEFAULT_DESCRIPTION ​
    system_prompt = DEFAULT_INSTRUCTION ​
    ​
    ​
    tools = []​
    ​
    # from veadk.tools.builtin_tools.web_search import web_search​
    # tools.append(web_search)​
    #记忆库​
    mem_collection_name = os.getenv("DATABASE_VIKINGMEM_COLLECTION")​
    if not mem_collection_name:​
    raise ValueError("DATABASE_VIKINGMEM_COLLECTION environment variable is not set")​
    long_term_memory = LongTermMemory(backend="viking", index=mem_collection_name)​
    ​
    agent = Agent(​
    name=agent_name,​
    description=description,​
    instruction=system_prompt,​
    tools=tools,​
    long_term_memory=long_term_memory,​
    )​
    runner = Runner(agent=agent)​
    ​
    ​
    @app.entrypoint​
    async def run(payload: dict, headers: dict) -> str:​
    prompt = payload["prompt"]​
    user_id = headers["user_id"]​
    session_id = headers["session_id"]​
    ​
    logger.info(​
    f"Running agent with prompt: {prompt}, user_id: {user_id}, session_id: {session_id}"​
    )​
    response = await runner.run(messages=prompt, user_id=user_id, session_id=session_id)​
    ​
    logger.info(f"Run response: {response}")​
    await runner.save_session_to_long_term_memory(session_id=session_id, user_id=user_id)​
    return response​
    ​
    ​
    @app.ping​
    def ping() -> str:​
    return "pong!"​
    ​
    ​
    if __name__ == "__main__":​
    app.run(host="0.0.0.0", port=8000)​
    ​
  1. 按esc键退出编辑模式,然后输入:wq保存退出。​
步骤三:部署至云上智能体运行时​
说明​
本文已明确使用 AgentKit CLI 构建了 Agent 并部署至 AgentKit 智能体运行时,因此在 Agent 代码中集成记忆库后,可以直接执行agentkit launch命令。​
  1. 执行以下命令,将集成记忆库的 Agent 应用构建并部署到 AgentKit 智能体运行时。​
  • ​
    agentkit launch​
    ​
  • 当回显智能体运行时状态为 Ready 时,则表示部署成功。​
  • ​​​
  1. 进入 AgentKit 智能体运行时页面,单击目标智能体运行时名称,选择版本管理页签,查看已部署的智能体运行时发布记录及版本信息。​
  • ​​​
  1. 您可以通过控制台“在线测试”或通过invoke命令验证 Agent 能否正常访问记忆库。​
  • ​
    在线测试
    使用 AgentKit CLI 命令
    ​
    1. 进入 AgentKit 智能体运行时页面,单击目标智能体运行时操作列的“在线测试”按钮。​
    1. 在 Body 类型 模块中,选择 raw 并输入测试参数(本文调整 Prompt 为“你有哪些AI相关的知识”),单击“调试”按钮发起 POST 请求。​
    • ​​​
    1. 在 调试结果 模块,确认状态码为 200,并验证返回内容符合预期。​
    • ​​​
    1. 进入记忆库页面,单击 memory_viking 记忆库,在“记忆检索”页签下,配置以下信息,检索记忆。​
    • 用户ID:发送 Prompt 时指定的 user_id。在线测试默认为“defaultUser”。您也可以在发起调试前进行指定,详情请参见 调用 Agent。​
    • 记忆策略类型:选择创建记忆库时配置的策略类型。本文示例为会话摘要,实际值以控制台展示为准。​
    • ​​​
    ​
管理 Viking 记忆库​
说明​
本实践仅为您介绍搭建 AgentKit 记忆库后的相关管理操作,如需完整管理记忆库的各项信息,请参见Viking 记忆库操作指南。​
删除记忆库​
注意​
  • 本操作用于删除在 AgentKit 控制台创建的记忆库。删除后,记忆库及其相关数据将被全部删除,且无法恢复,请谨慎操作。​
  • 如果删除的是导入的记忆库,例如在 Viking 记忆库平台或 mem0 平台创建后导入到 AgentKit 的记忆库,本操作仅解除该记忆库与 AgentKit 的关联,不会删除原平台中的资源。如需彻底删除记忆库,请前往对应的创建平台操作。​
  1. 登录 AgentKit 控制台。​
  1. 在左侧导航树中,选择“记忆库”。​
  1. 单击目标记忆库操作列的“删除”按钮,完成操作。​
​
最近更新时间:2026.08.21 17:14:08
这个页面对您有帮助吗?
有用
有用
无用
无用