测试火山引擎AgentKit记忆库和踩坑问题记录

环境准备

作者使用本地个人PC(Win11系统),基于火山AgentKit提供的记忆库Demo,使用Python代码进行测试。

步骤一:安装python依赖

按照官方集成指导文档,需要先使用 pip install veadk-python mem0ai==0.1.118命令安装依赖,没想到的是第一步就出现了问题。 官方指导如下:

碰到的问题一:无法安装veadk-pyton 报错如下:

根据报错信息可以看到是编译安装psycopg2-binary报错,这里项目依赖并没有选择binary的方式进行安装,而是使用了直接编译依赖代码的方式,容易出现报错。

最终使用ClaudeCode进行分析,选择了先跳过psycopg2-binary,安装完成其他的依赖之后,手动使用pip命令安装psycopg2依赖。这里要吐槽一下火山的文档,虽然mem0是免费的记忆库,但是依赖的veadk是火山自己发布的,此处对于安装的成功率有待提升。

步骤二:运行测试Demo

以下这段代码是火山提供的最新mem0记忆库的接入示例:

python 复制代码
# 参考如下 memory 示例集成代码,修改 agent 代码
import asyncio
import os

from veadk import Agent, Runner
from veadk.memory.long_term_memory import LongTermMemory
from dotenv import load_dotenv

load_dotenv()

if os.getenv("DATABASE_MEM0_API_KEY") is None:
    raise ValueError("MEM0_API_KEY is not set")
if os.getenv("DATABASE_MEM0_BASE_URL") is None:
    raise ValueError("DATABASE_MEM0_BASE_URL is not set")

# Replace the following from your own user & session management system
app_name = "ltm_demo"
user_id = "temp_user"
teaching_session_id = "teaching_session"
student_session_id = "student_session"

long_term_memory = LongTermMemory(backend="mem0", app_name=app_name)

agent = Agent(long_term_memory=long_term_memory)

runner = Runner(
    agent=agent,
    app_name=app_name,
    user_id=user_id,
)

teaching_prompt = "My secret is 0xabcd"
asyncio.run(runner.run(messages=teaching_prompt, session_id=teaching_session_id))

# save the teaching prompt and answer in long term memory
asyncio.run(runner.save_session_to_long_term_memory(session_id=teaching_session_id, user_id=user_id))

# now, let's validate this in a new session, with the same user_id configured in the Runner
student_prompt = "What is my secret?"
response = asyncio.run(
    runner.run(messages=student_prompt, session_id=student_session_id)
)
print(response)

在完成环境变量DATABASE_MEM0_API_KEY和DATABASE_MEM0_BASE_URL的配置后,发现无法直接运行,报错如下:

分析可以看到是 碰到的问题二:缺少了 MODEL_AGENT_API_KEY 的配置,因为在记忆库使用过程中会依赖到火山引擎的模型服务,因此需要额外对该变量进行配置,提供模型服务进行调用。这里得再吐槽一下火山的文档,可以在注释或者代码示例中把需要依赖的所有配置都展示出来。

测试结果

碰到的问题三:示例代码第一次调用,系统输出有问题,显示没有找到相关的记忆内容,输出内容如下:

第二次执行改代码则不会有对应的问题,初步分析因为示例代码中提交长期记忆、teaching_session和student_session都是异步执行的,后端响应需要一定的实践,在并发提交的时候第一次测试的结果可能出现无法获取到正确的结果的问题。此处火山的文档也有一个改进点,可简单粗暴可以直接增加Sleep,或者同步等待设置长期记忆结束之后再调用student_session进行查询。

最终测试结果如下:

Python代码中已经可以看到记忆库长期记忆设置成功,同时可以在界面上查询到对应的长期记忆条目:

同时可以看到在测试数据量较小的情况下记忆召回的时延一般为100ms级别,详情如下

未来计划

后续有空作者会尝试对火山的记忆库进行压测,同时测试火山自研的Viking记忆库。

相关推荐
小七-七牛开发者2 小时前
Codex 实践系列 Vol.02:让 Codex 读懂开源项目 Typer
ai·chatgpt·openai·agent·工作流·codex·skill·ai coding
玉鸯2 小时前
给 Agent 装上记忆和手脚--从零搭建 RAG
agent
尽兴-3 小时前
4.1 智能体核心:Agent、Sub-Agent、ReAct、规划执行
前端·javascript·react.js·agent·react·subagent
chengliu05083 小时前
AI agent开发
agent
信也科技布道师FTE3 小时前
Agent Skills + Vibe Testing:构建人机协作的测试闭环
agent
阿里云云原生3 小时前
安全护栏不是简单的开关:拆解 AI Agent 的多层级防护体系与降级路由设计
agent
HIT_Weston3 小时前
117、【Agent】【OpenCode】项目配置(根目录&子包配置)
人工智能·agent·opencode
协享科技3 小时前
多模态模型入门:GPT-4V / Claude Vision 到底能做什么
人工智能·agent·ai编程·编程人生
用户253746168154 小时前
从零搭建RAG知识库问答系统(零基础自学agent日记)
agent
deephub5 小时前
AI Agent的三重记忆机制:打造高可用的多维记忆系统
人工智能·大语言模型·agent·记忆