更新时间:2026-07-17 gmt 08:00
示例:构建记忆库并集成sdk进行对话管理-j9九游会登录
本示例描述了如何在agentarts智能体平台上创建记忆库,并通过sdk与记忆库进行交互。记忆库用于存储和管理智能体与用户之间的对话历史,以便于后续的对话管理和个性化服务。
前提条件
- 操作系统:linux arm64,服务器可访问公网。
需使用arm64系统制作的agent镜像,使用x86系统制作的镜像在调用智能体运行时时会调用失败。
可以使用华为云ecs服务购买服务器,购买时需要选择鲲鹏架构(arm64)。

- 安装python:请确保python 3.10及以上版本已安装。
大多数linux发行版(如ubuntu)都预装了python,您可以先通过python3 --version检查。如未安装,可以使用如下命令安装:
sudo apt update sudo apt install python3
- 安装docker:请确保docker 18.06及以上版本已安装。如未安装,可以使用如下命令安装:
# 查询 docker 版本 docker --version # 安装docker sudo apt update sudo apt install docker.io
安装完成后,建议立即配置国内镜像加速器。在后续执行agentarts launch构建镜像时,docker需要拉取python:3.10-slim基础镜像,默认从docker.io官方仓库下载,可能超时失败。提前配置加速器可避免此问题。
执行以下命令创建docker配置目录:
sudo mkdir -p /etc/docker
执行以下命令配置国内镜像源(直接复制并回车执行):
sudo tee /etc/docker/daemon.json <<-'eof' { "registry-mirrors":[ "https://docker.m.daocloud.net", "https://dockerproxy.net", "https://mirror.baidubce.com" ] } eof依次执行以下命令重启docker服务,使配置生效:
sudo systemctl daemon-reload sudo systemctl restart docker
华为云swr基础版不支持oci镜像格式,如果您使用的是docker 27及以上版本,并且需要处理oci镜像,可以通过设置环境变量来关闭oci支持。
export docker_buildkit=0 # 或者 export buildkit_use_oci_media_types=0
- 执行以下命令安装sdk(建议在python虚拟环境中安装,以避免与系统包产生冲突)。
# 安装依赖包 apt install python3.12-venv # 创建并激活虚拟环境 (linux) python3 -m venv venv source venv/bin/activate # 安装sdk pip install agentarts-sdk
- 执行pip install agentarts-sdk命令下载缓慢、超时可以更改为使用如下命令
pip install agentarts-sdk -i https://repo.huaweicloud.com/repository/pypi/simple --trusted-host repo.huaweicloud.com
- 如果系统缺少python3-venv包,导致无法创建虚拟环境,请按照命令回显提示安装python3-venv包。

- 执行pip install agentarts-sdk命令下载缓慢、超时可以更改为使用如下命令
- 执行以下命令配置华为云凭证,获取华为云凭证请参考认证鉴权。
export huaweicloud_sdk_ak="your-access-key" export huaweicloud_sdk_sk="your-secret-key"
构建记忆库并集成sdk进行对话管理
- 登录。
- 在左侧导航栏选择“开发中心 > 组件库 ”,单击“记忆库”页签,进入记忆库界面。
- 单击右上角“创建记忆库”。
- 参考图1配置记忆库的基本信息和网络配置。
- 记忆库名称:memory-test
- 网络配置:勾选私有网络,选择业务所在的vpc及子网
公网访问根据业务场景可选择开启
- 数据加密配置:可自定义选择 图1 配置记忆库的基本信息和网络配置
- 参考图2配置记忆策略。
- 短期记忆:90天。
- 长期记忆提取策略:选择情景记忆 episodic memory。
- 长期记忆提取触发条件:
- 空闲时间:10秒。
- 最大累计token数量:4096。
- 最大累计消息数:10。
图2 配置记忆策略
- 单击“创建记忆库”,在“api key”弹框中,请复制或下载api key,然后单击“继续创建”。
建议下载保存在本地,api key一旦丢失只能通过重置方式解决。
图3 复制或下载api key
- 返回至记忆库列表,获取记忆库id (对应space_id)。 图4 获取记忆库id
- 配置环境变量。
# 通过 console 创建记忆库后,可以进行记忆操作。 # 首先需要配置 api key,配置方式: # 方式一:环境变量配置,若不传入,sdk会尝试从环境变量中获取apikey export huaweicloud_sdk_memory_api_key="your-memory-api-key" # 方式二:代码中直接传入 from agentarts.sdk.memory import memoryclient client = memoryclient(api_key="your-memory-api-key") 其次可以配置访问端点 export agentarts_memory_data_endpoint="https://{memory_endpoint}" endpoint为基本信息内展示的公网域名、公网ip、私网ip或私网访问域名 例如: export agentarts_memory_data_endpoint = "https://memory-{space_id}.cn-southwest-2.huaweicloud-agentarts.com" 也可通过配置region信息, sdk会自行拼接如下域名"https://memory.{region_name}.huaweicloud-agentarts.com" client = memoryclient(region_name="cn-southwest-2")
- 在项目目录中创建test.py文件,参考如下示例代码,将sdk集成在应用项目中。请将 “space_id” 和“api_key”替换为实际使用的值。
import time from agentarts.sdk.memory import memoryclient from agentarts.sdk.memory.inner.config import textmessage def client_mode_example(): """client 模式完整示例(假设已通过console创建记忆库,并获取spaceid和api-key) 本示例仅作使用参考""" space_id = "your_space_id" # 使用页面上复制的记忆库id api_key = "your_api_key" # 使用保存的apikey值 with memoryclient(api_key=api_key) as client: # 1. 创建会话 print("\ncreate session...") session_data = client.create_memory_session( space_id=space_id, actor_id="user-001", assistant_id="assistant-001" ) session_id = session_data.id print(f"session id: {session_id}") # 2. 添加消息 print("\nadd chat message...") messages = [ textmessage( role="user", content="你好,我想了解机器学习的基础知识", actor_id="user-001" ), textmessage( role="assistant", content="机器学习是人工智能的一个分支,主要研究如何让计算机从数据中学习规律。", actor_id="assistant-001" ) ] client.add_messages( space_id=space_id, session_id=session_id, messages=messages ) print("add message succeed") # 3. 等待记忆生成 print("\nwait for memory...") time.sleep(120) # 4. 查询记忆 print("\nsearch memory list...") memories = client.list_memories(space_id=space_id, limit=10) print(f"find {len(memories.items)} memories") # 5. 搜索记忆 print("\nsearch memories...") from agentarts.sdk.memory.inner.config import memorysearchfilter search_results = client.search_memories( space_id=space_id, filters=memorysearchfilter(query="机器学习", top_k=3) ) print(f"find {len(search_results.results)} memories") return space_id, session_id if __name__ == "__main__": client_mode_example() - 执行如下python命令启动项目应用,向记忆库批量插入与大型语言模型进行交互时的消息。
python3 test.py
- 进入记忆库界面,在记忆库列表中单击已创建的记忆库名称,在“记忆检索”页签,配置检索条件后单击“确定”,可查看到保存的交互消息已经生成对应的长期记忆。
父主题:
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好! 您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