BettaFish
开源多Agent舆情分析系统,一键部署即可对30+社媒平台进行全自动舆情监控与报告生成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源多Agent舆情分析系统,一键部署即可对30+社媒平台进行全自动舆情监控与报告生成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,当你在网上搜索一个品牌、一个事件、一个政策时,扑面而来的信息就像一条浑浊的河流——真实的声音被算法淹没,有用的观点被流量稀释。你需要的不是更多的信息,而是一台能把噪声过滤成信号的机器。
这就是微舆(BettaFish)想要解决的问题。
微舆是一个开源的多智能体舆情分析系统,用户只需要像聊天一样提出问题,系统就会自动完成从数据采集、深度分析到报告生成的全流程。开发者自称"从0实现,不依赖任何框架",这在国内开源社区颇为罕见——大量 AI 项目选择站在 LangChain、AutoGPT 等"巨人"的肩膀上,而微舆选择了一条更艰难的路:完全自研,用纯 Python 代码构建一个完整的多智能体协作框架。
根据项目 README 提供的案例,当用户输入"武汉大学舆情分析"时,系统会经历如下流程:
第一步:多 Agent 并行启动。 Query Agent(搜索)、Media Agent(多模态内容)、Insight Agent(深度洞察)三个智能体同时开始工作,就像三位各有专长的研究员同时出动。
第二步:策略制定。 各 Agent 基于初步结果,制定分块研究策略,决定接下来要深入挖掘哪些方向。
第三步:Forum 协作。 这是微舆最具创新性的设计——引入了"论坛辩论机制",不同 Agent 被赋予不同的工具集和思维模式,通过链式思维碰撞和辩论,避免单一模型的思维局限。用作者的话说:"催生出更高质量的集体智能与决策支持。"
最终,系统生成一份完整的 HTML 格式分析报告,涵盖情感倾向、传播路径、关键意见领袖、舆论走向预测等多个维度。
微舆的系统由多个引擎组成,每个引擎对应一个核心能力:
项目选择了完全自研的道路,这在实际工程中带来了一些有趣的优势:
首先,可控性更强。当 LangChain 发布Breaking Change 时,依赖它的项目可能面临重构风险;而微舆的代码结构完全透明,开发者可以精准把控每一个环节。其次,依赖更少。requirements.txt 中虽然有 langchain 的间接依赖,但核心逻辑不依赖任何 AI 框架,这意味着升级和维护都更加灵活。最后,定制化门槛更低。作者在文档中明确提到:"你只需简单修改 Agent 工具集的 API 参数与 Prompt,就可以把他变成一个金融领域的市场分析系统。"
| 层级 | 技术选型 |
|---|---|
| 后端框架 | Flask + Flask-SocketIO + eventlet |
| 前端界面 | Streamlit(多端口独立服务) |
| 数据库 | PostgreSQL + Redis(docker-compose 默认集成) |
| LLM 接口 | OpenAI 兼容格式(支持 Kimi、DeepSeek 等国产模型) |
| 爬虫 | Playwright(浏览器自动化)+ BeautifulSoup + lxml |
| 搜索 | Tavily API(AI 联网搜索) |
| ML | PyTorch + Transformers + sentence-transformers + scikit-learn |
根据代码审查,微舆提供了非常完善的生产级部署方案:
Dockerfile 层面,基于 python:3.11-slim,安装了 30+ 系统依赖(包括 GTK3、OpenCV 所需的图形库、ffmpeg 等),使用 uv 作为包管理器(速度比 pip 快 5-10 倍),预装了 Playwright Chromium 浏览器。整个构建过程考虑了 Docker 层缓存——先 COPY requirements.txt 安装依赖,再 COPY 源代码。
docker-compose.yml 层面,同时启动了主应用(Flask + 3个 Streamlit)和 PostgreSQL 数据库。四个端口同时暴露:5000(Flask 主控)、8501-8503(三个 Streamlit Agent 界面)。数据持久化通过 volume 映射实现。
部署门槛主要在于 .env 配置——需要填写多个 LLM API 密钥(Kimi、Tavily 等),对于没有相关账号的用户来说,初始配置有一定门槛。但一旦配置完成,docker-compose up 确实可以一键启动。
硬件需求方面,由于爬虫和 NLP 分析都在 CPU 上运行(requirements.txt 中 torch 为 CPU 版本),对 GPU 无要求。实测 4GB RAM + 10GB 磁盘即可运行,相比同类产品(如某些需要 16GB+ VRAM 的方案)要轻量得多。
需要坦诚地说,微舆目前并非完美:
从社区数据来看,微舆在 GitHub 上拥有 41000+ stars、7500+ forks,TrendShift 排名进入全球前 300。这个数据在国内开源项目中相当罕见——甚至超过了许多商业 SaaS 产品。
更重要的是,它代表了一种**"自研 AI 基础设施"**的探索路径。在大家都习惯调用 LangChain、AutoGen 的时代,微舆用纯 Python 从零构建了完整的多智能体框架,代码量约 2 万行,结构清晰、模块独立。这意味着:
作者还在项目中预告了"MiroFish"(预测引擎),目标是构建"从数据到决策"的完整闭环——从微舆的数据收集与分析,到 MiroFish 的全景预测,形成了一个野心的蓝图。
在 AI 应用落地的浪潮中,微舆用一种务实的方式回答了一个问题:开源不只是复现论文,更是把 AI 能力真正交给一线使用者。无论是市场分析师、品牌运营,还是政策研究者,只要会配置 API,就能在本地运行一套专业级的舆情分析系统——这本身就是一个有价值的目标。