Type something to search...
掌握 CrewAI:第 6 章--记忆基础 | 作者 Okan Yenigün | 2025 年 1 月 | 中

掌握 CrewAI:第 6 章--记忆基础 | 作者 Okan Yenigün | 2025 年 1 月 | 中

CrewAI中的内存类型

在CrewAI中,内存系统通过使AI代理能够记住、推理和从过去的互动中学习来增强其能力。

前一章:

该系统由几个关键组件组成:

  • 短期记忆:该组件暂时存储最近的互动和结果,使代理能够在进行中的任务中回忆相关信息。例如,它有助于通过回忆刚刚讨论过的内容来保持对话的一致性。使用RAG。
  • 长期记忆:它作为过去互动中有价值的见解和学习的存储库。它使代理能够随着时间的推移建立和完善其知识,基于历史数据改善决策过程。
  • 实体记忆:这种类型捕获并组织在任务中遇到的实体(如人、地点和概念)信息。它促进对这些实体之间的更深入理解和关系映射。使用RAG。
  • 上下文记忆:它整合短期记忆、长期记忆和实体记忆,以保持互动的上下文。这确保代理能够在整个对话或任务序列中提供一致且相关的响应。
  • 用户记忆:它存储用户特定的信息和偏好,增强个性化和用户体验。

通过利用这些记忆组件,CrewAI代理实现:

  • 上下文意识:在对话或任务序列中保持上下文会导致更一致和相关的响应。
  • 经验积累:从过去的行动中学习改善未来的决策和问题解决能力。
  • 实体理解:识别和记住关键实体增强了处理和互动复杂信息的能力。

内存默认设置为False。我们需要在crew函数中设置memory=True

## crew.py

@crew
 def crew(self) -> Crew:
  return Crew(
   agents=self.agents, 
   tasks=self.tasks,
   process=Process.sequential,
   verbose=True,
   memory=True,
  )

我们还可以自定义将使用的内存类型。

## crew.py

from crewai.memory.short_term.short_term_memory import ShortTermMemory
from crewai.memory.long_term.long_term_memory import LongTermMemory
from crewai.memory.entity.entity_memory import EntityMemory
from crewai.memory.storage.rag_storage import RAGStorage
from crewai.memory.storage.ltm_sqlite_storage import LTMSQLiteStorage


 @crew
 def crew(self) -> Crew:
  return Crew(
   agents=self.agents, 
   tasks=self.tasks,
   process=Process.sequential,
   verbose=True,
   memory=True,
   long_term_memory=LongTermMemory(
    storage=LTMSQLiteStorage(
     db_path="long_term_memory_storage.db"
    )
   ),
   short_term_memory=ShortTermMemory(
    storage=RAGStorage(
     type="short_term",
     allow_reset=True,
     embedder_config={
      "provider": "openai",  # Specify the provider explicitly
      "config":{
       "model": "text-embedding-ada-002",  # Specify the model
       "api_key": "", 
      }
     },
     crew=self,  # Pass crew agents if needed
     path="short_term",
    ),
   ),
   entity_memory=EntityMemory(
   storage=RAGStorage(
    type="entities",
    allow_reset=True,
    embedder_config={
     "provider": "openai",  # Specify the provider explicitly
     "config":{
      "model": "text-embedding-ada-002",  # Specify the model
      "api_key": "sk-", 
     }
    },
    crew=self,  # Pass crew agents if needed
    path="entity",
   ),
  ),
  )

这些组件构成了Crew AI中的内存系统。每个组件都有其特定的目的。为了理解它们如何工作并区分它们的角色,我们应该进行示例案例和项目,以观察其内部运作。稍后在本系列中,将更好地理解它们的角色。

了解更多

资源

https://docs.crewai.com/concepts/memory

https://www.youtube.com/watch?v=-hHplC_gcSE

https://www.youtube.com/watch?v=HGYrOxkLDnY

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多