mem0 安装与测试:一个强大的对话记忆管理工具
简介
mem0 是一个用于管理 AI 对话记忆的强大工具,它能够帮助我们实现对话的上下文管理和记忆检索。本文将介绍如何安装和测试 mem0,并通过一个实际的例子来展示其功能。
安装
首先需要安装 mem0 包:
pip install mem0ai
基本配置
mem0 的配置主要包含两个部分:
- LLM(大语言模型)配置
- Embedder(嵌入模型)配置
配置示例
from mem0.configs.base import MemoryConfig
from mem0.embeddings.configs import EmbedderConfig
from mem0.llms.configs import LlmConfigconfig = MemoryConfig(llm = LlmConfig(provider="openai",config={"model": "qwen-turbo","api_key": "your-api-key","openai_base_url":"https://dashscope.aliyuncs.com/compatible-mode/v1"}),embedder = EmbedderConfig(provider="openai",config={"embedding_dims": 1536,"model": "text-embedding-v2","api_key": "your-api-key","openai_base_url":"https://dashscope.aliyuncs.com/compatible-mode/v1"})
)
实现对话记忆功能
以下是一个完整的示例,展示如何使用 mem0 实现带记忆的对话:
from openai import OpenAI
from mem0 import Memorydef chat_with_memories(message: str, user_id: str = "default_user") -> str:# 检索相关记忆relevant_memories = memory.search(query=message, user_id=user_id, limit=3)memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant_memories["results"])# 生成回复system_prompt = f"You are a helpful AI. Answer the question based on query and memories.\nUser Memories:\n{memories_str}"messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}]response = openai_client.chat.completions.create(model="qwen-turbo", messages=messages)assistant_response = response.choices[0].message.content# 创建新的记忆messages.append({"role": "assistant", "content": assistant_response})memory.add(messages, user_id=user_id)return assistant_response
测试效果
运行以上代码,我们可以看到如下对话效果:
You: I'm bob.
AI: Hello Bob! How can I assist you today?
You: what's my name
AI: According to my records, your name is Bob.
从测试结果可以看出,mem0 成功地:
- 记住了用户的名字(Bob)
- 在后续对话中能够检索并使用这个信息
- 保持了对话的连贯性
总结
mem0 是一个功能强大且易于使用的对话记忆管理工具。通过简单的配置和集成,就能为 AI 对话系统添加记忆功能,提升用户体验。上述示例展示了其基本用法,开发者可以根据实际需求进行更深入的定制和扩展。