链载Ai

标题: 一个能给大模型加上“记忆”的工具,让 AI 助手更懂你,Star 26K ! [打印本页]

作者: 链载Ai    时间: 4 小时前
标题: 一个能给大模型加上“记忆”的工具,让 AI 助手更懂你,Star 26K !

随着 AI 技术的飞速发展,大模型在自然语言处理领域能力也是显而易见的,无论是 Kimi 的超长上下文处理能力,还是最近爆火的 DeepSeek 推理大模型,都能够处理复杂的语言任务并生成高质量的文本。然而,这些大模型在记忆方面存在明显的局限性。以 ChatGPT 和 DeepSeek 为例,尽管它们能够处理的上下文越来越长,但一旦超出上下文窗口的限制,就需要重新开启一个对话,仿佛“失忆”一般忘记之前交流的内容。这种“记忆断片”的现象严重影响了用户体验,尤其是在需要长期记忆和上下文连贯性的场景中。

今天介绍的这个项目—Mem0,或许能帮你解决这些难题!

01
Mem0 介绍

一个为 AI 助手和智能体设计的记忆层工具,能够帮助 AI 记住用户偏好、适应个人需求,并随着时间不断改进。它支持多级记忆,包括用户、会话和 AI 智能体的记忆保留,具有自适应个性化能力。Mem0 提供简单 API 集成、跨平台一致性以及无需管理的服务,能够显著提升 AI 应用的交互体验和智能化水平!

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);color: rgb(62, 62, 62);font-size: 16px;text-align: left;visibility: visible;">? 项目信息
#Github地址https://github.com/mem0ai/mem0#项目地址https://mem0.ai/
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);color: rgb(62, 62, 62);font-size: 16px;text-align: left;visibility: visible;">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);color: rgb(62, 62, 62);font-size: 16px;text-align: left;visibility: visible;">?ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);color: rgb(62, 62, 62);font-size: 16px;text-align: left;visibility: visible;">功能特性
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);color: rgb(62, 62, 62);font-size: 16px;text-align: left;visibility: visible;">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;visibility: visible;">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);color: rgb(62, 62, 62);font-size: 16px;text-align: left;visibility: visible;">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;visibility: visible;">? 原理流程
  1. 用户输入文本:用户向系统输入一段文本。

  2. 文本嵌入:将文本转换为向量表示,以便进行相似性搜索和记忆存储。

  3. 记忆提取:从文本中提取出有价值的记忆信息,如用户的偏好和事实。

  4. 记忆存储:将提取的记忆信息存储在向量数据库中。

  5. LLM处理:利用大语言模型(LLM)生成回答。

  6. 记忆更新:将新的对话内容作为记忆写入系统。

  7. 记忆检索:在后续对话中检索相关记忆,为LLM提供上下文信息。


02
Mem0安装

安装 Mem0 非常简单,可以通过 pip 命令进行安装:
pipinstallmem0ai

03
Mem0使用

下面是一个使用 Mem0 的 Python 代码示例,展示了如何在对话中利用 Mem0 记忆功能增强 AI 的交互能力。

一、示例代码:
importrequestsfrommem0importMemory
# 初始化记忆对象memory = Memory()
defchat_with_memories(message:str, user_id:str="default_user") ->str: """ 利用 Mem0 和 Ollama 部署的 DeepSeek 实现带有记忆功能的对话
Args: message (str): 用户输入的消息 user_id (str, optional): 用户的唯一标识符,默认为 "default_user"
Returns: str: AI 的回答 """ # 搜索与当前消息相关的记忆 relevant_memories = memory.search(query=message, user_id=user_id, limit=3)
# 将记忆格式化为字符串,以便在提示中使用 memories_str ="\n".join(f"-{entry['memory']}"forentryinrelevant_memories)
# 定义系统提示,包含记忆信息 system_prompt =f"你是一个乐于助人的AI。请根据用户的问题和相关记忆来回答。\n用户记忆:\n{memories_str}"
# 构建提示内容,包含系统提示和用户消息 prompt =f"{system_prompt}\n\n用户问题:{message}"
# 调用 Ollama 部署的 DeepSeek API 获取回答 response = requests.post( "http://xxx.xxx.xxx.xxx:11434/api/generate", json={ "model":"deepseek-r1:1.5b", "prompt": prompt, "stream": false } ).json()
# 提取助手的回答内容 assistant_response = response.get('response','很抱歉,我无法理解你的问题。')
# 将对话内容作为记忆写入 memory.add([ {"role":"user","content": message}, {"role":"assistant","content": assistant_response} ], user_id=user_id)
returnassistant_response
defmain(): """主函数,用于与 AI 进行对话""" print("与AI聊天(输入'exit'退出)") whileTrue: user_input =input("您: ").strip() ifuser_input.lower() =='exit': print("再见!") break print(f"AI:{chat_with_memories(user_input)}")
if__name__ =="__main__": main()

代码说明

  • 初始化记忆对象

memory=Memory()

创建一个记忆对象,用于存储和检索用户记忆。


  • 定义对话函数chat_with_memories

      参数:

        • message:用户输入的消息。

        • user_id:用户的唯一标识符,用于区分不同用户的记忆。

        功能

          • 搜索与当前消息相关的记忆。

          • 格式化记忆信息,构建系统提示。

          • 调用 Ollama 部署的 DeepSeek API 获取 AI 的回答。

          • 将对话内容作为记忆写入 Mem0


          • 主函数main

            • 提供一个简单的命令行界面,可以与 AI 进行对话。

            • 循环获取用户输入,调用chat_with_memories函数获取 AI 回答,并打印结果。


            二、输出结果展示

            与AI聊天(输入'exit'退出)您:你好,今天天气怎么样?AI:你好!今天天气不错,适合出去走走。你最近喜欢什么样的天气呢?您:我喜欢晴天。AI:晴天确实是个好天气,阳光明媚,心情也会变好呢!那你会在晴天做些什么呢?您:我会在晴天去公园散步。AI:听起来很惬意呢!下次晴天的时候,你可以去公园散散步,放松一下心情。希望你有个美好的一天!您:exit再见!
            04
            最后
            综上所述,Mem0 是一个强大的 AI 记忆层工具,能够为 AI 助手和智能体提供高效的记忆管理功能,可以根据用户交互不断改进,可以显著提升 AI 应用的交互体验和智能化水平,让 AI 更加懂你。






            欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5