在 Python 应用中直接集成 AgentLoop 记忆库,通过 SDK 实现记忆的添加、检索和管理。
前置条件
拥有阿里云账号,并已开通 AgentLoop 记忆库服务。
已在控制台创建 Workspace 和记忆库。
获取阿里云账号 AccessKey ID / Secret。
步骤一:安装 SDK
pip install agentloop-memory步骤二:配置环境变量
export ALIBABA_CLOUD_ACCESS_KEY_ID=your_access_key_id
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=your_access_key_secret
export CMS_ENDPOINT=cms.cn-hangzhou.aliyuncs.com
export CMS_WORKSPACE=your_workspace_name
export CMS_MEMORY_STORE=your_memory_store_name步骤三:初始化 Client
import os
from agentloop_memory import Config
from agentloop_memory.client import AgentLoopMemoryClient
config = Config(
access_key_id=os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
access_key_secret=os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
endpoint=os.getenv("CMS_ENDPOINT"),
)
client = AgentLoopMemoryClient(
config,
workspace=os.getenv("CMS_WORKSPACE"),
memory_store=os.getenv("CMS_MEMORY_STORE"),
)步骤四:核心操作
添加记忆
# 添加单条文本
result = client.add(
messages="我住在杭州,喜欢 Python 和云原生技术",
user_id="user123",
)
# 添加多轮对话
result = client.add(
messages=[
{"role": "user", "content": "我的项目使用 FastAPI 框架"},
{"role": "assistant", "content": "好的,我记住了您使用 FastAPI"}
],
user_id="user123",
)语义检索
result = client.search(
query="用户的技术栈偏好",
user_id="user123",
top_k=3,
rerank=True, # 启用 Rerank 精排
)
print(result)
# {'results': [{'id': '...', 'memory': 'The user likes Python...', 'score': 0.89}]}获取所有记忆
result = client.get_all(user_id="user123")
print(result)
# {'results': [{'id': '...', 'memory': '...'}, ...]}删除记忆
# 删除单条
client.delete(memory_id="019c269b-3969-7232-bf18-052e8cb29433")
# 删除用户所有记忆
client.delete_all(user_id="user123")完整示例
import os
from agentloop_memory import Config
from agentloop_memory.client import AgentLoopMemoryClient
# 初始化
config = Config(
access_key_id=os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
access_key_secret=os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
endpoint=os.getenv("CMS_ENDPOINT", "cms.cn-hangzhou.aliyuncs.com"),
)
client = AgentLoopMemoryClient(
config,
workspace=os.getenv("CMS_WORKSPACE"),
memory_store=os.getenv("CMS_MEMORY_STORE"),
)
# 添加记忆
client.add(
messages="我是一名后端开发,主要使用 Python 和 Go",
user_id="demo_user",
)
# 等待异步处理完成(生产环境无需等待)
import time
time.sleep(3)
# 检索记忆
result = client.search(
query="用户的技术背景",
user_id="demo_user",
top_k=3,
)
print("检索结果:", result)
# 查看所有记忆
all_memories = client.get_all(user_id="demo_user")
print("全部记忆:", all_memories)验证
运行上述代码后,看到类似输出表示成功:
检索结果: {'results': [{'id': '...', 'memory': 'The user is a backend developer who mainly uses Python and Go.', 'score': 0.85}]}
全部记忆: {'results': [{'id': '...', 'memory': 'The user is a backend developer who mainly uses Python and Go.'}]}该文章对您有帮助吗?