news 2026/7/15 3:50:08

如何用Python SDK调用MeMem0?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用Python SDK调用MeMem0?

使用Python SDK调用Mem0主要分为自托管托管服务两种方式。下面这个表格汇总了核心的调用流程和关键点,方便你快速把握。

特性

自托管 (开源)

托管服务 (火山引擎/官方平台)

核心对象

Memory

MemoryClient

初始化关键

配置config字典,指定LLM、Embedding模型、向量数据库

使用api_key进行身份验证

核心操作

add,search,get_all,delete等方法一致

数据存储

存储在你自己配置的向量数据库(如Chroma, Qdrant)中

存储在Mem0官方托管的云端

适用场景

注重数据隐私、需要深度定制、离线环境

追求快速上手、省去运维负担、团队协作

🔧 初始化客户端

根据你选择的方式,初始化步骤有所不同。

  1. 自托管模式:你需要一个详细的config配置来连接本地资源。

    from mem0 import Memory import os # 配置项:需要指定LLM、嵌入模型和向量数据库 config = { "llm": { "provider": "openai", # 例如使用OpenAI的模型 "config": { "model": "gpt-4o-mini", "api_key": os.getenv("OPENAI_API_KEY"), }, }, "embedder": { "provider": "openai", "config": { "model": "text-embedding-3-small", }, }, "vector_store": { "provider": "chroma", # 例如使用本地的Chroma数据库 "config": { "collection_name": "my_memories", "path": "./chroma_db", }, }, } # 根据配置创建记忆客户端 memory_client = Memory.from_config(config)
  2. 托管服务模式:初始化非常简单,只需要API密钥。

    from mem0 import MemoryClient # 替换 'your-api-key-here' 为你在火山引擎或Mem0官方平台获取的密钥 memory_client = MemoryClient(api_key="your-api-key-here")

💾 存储与检索记忆

初始化客户端后,核心操作是统一的。

  • 添加记忆:使用add方法。你可以存储单条信息或完整的对话记录。

    # 添加单条记忆 memory_client.add("用户计划下个月读一本人工智能相关的书", user_id="user_123") # 添加多轮对话记忆 messages = [ {"role": "user", "content": "我叫李明,喜欢打篮球和编程。"}, {"role": "assistant", "content": "好的李明,已记下你的爱好。"} ] result = memory_client.add(messages, user_id="user_123")
  • 检索记忆:使用search方法,Mem0会基于语义相似度返回最相关的记忆片段。

    # 当用户提问时,搜索相关记忆 query = "我之前和你聊过什么关于爱好的事吗?" relevant_memories = memory_client.search(query=query, user_id="user_123") # 打印检索结果 for memory in relevant_memories["results"]: print(f"- 记忆ID: {memory['id']}, 内容: {memory['memory']}, 相关性得分: {memory.get('score', 'N/A')}")

🔍 其他实用操作

  • 获取所有记忆:获取某个用户的全部记忆列表。

    all_user_memories = memory_client.get_all(user_id="user_123")
  • 删除记忆:可以按记忆ID删除单条,或删除用户的全部记忆。

    # 删除单条记忆 memory_client.delete(memory_id="具体的记忆ID") # 删除用户的所有记忆 memory_client.delete_all(user_id="user_123")

💡 集成到AI应用中的模式

一个典型的集成模式是“检索-增强-生成”(RAG),即在调用大模型(LLM)生成回复前,先通过Mem0检索相关记忆作为上下文。

def chat_with_memory(user_message, user_id): # 1. 检索相关记忆 memories = memory_client.search(query=user_message, user_id=user_id) context = "\n".join([mem["memory"] for mem in memories["results"]]) # 2. 构建增强的Prompt prompt = f"""基于以下用户背景信息回答问题。 用户背景: {context} 问题:{user_message} 回答:""" # 3. 调用LLM生成回复 (这里需要你已有的LLM客户端,如OpenAI) # response = your_llm_client.chat.completions.create(...) # assistant_reply = response.choices[0].message.content # 4. (可选) 将本轮交互作为新记忆存储 # new_messages = [{"role": "user", "content": user_message}, {"role": "assistant", "content": assistant_reply}] # memory_client.add(new_messages, user_id=user_id) # return assistant_reply pass

希望这份指南能帮助你顺利开始使用Mem0。如果你在初始化配置或具体操作中遇到任何问题,可以随时告诉我,例如你倾向于自托管还是托管服务,我可以提供更具体的建议。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 13:01:50

AIGS范式革命:Java企业智能化转型的核心路径

在人工智能技术的演进中,从AIGC(人工智能生成内容)到AIGS(人工智能生成服务)的跨越,标志着AI从“辅助性内容工具”升级为“系统性服务重塑者”。对于长期以Java技术栈为核心架构的企业而言,传统…

作者头像 李华
网站建设 2026/7/13 13:26:43

第21届全国大学生智能汽车竞赛提问与回答:飞跃雷区组别

第二十一届全国大学生智能汽车竞赛比赛规则第21届全国大学生智能汽车竞赛提问于回答(总入口)第21届智能车竞赛飞跃雷区组比赛车模与比赛场地说明 01 提问与回答 2月份 序号提问回答备注1卓大,飞越雷区中用于驱动车辆识别的led的芯片必须是用…

作者头像 李华
网站建设 2026/7/1 12:56:09

深度学习实战119-AI大模型+Agent重塑医疗行业:智能诊疗助手项目完整代码实战

文章目录 引言:从一次误诊经历说起 项目背景与需求分析 医疗AI的现状与挑战 项目目标与功能规划 技术架构设计 环境准备与依赖安装 核心Agent架构实现 基础组件定义 医疗领域提示模板设计 Agent状态管理 医疗知识库构建与检索 知识库架构设计 知识库数据准备 Agent工具系统实现…

作者头像 李华
网站建设 2026/7/1 12:56:09

网络安全:一个让你后悔5年,和不入行后悔50年的选择

网络安全不仅作为当下应届生收入较高的专业之一,网络安全在转行领域也占据了热门位置,主要具备以下几点转行优势。 行业人才缺口大,到2027年我国网安人才缺口将达327万知识体系友好,计算机及英语水平相对薄弱的同学也可学习上手入…

作者头像 李华
网站建设 2026/7/8 4:39:22

2026年EOR名义雇主服务TOP3推荐榜单,为企业国际化赋能

EOR名义雇主服务在全球化过程中扮演着重要角色。它不仅帮助企业在新的市场中快速合规,也简化了人力资源管理。通过与专业的服务商合作,企业可以有效处理薪资、合同及员工管理。这些服务商通常提供一站式解决方案,确保企业在不同国家的运营符合…

作者头像 李华