核心内容摘要
Qwen3-0.6B-FP8基础教程:FP8自动fallback机制与显存占用实测
使用Python SDK调用Mem0主要分为自托管和托管服务两种方式。
下面这个表格汇总了核心的调用流程和关键点方便你快速把握。
特性自托管 (开源)托管服务 (火山引擎/官方平台)核心对象Memory类MemoryClient类初始化关键配置config字典指定LLM、Embedding模型、向量数据库使用api_key进行身份验证核心操作add,search,get_all,delete等方法一致数据存储存储在你自己配置的向量数据库如Chroma, Qdrant中存储在Mem0官方托管的云端适用场景注重数据隐私、需要深度定制、离线环境追求快速上手、省去运维负担、团队协作 初始化客户端根据你选择的方式初始化步骤有所不同。
自托管模式你需要一个详细的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)托管服务模式初始化非常简单只需要API密钥。
from mem0 import MemoryClient # 替换 your-api-key-here 为你在火山引擎或Mem0官方平台获取的密钥 memory_client MemoryClient(api_keyyour-api-key-here) 存储与检索记忆初始化客户端后核心操作是统一的。
添加记忆使用add方法。
你可以存储单条信息或完整的对话记录。
# 添加单条记忆 memory_client.add(用户计划下个月读一本人工智能相关的书, user_iduser_
# 添加多轮对话记忆 messages [ {role: user, content: 我叫李明喜欢打篮球和编程。
}, {role: assistant, content: 好的李明已记下你的爱好。
} ] result memory_client.add(messages, user_iduser_
检索记忆使用search方法Mem0会基于语义相似度返回最相关的记忆片段。
# 当用户提问时搜索相关记忆 query 我之前和你聊过什么关于爱好的事吗 relevant_memories memory_client.search(queryquery, user_iduser_
# 打印检索结果 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_iduser_
删除记忆可以按记忆ID删除单条或删除用户的全部记忆。
# 删除单条记忆 memory_client.delete(memory_id具体的记忆ID) # 删除用户的所有记忆 memory_client.delete_all(user_iduser_
集成到AI应用中的模式一个典型的集成模式是“检索-增强-生成”RAG即在调用大模型LLM生成回复前先通过Mem0检索相关记忆作为上下文。
def chat_with_memory(user_message, user_id): #
检索相关记忆 memories memory_client.search(queryuser_message, user_iduser_id) context \n.join([mem[memory] for mem in memories[results]]) #
构建增强的Prompt prompt f基于以下用户背景信息回答问题。
用户背景 {context} 问题{user_message} 回答 #
调用LLM生成回复 (这里需要你已有的LLM客户端如OpenAI) # response your_llm_client.chat.completions.create(...) # assistant_reply response.choices[0].message.content #
(可选) 将本轮交互作为新记忆存储 # new_messages [{role: user, content: user_message}, {role: assistant, content: assistant_reply}] # memory_client.add(new_messages, user_iduser_id) # return assistant_reply pass希望这份指南能帮助你顺利开始使用Mem0。
如果你在初始化配置或具体操作中遇到任何问题可以随时告诉我例如你倾向于自托管还是托管服务我可以提供更具体的建议。