如何利用LLM实现AI资讯自动聚合与报告生成?
摘要:本qiang~开发了一块AI资讯的自动聚合及报告生成工具,包括具体的框架、实现原理以及完整源码,满满诚意,提供给各位看官。欢迎转发、订阅~
1.背景
花了整整两天时间,本qiang~开发了一个关于AI新闻资讯的自动聚合及报告生成工具。
本篇记录一下整体的框架和实现原理,并且本着它山之石可以攻玉,本qiang~开放了所有的源码,源码可见如下第5章节,感谢各位看官的大力支持。如有问题,可私信或留言沟通。
成品可以参考链接:《AI资讯每日速递(2024.11.05)》
2.为什么要做这件事?
深处AI时代,想要追赶前沿的一手技术与资讯,有一个工具能够实时获取每天的重点内容,包括咨询和技术相关内容,并且能够按照公司及内容的优先级进行筛选,然后午后捧着一杯奶茶,点开自动生成的报告,岂不美哉美哉?
3.相关技术
Crawl4ai: 一块集成LLM的开源爬虫工具
Swarm: OpenAI发布的Multi-Agent编排框架,可以参考本人先前的辛苦整理:《LLM应用实战: OpenAI多代理框架-Swarm》
Python-docx: word的操作工具
Textdistance: 用于报告模块中资讯排序结果与原始资讯结果的对齐
Gpt-4o-mini: 采用的大模型是gpt-4o-mini,每日免费调用200次,不够用...
4.整体框架
整体框架分为三个模块:
4.1下载模块
下载模块的数据源包括各大AI新闻网站及知名博客,然后通过开源爬虫工具crawl4ai进行爬取,爬取的维度包括标题、内容、图片等。
4.2解析模块
解析模块是针对爬取的结果进行解析,采用OpenAi Swarm框架,包含4个Agent,其中Analysis Agent是主体Agent,遍历下载的每一个资讯,将每条资讯分别同步给其他Agent完成具体的解析任务。其中Translator Agent主要功能是翻译,将英文翻译为中文;Classifier Agent主要功能是针对资讯进行分类,如涉及技术还是产品之类的;Modifier Agent主要功能是将资讯的标题和内容进行改写,标题可以改写更醒目一些,内容主要是提取摘要信息。
Analysis Agent负责串联其他3个Agent,每个Agent结束后均会返回到Analysis Agent,以便让Analysis Agent决定下一步的操作。
4.3报告模块
报告模块包含Sorter Agent,主要功能是将解析后的资讯按照公司、内容等维度进行排序,然后筛选出其中相对排名较高的资讯。
经过排序Agent后,最终将结果保存为word。
5.全部源码
5.1下载模块
采用crawl4ai工具进行网站爬取,示例的网站是https://www.aibase.com,网站存在中文及英文,但增加翻译Agent是为了兼容其他网站。
