666ghj/BettaFish
微舆:人人可用的多Agent舆情分析助手,打破信息茧房,还原舆情原貌,预测未来走向,辅助决策!从0实现,不依赖任何框架。
BettaFish – 多智能体社交媒体洞察平台
是什么 – BettaFish 是一个开源的、基于 Python 的系统,将多个专用 AI 智能体整合在一起,从数十个社交媒体平台(微博、小红书、TikTok 等)收集、分析并报告公众意见。用户通过简单的聊天式查询与系统交互;平台随后运行一个智能体流水线,进行数据爬取、多模态(文本 + 图像 + 视频)分析、情感与主题建模,并最终生成精美的交互式 HTML(或 PDF/Markdown)报告。
核心组件
| 引擎 | 角色 | 主要职责 |
|---|---|---|
| QueryEngine | 广泛搜索智能体 | 使用 LLM 驱动的提示发起网络搜索,获取新闻和评论,并总结初步发现。 |
| MediaEngine | 多模态智能体 | 下载并分析短视频/音频、图像,并从搜索结果中提取结构化卡片(天气、股票、日历等)。 |
| InsightEngine | 私有数据与深度情感智能体 | 连接到用户提供的 PostgreSQL/MySQL 存储,运行关键词优化查询,执行微调情感分析(BERT-LoRA、Qwen-3 等)。 |
| ReportEngine | 报告生成器 | 收集智能体的输出,选择 Markdown 模板,规划章节长度,验证基于 JSON 的中间表示(IR),并渲染交互式 HTML 报告(PDF 可通过 WeasyPrint 选配)。 |
| ForumEngine | 智能体协作枢纽 | 实现“论坛”机制,由 LLM 主持的调解员协调三个分析智能体之间的辩论,实现迭代优化并避免单一模型偏差。 |
| MindSpider | 爬取子系统 | 一组基于 Playwright 的爬虫,从支持的平台中采集话题、评论和视频;包含广义话题提取器和深度情感爬虫。 |
工作流程(高层级流程)
- 用户查询 – Flask 端点接收自然语言请求(例如:"分析武汉大学的声誉")。
- 并行启动 – QueryEngine、MediaEngine 和 InsightEngine 同时启动,各自使用独立工具集。
- 初步概览 – 智能体执行快速搜索并返回简洁摘要。
- 策略规划 – 基于概览,系统决定如何将问题拆分为子任务。
- 迭代论坛循环 – ForumEngine 监控智能体,LLM 调解员提示更深入搜索,智能体反思彼此发现,循环重复直至满足停止条件。
- 报告组装 – ReportEngine 汇集所有中间结果,构建 JSON IR,验证,选择 Markdown 模板,渲染最终 HTML(可选 PDF/Markdown)。
主要特性
- 跨 10+ 国内及国际平台的 AI 驱动 24/7 爬取。
- 混合分析:结合 LLM 推理、微调情感模型与经典统计方法。
- 多模态能力 – 解析短视频、图像和结构化搜索引擎卡片。
- 论坛式智能体协作 – 由辩论引导的 LLM 主导多个智能体,产出更丰富、更少同质化的洞察。
- 私有数据集成 – 安全连接器允许企业将内部数据库与公众意见融合。
- 模块化、轻量级 Python 设计 – 每个引擎独立封装为包;开发者可通过单个配置更改替换提示、工具或模型。
- 一键 Docker 部署及各引擎可选 Streamlit 前端。
- 报告生成 – 包含 SVG 图表的交互式 HTML 报告,通过 WeasyPrint 可选导出 PDF,Markdown 作为降级方案。
快速入门(Docker 快速启动)
# 复制环境模板并编辑凭证
cp .env.example .env
# 启动所有服务(Flask + PostgreSQL + 智能体)
docker compose up -d
# 然后打开 UI
open http://localhost:5000
开发时可使用 Streamlit 单独运行各引擎,例如 streamlit run SingleEngineApp/query_engine_streamlit_app.py。
可扩展性
- 提示替换 – 修改
*/prompts/下任意智能体的提示文件,即可重定向系统(例如从品牌声誉分析转向金融市场分析)。 - 模型插件 – 所有 LLM 调用均使用 OpenAI 兼容包装器;可将
*_ENGINE_BASE_URL环境变量指向 Azure、Anthropic 或自托管模型。 - 自定义工具 – 在
tools/目录中添加新的搜索或媒体提取工具,智能体将自动识别并使用。
许可与社区
- 许可证:GPL-2.0(见
LICENSE)。 - 贡献指南:见
CONTRIBUTING.md。 - 支持:Inferera 提供的 LLM-API 赞助;Anspire Open 提供的额外基础设施(搜索、文件解析、浏览器自动化)。
- 演示与文档:包含对武汉大学的完整运行报告(
final_reports/),README 中附有操作视频链接。
TL;DR
BettaFish 是一个功能完整的多智能体意见分析引擎,可自动爬取公开社交媒体数据,运行多模态与情感模型,通过论坛机制让智能体辩论,并输出交互式报告——全部由 Python、Flask 和 Docker 协调。它既可直接供终端用户(通过 Web UI)使用,也适合希望将智能体定制到其他领域的开发者。
相关
- 项目
- 项目
- 项目
- 项目
- 项目