news 2026/6/23 4:40:49

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/22 12:19:34

社会网络仿真软件:UCINET_(16).案例研究与应用实践

案例研究与应用实践 在上一节中,我们已经了解了如何使用UCINET的基本功能进行社会网络分析。本节将通过具体的案例研究和应用实践,进一步深入探讨UCINET在社会网络仿真中的应用。我们将从多个角度出发,包括数据准备、网络可视化、网络测量与…

作者头像 李华
网站建设 2026/6/22 12:24:59

Git与GitHub:深度解析与实用指南

Git与GitHub:深度解析与实用指南 引言 在当今的软件开发领域,版本控制和代码托管已成为不可或缺的工具。Git和GitHub作为这一领域的佼佼者,被广大开发者所熟知和喜爱。本文将深入解析Git与GitHub的基本概念、操作方法以及在实际开发中的应用,旨在为读者提供一份全面而实用…

作者头像 李华
网站建设 2026/6/21 17:40:46

道路直播:以安全为基,藏温暖于行

清晨的早高峰,您是否曾因堵车而焦虑?傍晚的归家路,您是否想提前避开事故路段?过年返乡时,您是否想规划最优返乡路线? 城市与高速道路的运转时刻不停,掌握实时交通动态,既是提升出行效…

作者头像 李华
网站建设 2026/6/22 12:25:03

大模型应用开发入门:从零理解RAG、Token与向量数据库

本文从开发者视角详解大模型应用开发核心概念:介绍LLM本质与Token计算方法,详解RAG架构如何解决知识过时、幻觉和私有数据安全问题,阐述向量数据库在检索中的作用,对比RAG与私有数据训练的优劣,强调提示词工程对应用效…

作者头像 李华