OpenAGI:介绍长期记忆
在人工智能快速发展的世界中,机器不仅能够处理信息,而且能够记住并从过去的互动中学习是至关重要的。OpenAGI的最新更新引入了长期记忆(LTM),这是一项突破性的进展,标志着在开发智能、类似人类的代理程序方面迈出了重要一步。这一创新功能提升了代理程序互动、适应和成长的方式,为AI驱动系统带来了新的智能水平。
什么是长期记忆,为什么它重要?
长期记忆为AI代理提供了存储和回忆来自先前交互的信息的能力,就像人类记忆一样。这种发展不仅仅是一项新功能,而且是AI系统运作方式的根本性转变,提升了它们的性能和用户体验。
使用LTM,OpenAGI代理现在可以:
- 回顾过去的互动,以提供对话的连续性。
- 随着时间的推移学习并根据用户输入进行适应。
- 通过参考以往的对话提供具有上下文相关性的回复。
- 随着每次交互的增多提高他们的准确性和效率。
长期记忆的主要特点
- 无缝集成:在OpenAGI中启用LTM非常简单,只需要进行简单的配置更新。
- 可定制的存储器:用户可以控制他们的代理的记忆存储在哪里以及如何存储。
- 智能检索:LTM利用语义相似性从过去经验中检索和应用相关信息。
- 反馈驱动学习:代理人可以整合用户反馈以持续提升他们的表现。
- 隐私控制:内存管理是用户友好的,可以轻松删除或修改存储的信息。
在OpenAGI中实施长期记忆(LTM)
在OpenAGI中,长期记忆的实现被设计为尽可能简单。以下是一个示例代码片段,演示如何在您的代理中启用和配置LTM:
- 导入库和模块:此部分导入与OpenAGI交互、处理内存、任务规划和使用DuckDuckGo进行网络搜索所需的组件。
import os
from openagi.agent import Admin
from openagi.llms.openai import OpenAIModel
from openagi.memory import Memory
from openagi.planner.task_decomposer import TaskPlanner
from openagi.worker import Worker
from openagi.actions.tools.ddg_search import DuckDuckGoSearch
os.environ['OPENAI_API_KEY'] = "-"
config = OpenAIModel.load_from_env_config()
llm = OpenAIModel(config=config)
web_searcher = Worker(
role="Web Researcher",
instructions="""
You are tasked with conducting web searches using DuckDuckGo.
Find the most relevant and accurate information based on the user's query.
""",
actions=[DuckDuckGoSearch],
)
admin = Admin(
actions=[DuckDuckGoSearch],
planner=TaskPlanner(human_intervene=False),
memory=Memory(long_term=True),
llm=llm,
)
admin.assign_workers([web_searcher])
query = input("Enter your search query: ")
description = f"Find accurate and relevant information for the query: {query}"
res = admin.run(
query=query,
description=description
)
print(res)
有了LTM激活,您的代理现在将保留来自先前互动的知识,并利用这些信息提供更相关和智能的回复。
真实世界应用:记忆力的力量行动中
考虑一个现实世界的情景,您正在构建一个音乐助手,为用户检索歌词。代理记住用户偏好和以前的互动能力展示了LTM的潜力:
最初查询:
用户:“请提供皇后乐队的歌曲‘波西米亚狂想曲’的歌词。”
代理人:
按下Enter键后,我们将获得歌词作为输出,并显示一条消息,表明长期记忆已更新:
后续查询:
用户:“现在给我‘Radio Ga Ga’的歌词。”
现在,代理人在长期记忆中寻找类似的查询并检索它们:
在这个例子中,代理记住了用户之前对Queen乐队的兴趣,提供了与上下文相关的回应。这种互动水平是通过长期记忆的整合实现的。
自定义您的代理记忆
OpenAGI 的 LTM 功能的一个关键优势是其灵活性。开发人员可以微调各种参数来定制他们的代理的内存能力:
- 长期: 一个布尔标志,用来启用或禁用LTM。
- ltm_threshold:定义检索记忆的语义相似度阈值(默认值:0.7)。
- 长期目录: 指定内存存储的目录。
这里是如何自定义这些参数的示例:
from openagi.memory import Memory
memory = Memory(
long_term=True,
ltm_threshold=0.8,
long_term_dir="/path/to/custom/memory/storage"
)
admin = Admin(
actions=[YourCustomTool],
planner=TaskPlanner(human_intervene=True),
memory=memory,
llm=llm,
)
这种定制化水平使开发人员能够优化内存存储和检索,确保代理在复杂环境中有效运行。
长期记忆(LTM)如何增强决策制定
长期记忆功能遵循一种系统化的决策过程。当收到查询时,代理程序会检查其记忆中是否有类似的过去查询,并依次执行以下步骤:
- 如果启用了LTM,则代理搜索相关的记忆。
- 如果找到一个相似度高的记忆,并且没有负面反馈,代理将使用该记忆来做出回应。
- 如果过去互动的反馈表明错误,代理将相应调整其回应。
- 新的互动被存储在长期记忆中,以及未来参考的反馈。
这种反馈驱动的方法确保持续学习和改进。
从反馈中学习
LTM的一个重要优势在于它能够从用户反馈中学习。例如,如果用户对一个回应提供了负面反馈,代理将存储这些信息并相应调整未来的交互:
为什么长期记忆是一个改变游戏规则的因素
长期记忆的引入将OpenAGI转变为一个更强大和适应性更强的平台。能够记住、学习和随时间改进的智能体不仅更有用,而且在解决复杂的现实世界问题中至关重要。通过将长期记忆融入您的AI项目中,您可以创建提供更聪明、有上下文意识的辅助的智能体。
想象一下一个可以记住你的偏好、避免重复错误并且随着每次互动而变得更聪明的AI助理。这是智能系统的未来,而长期记忆是向这个方向迈出的关键一步。
立即开始
探索长期记忆的能力,访问我们的GitHub存储库。无论您是在开发个人助手还是复杂的系统,LTM都提供了一个激动人心的机会,以增强您的代理智能和适应性。
使用OpenAGI中的长期记忆功能提升您的AI项目。
加入我们的Discord频道。