内存
了解 AgentGPT 如何借助矢量数据库管理内存。
AgentGPT 中的内存管理
为了实现既定目标,人工智能智能体会考虑其执行历史来执行大量任务。当代理智能体运行时,内存管理变得具有挑战性,因为它们的内存通常与上下文长度一样大。对于 GPT-3.5 和 GPT-4,这相当于大约 8k Tokens。
AgentGPT 的内存困境
一旦你的代理运行了几个循环,他们往往会忘记他们之前的操作。我们的解决方案?矢量数据库。在这里,我们将代理内存保存在外部,以便在需要时可以访问。
什么是矢量数据库?
这个外部文档 - Weaviate 文档,提供了详细的解释。简而言之,向量数据库使我们能够在外部存储任务执行历史记录。这样,代理就可以通过文本相似性搜索从许多循环中访问内存。本质上,人类检索内存的方式与 Vector DB 的操作类似。
为什么用 Weaviate?
Weaviate 是我们首选的矢量数据库,原因如下:
- Weaviate 是开源的,可以通过 docker-compose 方便地访问,无需本地 AgentGPT 运行的 API 密钥。
- 它的云产品可以根据我们的工作负载进行扩展,使我们无需管理额外的基础设施。
- Weaviate 与 LangChain 等工具无缝集成。
但是,如果您对其他数据库有建议,我们鼓励您创建Tickets或拉取请求。
AgentGPT 中的内存
使用长期记忆仍然是一项正在进行的工作。以下是迄今为止它的一些应用:
- 过滤给定运行中使用的类似任务。
我们正在积极开发更多的应用程序。如果您对内存管理有有趣的想法或希望为其开发做出贡献,请随时与我们联系。