我们来看一个 Mem0 集成 MultiOn 的例子。


构建个人浏览器代理,记住用户偏好并自动执行网页任务。它集成了Mem0进行内存管理和MultiOn执行浏览器操作,从而实现个性化和高效的网页互动。

概述

在这个示例中,我们将创建一个基于浏览器的AI代理,用于在arxiv.org上搜索与用户研究兴趣相关的研究论文。

设置和配置

安装必要的库:

pip install mem0ai multion
  • 1.

首先,我们将导入必要的库并设置配置。

import os
from mem0 import Memory
from multion.client import MultiOn

# 配置
OPENAI_API_KEY = 'sk-xxx'  # 用你的实际OpenAI API密钥替换
MULTION_API_KEY = 'your-multion-key'  # 用你的实际MultiOn API密钥替换
USER_ID = "从零开始学AI"

# 设置OpenAI API密钥
os.environ['OPENAI_API_KEY'] = OPENAI_API_KEY

# 初始化Mem0和MultiOn
memory = Memory()
multion = MultiOn(api_key=MULTION_API_KEY)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

将记忆添加到Mem0

接下来,我们将定义用户数据并将其添加到Mem0。

# 定义用户数据
USER_DATA = """
关于我
- 我是从零开始学AI 公众号主理人
- 我对AI和ML基础设施感兴趣
"""

# 将用户数据添加到记忆中
memory.add(USER_DATA, user_id=USER_ID)
print("用户数据已添加到记忆中。")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

检索相关记忆

现在,我们将定义我们的搜索命令并从Mem0中检索相关记忆。

# 定义搜索命令并检索相关记忆
command = "查找我应该阅读的基于我的兴趣的arxiv论文。"

relevant_memories = memory.search(command, user_id=USER_ID, limit=3)
relevant_memories_text = '\n'.join(mem['text'] for mem in relevant_memories)
print(f"相关记忆:")
print(relevant_memories_text)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

浏览arXiv

最后,我们将使用MultiOn基于我们的命令和相关记忆浏览arXiv。

# 创建提示并浏览arXiv
prompt = f"{command}\n 我的过去记忆:{relevant_memories_text}"
browse_result = multion.browse(cmd=prompt, url="https://arxiv.org/")
print(browse_result)
  • 1.
  • 2.
  • 3.
  • 4.

结论

通过将Mem0与MultiOn集成,您已经创建了一个个性化的浏览器代理,记住用户偏好并自动执行网页任务。有关更多详细信息和高级用法,请参阅完整的手册。


总结

通过上面的例子,我们也可以看到如何使用 Mem0. 基本上就是对 Mem0 的 CRUD,然后 search。请求 LLM 时,带上 search 出来的 memory,一起发给 LLM。

之后,我们会一起看下 Mem0 的实现,看看如何实现 CRUD 和 search。