BettaFish(微舆):从零打造的多Agent舆情分析助手

前言
在信息爆炸的数字化时代,公众舆论的走向往往能决定一个品牌的命运、一个事件的结局,甚至影响整个社会的情绪走向。然而,面对海量的社交媒体数据、新闻评论、论坛讨论,如何准确捕捉公众的真实想法?如何打破信息茧房,全面了解舆情的真实面貌?如何预测舆情的发展趋势?
今天为大家深度解析一个GitHub上备受瞩目的开源项目 —— BettaFish(微舆),这个拥有 4.2K+ Stars 的项目,是一个从零实现的多Agent舆情分析助手,旨在打破信息茧房,还原舆情原貌,预测未来走向,辅助决策!
项目地址:https://github.com/666ghj/BettaFish
项目概览
🌟 项目亮点
BettaFish(微舆) 是一个完全从零开始实现的多Agent舆情分析系统,最大的特色是不依赖任何框架,这意味着你可以完全理解每个组件的实现原理,并根据自己的需求进行定制化开发。
该项目的核心特色包括:
- 🤖 多Agent架构:采用多Agent协同工作的方式,每个Agent专注于不同的分析任务
- 📊 全方位分析:从数据采集、情感分析到深度洞察和报告生成,形成完整闭环
- 🔄 灵活扩展:支持接入不同的LLM模型、情感分析模型和业务数据库
- 📈 趋势预测:不仅分析当前舆情,还能预测未来走向(开发中)
- 🛠️ 易于定制:从零实现的设计让系统完全可定制,适合各种业务场景
📊 项目数据
- ⭐ Stars: 4.2K+
- 🍴 Forks: 438
- 👥 Contributors: 18+
- 📝 主要语言: Python (93.9%) + HTML (5.2%)
- 📄 License: GPL-2.0 许可证
技术架构深度解析

