news 2026/6/15 13:56:58

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/6/15 12:41:28

【计算机网络 | 第二篇】三种交换方式和互联网的核心部分

文章目录核心部分的组成与特性分组交换与路由器的转发机制1. 路由器的处理过程2. 动态路径选择网络核心的两大功能:路由与转发三种交换方式的比较互联网的核心部分 :互联网的核心部分由大量网络和连接这些网络的路由器组成,其主要功能是为边缘…

作者头像 李华
网站建设 2026/6/15 12:38:21

《Foundation 网格 - 小型设备》

《Foundation 网格 - 小型设备》 引言 在当今科技飞速发展的时代,小型设备在人们的生活中扮演着越来越重要的角色。其中,Foundation 网格作为一种新型的技术,因其高效、稳定的特点,受到了广泛关注。本文将围绕Foundation 网格在小型设备中的应用展开讨论,旨在为读者提供…

作者头像 李华
网站建设 2026/6/1 5:42:28

sql语言之where in语句

sql语言的where in语句比如说要查一个叫student表中的名字叫王五的数据正常来说,sql语言会这样写select * from student where name王五如果要用where in 语句select * from student where name in (王五)如果要同时查王五与陆柳的数据select * from student where name in (王…

作者头像 李华
网站建设 2026/6/15 12:41:08

【无人机协同路径规划】基于六种最新优化算法(TOC、MSO、AE、DOA、GOA、OX)求解多个无人机协同路径规划研究(可以自定义无人机数量及起始点)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

作者头像 李华