Memary: 开源自主代理的记忆层

Ray

Memary简介

Memary是一个开源项目,旨在为自主AI代理提供高效的记忆层。它的目标是通过模拟人类记忆的工作方式,帮助AI代理更好地管理和利用信息,从而提升其推理和决策能力。Memary的核心理念是,记忆对于人类的推理至关重要,同样也应该在构建AI代理时得到同等的重视。

Memary Logo

Memary项目由一群热衷于推动AI技术发展的开发者创建和维护。它采用MIT开源许可证,鼓励社区参与和贡献。项目的GitHub仓库提供了详细的文档、示例代码和使用指南,方便开发者快速上手和集成。

Memary的核心概念

Memary的设计基于几个核心概念,这些概念共同构成了其独特的记忆管理方法:

1. 自动生成的记忆

Memary能够自动捕获和存储代理与环境交互过程中产生的信息。这种自动化的记忆生成机制使得开发者无需手动管理记忆内容,大大简化了集成过程。同时,它还支持多个数据库的组合,为记忆存储提供了灵活性。

2. 记忆模块

Memary采用模块化设计,包括记忆流(Memory Stream)和实体知识存储(Entity Knowledge Store)两个主要组件。这种设计允许系统跟踪用户的偏好和兴趣变化,为分析和优化代理行为提供了基础。

3. 系统改进

Memary模仿人类记忆随时间演化和学习的过程。它能够跟踪代理的改进速度,帮助开发者了解代理的学习进展。

4. 记忆回溯

Memary保存了所有对话历史,使得开发者可以回溯代理的执行过程,并在特定时间点访问代理的记忆状态。这一功能对于调试和优化代理行为非常有用。

Memary的技术架构

Memary的技术架构包括几个关键组件,它们协同工作以提供全面的记忆管理解决方案:

代理系统

Routing Agent

Memary使用ReAct代理来规划和执行查询。这个代理配备了多种工具,其中最关键的是搜索工具,用于从知识图谱中检索信息。如果知识图谱中没有相关实体,代理会执行外部搜索。其他工具还包括基于LLaVa的计算机视觉功能和使用地理编码器和Google Maps的位置工具。

知识图谱

Knowledge Graph

Memary使用Neo4j图数据库来存储知识。它利用Llama Index将文档中的节点添加到图存储中,并使用Perplexity(基于mistral-7b-instruct模型)进行外部查询。知识图谱的使用场景包括:

  • 将代理的最终响应注入现有的知识图谱
  • 使用递归检索方法搜索知识图谱
  • 在处理多个关键实体的查询时,使用多跳推理来连接多个子图

这些技术减少了搜索整个知识图谱时的延迟。

记忆模块

Memory Module

记忆模块由记忆流和实体知识存储组成,其设计受到了微软研究院提出的K-LaMP模型的启发。

记忆流

记忆流捕获所有插入到知识图谱中的实体及其相关时间戳。它反映了用户知识的广度,即用户接触过的概念,但不推断接触的深度。记忆流支持以下功能:

  • 时间线分析:绘制交互的时间线,突出显示高度参与或主题焦点转移的时刻。
  • 提取主题:在交互中寻找重复出现的主题或话题。

实体知识存储

实体知识存储跟踪记忆流中存储的每个实体的引用频率和最近度。它反映了用户知识的深度,即用户更熟悉的概念。实体知识存储支持以下功能:

  • 按相关性排序实体:使用频率和最近度来对实体进行排序。
  • 对实体进行分类:根据实体的性质或提及的上下文将实体分组。
  • 突出显示随时间变化:识别实体排名或分类随时间的重大变化。

新的上下文窗口

New Context Window

Memary利用与用户相关的关键分类实体和主题来定制代理响应,使其更贴近用户当前的兴趣/偏好和知识水平/专业程度。新的上下文窗口由以下部分组成:

  • 代理响应
  • 最相关的实体
  • 聊天历史(经过总结以避免令牌溢出)

Memary的使用方法

要开始使用Memary,开发者需要遵循以下步骤:

  1. 安装Memary: 可以通过pip安装或从源代码本地安装。确保使用的Python版本不高于3.11.9。

  2. 指定使用的模型: Memary支持使用本地模型(通过Ollama)或OpenAI的模型。默认情况下,它会使用本地运行的模型,除非明确指定。

  3. 运行Memary:

    • 如果使用Ollama运行本地模型,需要按照相关仓库的说明进行设置。
    • 创建一个包含必要凭证的.env文件。
    • 获取所需的API凭证(如OpenAI、Neo4j、Perplexity等)。
    • 更新用户角色和系统角色(如果需要)。
    • 运行Streamlit应用程序。
  4. 基本用法: Memary提供了一个ChatAgent类,可以用来初始化和管理代理。开发者可以添加或删除自定义工具,以扩展代理的功能。

Memary的未来发展

Memary团队计划在未来添加更多功能,以进一步增强其记忆管理能力:

  1. 与代理记忆对话:提供一个聊天界面,允许用户访问、搜索和查看代理的记忆。

  2. 分析代理进展:提供相关指标,以展示代理记忆随时间的增长。

  3. 跟踪记忆:为每个生成的响应提供详细的代理记忆分析。

  4. 受众偏好:通过专有记忆模块推断受众在特定时期的偏好。

  5. memaryParse:支持解析和清理专有数据,并将其插入代理记忆。

  6. memaryRetrieval:使用不同技术检索代理记忆,并支持组合多个检索器。

  7. 可定制的记忆:允许用户查看、搜索和配置记忆,以及组合不同的记忆以改进检索。

  8. 游乐场:提供工具、模型和基准测试游乐场,方便开发者实验和优化。

结语

Memary为AI代理提供了一个强大的记忆管理解决方案,通过模拟人类记忆的工作方式,帮助代理更好地理解和利用信息。它的开源性质和灵活的架构使得开发者可以轻松集成和定制,以满足特定需求。随着项目的不断发展和社区的贡献,Memary有望在推动AI代理技术进步方面发挥重要作用。

对于那些希望深入了解Memary或为项目做出贡献的开发者,可以访问Memary的GitHub仓库获取更多信息。无论是构建更智能的聊天机器人,还是开发复杂的AI助手,Memary都为提升AI代理的记忆和认知能力提供了宝贵的工具和框架。

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号