🏗️ 核心引擎架构
BettaFish 采用模块化的多引擎架构,将复杂的舆情分析任务分解为多个专门的引擎:
graph TB A[用户输入查询] --> B[ForumEngine
论坛数据采集] A --> C[MediaEngine
媒体数据采集] B --> D[InsightEngine
深度分析引擎] C --> D D --> E[ReportEngine
报告生成引擎] E --> F[舆情分析报告] D --> G[情感分析模块] D --> H[深度搜索Agent] D --> I[LLM分析引擎]
1. 📱 ForumEngine - 论坛数据采集引擎
功能定位:负责从各大论坛平台采集用户讨论数据
核心能力:
- 多平台数据采集(微博、知乎、豆瓣等)
- 智能去重和数据清洗
- 实时监控和定时采集
应用场景:
- 热点话题追踪
- 用户评论分析
- 社区舆情监控
2. 📰 MediaEngine - 媒体数据采集引擎
功能定位:从新闻媒体、社交平台采集媒体报道和官方信息
核心能力:
- 新闻文章采集
- 官方声明监控
- 媒体传播路径分析
应用场景:
- 媒体报道分析
- 官方舆情监控
- 信息传播路径追踪
3. 🔍 InsightEngine - 深度分析引擎
这是系统的”大脑”,负责将所有采集的数据进行深度分析和洞察。
核心组件:
3.1 深度搜索Agent
graph LR A[查询输入] --> B[多源搜索] B --> C[数据聚合] C --> D[相关性排序] D --> E[深度分析] E --> F[洞察输出]
3.2 情感分析模块
支持多种情感分析方法:
- 多语言情感分析
- 基于BERT的中文情感分析
- GPT-2 LoRA微调模型
- 传统机器学习方法(SVM等)
3.3 LLM分析引擎
- 支持任意符合OpenAI调用格式的LLM提供商
- 可灵活切换不同的模型(GPT、Claude、Qwen等)
- 通过配置文件即可更换模型
4. 📝 ReportEngine - 报告生成引擎
功能定位:将分析结果转化为结构化的专业报告
核心能力:
- 支持自定义报告模板
- 多种报告格式(Markdown、HTML、PDF等)
- 智能选择最合适的模板
核心技术特性详解
1. 🤖 多Agent协同工作机制
传统的舆情分析系统通常是单线程处理,而 BettaFish 采用多Agent架构,每个Agent专注于自己擅长的领域:
sequenceDiagram participant User as 用户 participant Forum as ForumEngine participant Media as MediaEngine participant Insight as InsightEngine participant Report as ReportEngine User->>Forum: 启动数据采集 User->>Media: 启动媒体监控 Forum->>Insight: 传输论坛数据 Media->>Insight: 传输媒体数据 Insight->>Insight: 深度分析处理 Insight->>Report: 传递分析结果 Report->>User: 生成最终报告
优势:
- 专业化分工:每个Agent只做自己最擅长的事
- 并行处理:多个Agent可以同时工作,提高效率
- 易于扩展:新增功能只需添加新的Agent
- 故障隔离:单个Agent出问题不影响其他Agent
2. 🔌 灵活的LLM接入机制
BettaFish 支持接入任何符合OpenAI调用格式的LLM模型,这意味着你可以使用:
- 商业API:OpenAI GPT、Claude、文心一言等
- 开源模型:通过SiliconFlow等平台接入Qwen、LLaMA等
- 本地部署:对接本地部署的大模型服务
接入示例:
1 | # config.py 中配置 |
只需要修改配置文件,即可切换不同的模型,无需改动代码。
3. 💡 多维度情感分析
情感分析是舆情分析的核心,BettaFish 集成了多种情感分析方法:
方法一:多语言情感分析
适合处理中英文混合、多语言场景
方法二:基于BERT的中文微调
针对中文语境优化,准确率高
方法三:GPT-2 LoRA微调
轻量级模型,推理速度快
方法四:传统机器学习
使用SVM等传统方法,适合特定领域
你可以根据数据特点选择最合适的方法,也可以同时使用多种方法,综合判断。
4. 🗄️ 自定义业务数据库接入
BettaFish 不仅分析公开的网络数据,还支持接入你的业务数据库:
应用场景:
- 结合企业内部数据(客服记录、用户反馈等)
- 融合CRM系统数据
- 整合业务系统的历史数据
实现方式:
1 | # 创建自定义数据工具 |
实际应用场景
场景一:品牌舆情监控
需求:某品牌想要实时监控网络上关于自己产品的讨论
BettaFish解决方案:
- ForumEngine 和 MediaEngine 自动采集相关讨论
- InsightEngine 进行情感分析,识别正面/负面/中性评价
- ReportEngine 生成日报/周报,包含关键发现和建议
场景二:危机公关预警
需求:提前发现潜在的舆情危机
BettaFish解决方案:
- 监控关键词热度变化趋势
- 识别负面情感突然增加的情况
- 预测舆情扩散的可能性
- 及时生成预警报告
场景三:市场调研分析
需求:了解用户对某个新产品的真实想法
BettaFish解决方案:
- 全面采集各平台的用户讨论
- 深度分析用户关注点和痛点
- 生成结构化的市场洞察报告
场景四:竞品分析
需求:对比分析不同品牌在用户心中的形象
BettaFish解决方案:
- 同时采集多个竞品的讨论数据
- 使用相同的分析方法确保公平对比
- 生成对比分析报告
为什么选择BettaFish?
✅ 相比商业方案的优点
- 完全开源:代码透明,可完全掌控
- 无框架依赖:从零实现,易于理解和定制
- 成本可控:可以选择性价比更高的LLM服务
- 数据安全:可以本地部署,数据不出本地
✅ 相比其他开源方案的优点
- 架构清晰:多Agent设计,易于扩展
- 灵活性强:支持多种模型和数据库接入
- 实用性强:不仅有分析,还有报告生成
- 文档完善:GitHub上有详细的使用说明
快速开始指南
1. 环境准备
1 | # 克隆项目 |
2. 配置LLM模型
编辑 config.py 文件,填入你的LLM配置:
1 | OPENAI_API_KEY = "your_api_key" |
3. 选择情感分析模型
根据你的需求选择合适的情感分析模型:
1 | # 使用多语言情感分析 |
4. 运行分析
1 | # 启动Web界面 |
未来发展规划
根据项目README,BettaFish 团队正在开发预测功能:
“目前我们经过很长一段时间的爬取收集,拥有了大量全网话题热度随时间、爆点等的变化趋势热度数据,已经具备了可以开发预测模型的条件。我们团队将运用时序模型、图神经网络、多模态融合等预测模型技术储备于此,实现真正基于数据驱动的舆情预测功能。”
这意味着未来 BettaFish 不仅能告诉你”现在怎么样”,还能告诉你”未来会怎样”,这对于决策支持来说价值巨大。

总结
BettaFish(微舆)是一个真正从零开始实现的多Agent舆情分析助手,它的出现为开源社区提供了一个优秀的舆情分析解决方案。无论是想要学习多Agent系统设计,还是需要搭建自己的舆情监控系统,BettaFish 都值得你深入了解。
核心优势总结:
- 架构清晰:多引擎设计,职责分明
- 灵活扩展:支持多种模型和数据库接入
- 实用完整:从数据采集到报告生成的完整闭环
- 开源免费:GPL-2.0许可证,可自由使用和修改
- 持续发展:团队正在开发预测功能,未来更强大
如果你对舆情分析、多Agent系统、或者LLM应用开发感兴趣,不妨去GitHub上给这个项目点个Star,fork下来自己研究研究。相信通过阅读和运行这个项目,你会对多Agent系统设计有更深入的理解。
项目地址:https://github.com/666ghj/BettaFish
License:GPL-2.0
⭐ 如果觉得有用,别忘了给项目点个Star!