news 2026/7/12 9:26:17

如何用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/8 0:09:53

Cookie/Session/Token:Web身份认证三驾马车,场景用错全白搭!

上网时,你有没有好奇过:为什么登录一次微信、淘宝,后续打开不用重复输入密码?为什么有些网站关掉再打开,依然保持登录状态?其实这背后,全靠Cookie、Session、Token这“三驾马车”在默默发力——…

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

企微API开发:外部群智能化推送新引擎

QiWe开放平台 个人名片 API驱动企微自动化,让开发更高效 核心能力:为开发者提供标准化接口、快速集成工具,助力产品高效拓展功能场景 官方站点:https://www.qiweapi.com 团队定位:专注企微API生态的技术服务团队 对接…

作者头像 李华
网站建设 2026/6/28 21:11:47

破局Java企业AI转型:数据治理的核心路径与实践支撑

在数字化转型深水区,数据已经成为企业的核心生产要素。对于Java技术栈的企业而言,推进AI应用落地的过程中,数据治理是绕不开的关键环节——数据孤岛的存在、非结构化数据的低利用率、数据安全与合规的挑战,都在制约着AI能力与业务…

作者头像 李华
网站建设 2026/6/28 19:28:37

《如何解决复杂的公网 IP 配置:JSON Crack 和 cpolar 》

JSON Crack 是一款专注于数据格式可视化的工具,核心功能是将 JSON、YAML、XML 等代码格式的文本转化为树状图、表格、柱状图等直观的交互图表,还支持格式互转、导出图片和 Markdown 文档,适配 Windows、macOS、Linux 多系统,既能本…

作者头像 李华