本文旨在指导您如何快速部署并体验 Memory 服务,包括开通服务、连接服务、写入事件及检索记忆等,通过真实案例演示其快速构建过程。
说明:
当前 Memory 为内测阶段,免费体验时长为3个月。
准备工作
已注册腾讯云账号并完成实名认证。
如需注册腾讯云账号:请单击 注册腾讯云账号。
如需完成实名认证:请单击 实名认证。
申请一台与 Memory 服务在同一地域的云服务器,并确保该服务器与 Memory 网络互通,以获得安全且低延迟的访问体验。
操作步骤
步骤1:新建 Memory
使用腾讯云账号登录 Memory 智能体控制台 页面,单击新建 Memory,进入 Memory 配置页面,如下图所示。在服务名称的输入框,根据界面提示要求,指定 Memory 的名称,单击右下角的立即试用,等待任务执行完成即可。

步骤2:获取 Memory 连接凭据
在 Memory 服务列表页面,可看到新建的 Memory 卡片,如下图所示。单击卡片,可在服务概览的上方复制 Memory ID,在 API 接入区域获取 Memory 访问地址(外网),单击获取密钥,可获取访问密钥。

步骤3:在客户端安装 tdaimemory SDK
使用 pip 命令,在 CVM 上安装 SDK,如下示例,推荐使用 Python 3.8及以上版本。
pip3 install tdaimemory-0.0.1-py3-none-any.whl
步骤4:初始化 Memory 客户端
EndPoint:配置新建 Memory 的访问地址(外网)。
ApiKey :配置新建 Memory 的访问密钥。
MemoryId:配置 Memory ID。
from tdaimemory import MemoryClientEndPoint = "https://memory.ap-guangzhou.tencenttdai.com"ApiKey = "***************************"MemoryId = "tdai-mem-********"client = MemoryClient(endpoint=EndPoint,api_key=ApiKey,memory_id=MemoryId,timeout=100)
步骤5:创建 Session
调用 create_session() 接口来为特定用户(actor)创建一个新的 Agent-Memory 会话。创建时需指定一个会话名称(name),该名称可为1到128个字符之间的任意字符串。
import jsonsession = client.create_session(name="Travel_Consultation",)session_id = session['session_id']print(session_id)
步骤6:追加 Event
在创建的 Session 后,使用 append_event() 接口为此次会话追加具体的事件消息,系统将按照记忆策略分析写入记忆库。
import jsonevent = client.append_event(session_id="session-1c54d41a********",messages=[{"role": "user","actor_id": "tourist-first-timer-01","content": "[游客小李] 第一次去杭州,西湖一天能逛完吗?","timestamp": "2025-01-20T08:00:00Z"},{"role": "user","actor_id": "hangzhou-local-resident","content": "[杭州本地人] 西湖很大,建议租辆共享单车环湖骑行,半天能走完主要景点","timestamp": "2025-01-20T08:03:00Z"},{"role": "user","actor_id": "travel-enthusiast-02","content": "[旅游达人梦梦] 苏堤和白堤必去,断桥最好早上7点前到,不然全是人","timestamp": "2025-01-20T08:05:00Z"},{"role": "user","actor_id": "tourist-first-timer-01","content": "[游客小李] 雷峰塔值得上去吗?门票多少钱?","timestamp": "2025-01-20T08:08:00ZZ"},{"role": "assistant","actor_id": "tourist-first-timer-01","content": "雷峰塔门票40元,登塔可俯瞰西湖全景,傍晚时分夕照雷峰是西湖十景之一,推荐游览","timestamp": "2025-01-20T08:09:00Z"}],)print(json.dumps(event, ensure_ascii=False))
步骤7:快速召回
使用 search_records() 接口,指定关键词,快速召回记忆。
说明:
等待 Event 写入完成,即可开始搜索 Record 记忆。
search_records = client.search_records(actor_id="user-sdk-test",query="美食",type="episodic",)print(json.dumps(search_records, ensure_ascii=False))
搜索结果,如下所示。
{"records": [{"record_id": "mem_e607197e********","record_content": "基于您喜欢安静和美食的偏好,我为您优化了行程,避开了团队游客扎堆的景点,专注于幽静的体验和地道的风味。\\n\\n第一天:避世西湖\\n清晨漫步杨公堤与茅家埠,享受静谧湖景。午餐在老字号「奎元馆」吃虾爆鳝面。下午乘船访三潭印月,傍晚在湖边茶社小坐。晚餐去本地人爱的胜利河美食街尝地道风味。\\n\\n第二天:禅意之路\\n一早探灵隐寺,然后沿幽静天竺路步行至法喜寺。午餐在「知竹」吃素面。下午深入云栖竹径看竹海。晚餐用「新丰小吃」的喉口馒头等市井味道收尾。\\n\\n第三天:水乡慢生活\\n全天在西溪湿地坐摇橹船,深入芦苇荡享受宁静。午后往文艺的小河直街,在运河畔的咖啡馆小坐休憩,结束旅程。","type": "episodic","updated_time": "","activity_start_time": "2025-12-01T00:00:00Z","activity_end_time": "2025-12-03T23:59:59Z","scene_name": "我(AI)在和用户做杭州三日休闲旅行规划,包含安静路线、美食体验及住宿安排","event_id": "event-724c5fe6********"},{"record_id": "mem_0230efad********","record_content": "太好了,酒店要带健身房,另外我对花生严重过敏,预订餐厅时请务必注意。","type": "episodic","updated_time": "","activity_start_time": "2025-12-01T10:00:05Z","activity_end_time": "2025-12-01T10:00:05Z","scene_name": "我(AI)在和用户做杭州三日休闲旅行规划,包含安静路线、美食体验及住宿安排","event_id": "event-2855d62a********"},{"record_id": "mem_2c33235c********","record_content": "好的,已完全了解您的需求(偏好安静人少、喜爱美食、酒店需带健身房、对花生严重过敏)。为您精选的酒店(带健身房):\\n\\n西湖庐驿精品酒店:位于西湖区,设计静谧,配备健身房,且远离闹市,符合您对安静的需求。\\n\\n杭州西溪紫金港希尔顿逸林酒店:靠近西溪湿地,设施完善,健身房专业,适合在第三天安排湿地行程时入住。","type": "episodic","updated_time": "","activity_start_time": "2025-12-01T10:00:05Z","activity_end_time": "2025-12-01T10:00:05Z","scene_name": "我(AI)在和用户做杭州三日休闲旅行规划,包含安静路线、美食体验及住宿安排","event_id": "event-63fb98fa********"}],"total_count": 3}
步骤8:Agentic 召回
使用 deepsearch 接口,设置问题,获取使用 AI 模型对记忆进行深度搜索和总结的答案。
search_records = client.deepsearch(actor_id="user-sdk-test",query="用户喜欢什么美食",)
查询结果,如下所示。
{"records": {"query": "用户喜欢什么美食","answer": "根据记忆,用户对美食表现出浓厚兴趣,但具体喜欢哪些美食类型或菜系的信息并未明确提及。此外,用户对饮食环境有一些偏好,例如喜欢人少、安静的地方用餐。同时需要注意的是,用户对花生严重过敏,在安排饮食时需特别避免含有花生成分的食物。"}}