跳到主要内容

CrewAI 记忆系统

crewAI 中的记忆系统简介

!!! note "增强代理智能" crewAI 框架引入了一个复杂的记忆系统,旨在显著增强人工智能代理的能力。该系统包括短期记忆、长期记忆、实体记忆和新识别的情境记忆,每种记忆都在帮助代理记住、推理和从过去的互动中学习方面发挥着独特的作用。

记忆系统组成部分

组件描述
短期记忆暂时存储最近的互动和结果,使代理能够回忆和利用与当前情境相关的信息。
长期记忆保存从过去执行中获得的宝贵见解和学习,使代理能够随着时间的推移建立和完善知识。
实体记忆捕获和组织在任务中遇到的实体(人、地点、概念)的信息,促进对复杂信息的深入理解和关系映射。
情境记忆保持互动的情境,有助于代理在一系列任务或对话中的响应连贯性和相关性。

记忆系统如何增强代理能力

  1. 情境意识: 通过短期记忆和情境记忆,代理可以在对话或任务序列中保持情境,从而产生更连贯和相关的回应。

  2. 经验积累: 长期记忆使代理能够积累经验,从过去的行动中学习,以改进未来的决策和问题解决能力。

  3. 实体理解: 通过保持实体记忆,代理可以识别和记住关键实体,增强其处理和交互复杂信息的能力。

在你的 Crew 中实现记忆

在配置 Crew 时,您可以启用和定制每个记忆组件,以适应 Crew 的目标和将执行的任务的性质。 默认情况下,记忆系统是禁用的,您可以通过在 Crew 配置中设置 memory=True 来确保其处于活动状态。 记忆系统默认使用 OpenAI 嵌入,但您可以通过将 embedder 设置为不同的模型来进行更改。

示例:为 Crew 配置记忆

from crewai import Crew, Agent, Task, Process

# 使用具有记忆功能的 Crew
my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True
)

其他嵌入提供商

使用 OpenAI 嵌入(已默认)

from crewai import Crew, Agent, Task, Process

my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "openai",
"config":{
"model": 'text-embedding-3-small'
}
}
)

使用 Google AI 嵌入

from crewai import Crew, Agent, Task, Process

my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "google",
"config":{
"model": 'models/embedding-001',
"task_type": "retrieval_document",
"title": "Embeddings for Embedchain"
}
}
)

使用 Azure OpenAI 嵌入

from crewai import Crew, Agent, Task, Process

my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "azure_openai",
"config":{
"model": 'text-embedding-ada-002',
"deployment_name": "you_embedding_model_deployment_name"
}
}
)

使用 GPT4ALL 嵌入

from crewai import Crew, Agent, Task, Process

my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "gpt4all"
}
)

使用 Vertex AI 嵌入

from crewai import Crew, Agent, Task, Process

my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "vertexai",
"config":{
"model": 'textembedding-gecko'
}
}
)

使用 Cohere 嵌入

from crewai import Crew, Agent, Task, Process

my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "cohere",
"config":{
"model": "embed-english-v3.0",
"vector_dimension": 1024
}
}
)

使用 crewAI 记忆系统的好处

  • 自适应学习: Crew 随着时间变得更加高效,适应新信息并改进其处理任务的方法。
  • 增强个性化: 记忆使代理能够记住用户偏好和历史互动,从而产生个性化的体验。
  • 问题解决能力提升: 访问丰富的记忆库有助于代理人做出更明智的决策,借鉴过去的学习和情境洞察。

入门指南

将crewAI的记忆系统整合到您的项目中非常简单。通过利用提供的记忆组件和配置,您可以快速赋予您的代理人记忆、推理和从互动中学习的能力,从而开启新的智能水平和能力。