订阅智能体?
MetaGPT提供了Agent的开发能力,Agent可以协助我们解决日常的一些问题,其中一个应用场景就是我们可以让Agent为我们关注某些想关注的信息,当有我们关注的事件发生时,Agent获取信息并进行处理,然后通过一些如邮件、微信、discord等通知渠道将处理后的信息发送给我们,我们将这类Agent称为订阅智能体
注意:
- 这里MetaGPT订阅智能体的实现主要有3个要素,分别是Role、Trigger、Callback,即智能体本身、触发器 和 数据回调。
- Role 这里自定义Agent的SubscriptionRunner类,实现Trigger、Callback的功能
- Trigger即触发器,代表了OSSWatcher角色的执行时机
- Callback就是定义了如何处理智能体生成的信息(可以数据发送到discord/微信或者邮件,本次使用邮件)
- 网络爬虫知识,这里智能体本身的动作是实现一个网络爬虫的功能,具体通过aiohttp和beautifulsoup库来实现:
aiohttp
:熟悉 [aiohttp]库的基本用法,会用aiohttp发起网络请求beautifulsoup
:了解HTML解析库 [BeautifulSoup],掌握如何使用它从HTML中提取信息
- 在对网页处理分析中我们会使用大模型LLM进行分析整理。
任务:完成对Huggingface Papers页面的爬取,获取到每一篇Paper的链接(提示:标题元素中的href标签),并通过链接访问标题的描述页面,在页面中获取一篇Paper的 标题、摘要。并将获取到的内容发送出去。
首先定义2个Action: CrawlHuggingface和AnalysisHgPapers来完成网页爬取与分析
下面进行运行,设置role 、mail callback 和 CronTrigger 通过定时方式执行,这里测试临时修改成每3分钟执行:)
注意,这里mail通过aiosmtplib库来进行异步处理
下面收到了邮件通知:)