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 的爬虫,从支持的平台中采集话题、评论和视频;包含广义话题提取器和深度情感爬虫。

工作流程(高层级流程)

  1. 用户查询 – Flask 端点接收自然语言请求(例如:"分析武汉大学的声誉")。
  2. 并行启动 – QueryEngine、MediaEngine 和 InsightEngine 同时启动,各自使用独立工具集。
  3. 初步概览 – 智能体执行快速搜索并返回简洁摘要。
  4. 策略规划 – 基于概览,系统决定如何将问题拆分为子任务。
  5. 迭代论坛循环 – ForumEngine 监控智能体,LLM 调解员提示更深入搜索,智能体反思彼此发现,循环重复直至满足停止条件。
  6. 报告组装 – 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)使用,也适合希望将智能体定制到其他领域的开发者。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目