news 2026/4/23 12:57:25

agentscope Mem0LongTermMemory记忆写入和查询工具2个py

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
agentscope Mem0LongTermMemory记忆写入和查询工具2个py

query.py 查询

🔍 查询咖啡偏好: 1. 用户表达了咖啡偏好 2. 我喜欢喝美式咖啡,不加糖 3. 我喜欢喝美式咖啡,不加糖 4. 好的,我记住了您喜欢喝不加糖的美式咖啡 5. 我喜欢喝美式咖啡,不加糖 6. 好的,我记住了您喜欢喝不加糖的美式咖啡 🔍 查询周末活动: 1. 周末我喜欢去公园散步 2. 了解了,您周末喜欢去公园散步 3. 周末我喜欢去公园散步 4. 了解了,您周末喜欢去公园散步 5. 周末我喜欢去公园散步 6. 了解了,您周末喜欢去公园散步
import asyncio import os import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from agentscope.memory import Mem0LongTermMemory from agentscope.message import Msg from agentscope.model import OpenAIChatModel from agentscope.embedding import DashScopeTextEmbedding from mem0.vector_stores.configs import VectorStoreConfig from dotenv import load_dotenv load_dotenv() async def query_clean(): long_term_memory = Mem0LongTermMemory( agent_name="Assistant", user_name="user_123", model=OpenAIChatModel( model_name=os.environ.get("zhipu_llm"), api_key=os.environ.get("zhipu_OPENAI_API_KEY"), stream=True, client_kwargs={"base_url": "https://open.bigmodel.cn/api/paas/v4"} ), embedding_model=DashScopeTextEmbedding( model_name="text-embedding-v2", api_key=os.environ.get("ali_OPENAI_API_KEY"), ), vector_store_config=VectorStoreConfig( provider="qdrant", config={"on_disk": True, "path": "./memory_data", "embedding_model_dims": 1536}, ), ) queries = [ ("咖啡偏好", "美式咖啡"), ("周末活动", "公园散步"), ] for name, query in queries: print(f"\n🔍 查询{name}:") memories_str = await long_term_memory.retrieve( msg=[Msg(role="user", content=query, name="user")], limit=3 ) if memories_str: memory_list = memories_str.splitlines() for i, memory in enumerate(memory_list, 1): print(f" {i}. {memory}") else: print(" 未找到记忆") if __name__ == "__main__": asyncio.run(query_clean())

record.py 写入

✅ 成功记录用户偏好 ✅ 成功记录周末活动偏好
import asyncio import os import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from agentscope.memory import Mem0LongTermMemory from agentscope.message import Msg from agentscope.model import OpenAIChatModel from agentscope.embedding import DashScopeTextEmbedding from mem0.vector_stores.configs import VectorStoreConfig from dotenv import load_dotenv load_dotenv() async def record_memory(): """记录用户偏好到长期记忆""" # 初始化长期记忆 long_term_memory = Mem0LongTermMemory( agent_name="Assistant", user_name="user_123", model=OpenAIChatModel( model_name=os.environ.get("zhipu_llm"), api_key=os.environ.get("zhipu_OPENAI_API_KEY"), stream=True, client_kwargs={ "base_url": "https://open.bigmodel.cn/api/paas/v4" } ), embedding_model=DashScopeTextEmbedding( model_name="text-embedding-v2", api_key=os.environ.get("ali_OPENAI_API_KEY"), ), vector_store_config=VectorStoreConfig( provider="qdrant", config={ "on_disk": True, "path": "./memory_data", "embedding_model_dims": 1536, }, ), ) # 记录用户偏好 user_msg = Msg(role="user", content="我喜欢喝美式咖啡,不加糖", name="user") assistant_msg = Msg(role="assistant", content="好的,我记住了您喜欢喝不加糖的美式咖啡", name="assistant") try: await long_term_memory.record( msgs=[user_msg, assistant_msg], infer=False ) print("✅ 成功记录用户偏好") # 记录第二个偏好 user_msg2 = Msg(role="user", content="周末我喜欢去公园散步", name="user") assistant_msg2 = Msg(role="assistant", content="了解了,您周末喜欢去公园散步", name="assistant") await long_term_memory.record( msgs=[user_msg2, assistant_msg2], infer=False ) print("✅ 成功记录周末活动偏好") except Exception as e: print(f"❌ 记录失败: {e}") if __name__ == "__main__": asyncio.run(record_memory())
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 19:45:16

Julia 日期和时间处理指南

Julia 日期和时间处理指南 引言 Julia 是一种高性能的编程语言,特别适合科学计算和数据分析。在处理数据时,日期和时间的处理是不可或缺的部分。本文将详细介绍 Julia 中日期和时间的基本处理方法,包括日期和时间的创建、格式化、操作和转换等。 日期和时间的创建 在 Ju…

作者头像 李华
网站建设 2026/4/23 11:21:48

分布式锁的特性是什么?如何实现分布式锁?

一、特性互斥性:在任何时刻,只有一个节点可以持有锁,确保资源的独占访问。不会发生死锁:如果一个节点崩溃,锁可以被其他节点获取,避免死锁。公平性:如果多个节点同时申请锁,系统应该…

作者头像 李华
网站建设 2026/4/13 16:20:29

Java面试早就不问八股文了!都是面试场景题,没做过根本回答不上来!

现在 Java 面试确实早已从死记硬背的 “八股文” 转向了场景化、实战化的问题考察,核心是检验你解决实际业务问题的能力,而不是单纯的知识点记忆。没真正做过相关项目的话,这类问题确实很难答到点子上。下面我整理了几个高频的 Java 面试场景…

作者头像 李华
网站建设 2026/4/23 11:29:09

为什么氛围编程有意义

“如果你广泛了解路,你会在一切中看到它。” — 宫本武藏 [1] 为什么我对氛围编程有如此强烈的信念?为什么我花这么多时间来做它并传达它? 我不是 AI 专家。上次我研究它是在大学,我几乎不知道"随机森林"是什么。 我…

作者头像 李华
网站建设 2026/4/17 1:32:18

DeepSeek-OCR 2实战:让AI像人一样“看懂”复杂文档

文章目录一、先唠唠为啥选DeepSeek-OCR 2?比传统OCR强在哪?二、实战准备:3分钟搞定环境搭建三、核心实战:处理3类复杂文档,代码直接抄场景1:识别带表格的合同,自动转Excel场景2:识别…

作者头像 李华