1. 项目概述:BettaFish 多智能体舆情分析系统
BettaFish(微舆)是一款基于多智能体协作架构的开源舆情分析系统,专为需要快速获取社交媒体洞察的用户设计。这个系统最吸引人的地方在于,它将原本需要数天人工收集整理的工作,压缩到了几分钟内自动完成。想象一下,你只需要像聊天一样输入"分析最近小米SU7在小红书和抖音上的用户反馈",系统就会自动完成从数据采集到报告生成的全流程。
系统核心由四个专业Agent组成:
- Query Agent:负责全网搜索和初步数据筛选
- Media Agent:专门处理图片、视频等多模态内容
- Insight Agent:深度挖掘数据中的隐藏模式
- Report Agent:将分析结果转化为易读的报告
这些Agent在ForumEngine的协调下,就像一支专业团队那样分工协作。ForumEngine的作用类似于项目主管,它会根据任务需求调度不同的Agent,并整合它们的工作成果。这种架构设计使得系统能够处理复杂的舆情分析任务,而不仅仅是简单的数据抓取。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与Docker部署
2.1 Docker环境配置
对于Windows用户,Docker是最推荐的部署方式。它避免了复杂的Python环境配置,也简化了依赖管理。以下是详细的安装指南:
-
下载Docker Desktop:
- 访问Docker官网下载Windows版安装包
- 注意选择与系统架构匹配的版本(x64/arm64)
-
安装注意事项:
- 安装过程中确保勾选"Use WSL 2 instead of Hyper-V"选项(适用于Win10/11)
- 如果系统未启用虚拟化,需要进入BIOS开启VT-x/AMD-V支持
-
安装后验证:
bash复制# 检查Docker引擎版本
docker --version
# 检查Docker Compose版本
docker compose version
# 运行测试容器
docker run hello-world
提示:如果遇到网络问题,可以配置国内镜像加速。在Docker设置中找到"Docker Engine",添加如下配置:
json复制{ "registry-mirrors": ["https://registry.docker-cn.com"] }
2.2 Git工具安装
虽然可以直接下载项目ZIP包,但安装Git会更方便后续更新:
- 从Git官网下载Windows版Git
- 安装时建议选择"Use Git from the Windows Command Prompt"选项
- 安装完成后验证:
bash复制git --version
3. BettaFish项目部署
3.1 获取项目代码
推荐两种方式获取项目:
-
直接下载ZIP:
- 从GitHub仓库下载最新release包
- 解压到容易访问的位置(如桌面)
-
使用Git克隆(适合开发者):
bash复制git clone https://github.com/bettafish-project/bettafish.git
cd bettafish
3.2 配置文件准备
项目使用.env文件管理配置,部署时需要:
bash复制# 复制示例配置文件
copy .env.example .env
.env文件中几个关键配置项:
PORT: 应用运行的端口号(默认5000)TZ: 时区设置(建议Asia/Shanghai)- 各Agent的API配置(后续接入大模型时设置)
3.3 启动容器服务
在项目目录下执行:
bash复制docker compose up -d
首次启动会经历以下过程:
- 下载基础镜像(约2-3GB,视网络情况)
- 构建应用镜像
- 初始化数据库
- 启动各服务组件
可以通过以下命令监控启动状态:
bash复制docker compose logs -f
3.4 验证部署
成功启动后,在浏览器访问:
code复制http://localhost:5000
应该能看到系统配置界面。如果遇到端口冲突,可以修改.env中的PORT值,然后重启服务:
bash复制docker compose down
docker compose up -d
4. 接入蓝耘大模型
4.1 获取API凭证
- 注册蓝耘MaaS平台账号
- 在控制台选择适合的模型(如step-3.5-flash)
- 获取API Key和Base URL
4.2 配置模型接入
有两种配置方式:
方式一:通过Web UI配置
- 访问本地部署的Web界面
- 进入LLM配置页面
- 填写:
- Base URL: https://maas-api.lanyun.net/v1
- API Key: 你的实际Key
- Model Name: /maas/jieyue/step-3.5-flash
方式二:直接编辑.env文件
ini复制# Insight Agent配置示例
INSIGHT_ENGINE_API_KEY=your_api_key_here
INSIGHT_ENGINE_BASE_URL=https://maas-api.lanyun.net/v1
INSIGHT_ENGINE_MODEL_NAME=/maas/jieyue/step-3.5-flash
配置完成后需要重启服务:
bash复制docker compose restart
4.3 多模型混合策略
高级用户可以给不同Agent配置不同模型,平衡性能和成本:
- 对需要高准确率的Agent(如Report Agent)使用更强但更贵的模型
- 对基础数据处理Agent使用轻量级模型
- 在.env中分别配置各Agent的模型参数
5. 系统使用指南
5.1 基础使用流程
- 访问Web界面(localhost:5000)
- 在输入框用自然语言描述需求,例如:
- "分析华为Mate60在微博上的用户评价"
- "总结最近三个月小红书美妆产品的流行趋势"
- 点击"开始分析"按钮
- 等待系统自动完成分析流程(通常2-5分钟)
- 查看生成的HTML报告
5.2 报告解读
生成的报告通常包含以下部分:
- 情感分析:正面/负面评价比例
- 关键词云:高频出现的词汇
- 趋势图表:舆情热度随时间变化
- 原始数据:重要帖子的摘录
- 专家建议:基于分析的可行性建议
5.3 数据导出
支持多种导出格式:
- HTML(适合网页查看)
- Markdown(适合文档整合)
- PDF(适合正式汇报)
- CSV(适合进一步分析)
6. 高级定制与优化
6.1 自定义Agent开发
系统支持添加自定义Agent,开发流程:
- 在agents目录下创建新文件夹
- 继承BaseAgent类实现核心逻辑
- 在forum_engine中注册新Agent
- 重建Docker镜像
示例Agent模板:
python复制from core.agents.base import BaseAgent
class CustomAgent(BaseAgent):
def __init__(self):
super().__init__(
name="custom_agent",
description="My custom analysis agent"
)
async def execute(self, task):
# 实现具体处理逻辑
result = await self.process(task)
return result
6.2 数据源扩展
除了默认的社交媒体平台,可以接入:
- 企业内部数据库(CRM、ERP等)
- 行业特定数据源(如电商平台的API)
- 本地文档数据(PDF、Word等)
配置方法:
- 在data_sources目录添加新适配器
- 配置相关API密钥
- 在InsightEngine中启用新数据源
6.3 定时任务设置
结合Windows任务计划程序实现自动监控:
- 创建执行脚本(monitor.bat):
bat复制cd C:\path\to\bettafish
docker compose run --rm bettafish python cli.py --task "每日舆情扫描"
- 在任务计划程序中设置每日执行
7. 常见问题排查
7.1 部署问题
问题1:Docker启动失败,提示端口冲突
- 解决方案:修改.env中的PORT值,然后重启服务
问题2:镜像下载速度慢
- 解决方案:配置国内镜像源,或者手动下载镜像
7.2 运行问题
问题1:Agent执行超时
- 检查模型API的响应速度
- 调整config.yml中的超时设置
问题2:报告生成不完整
- 检查各Agent的日志(docker compose logs)
- 确认模型API的token限额是否足够
7.3 性能优化建议
- 对大量数据分析时,增加Docker内存分配(建议至少8GB)
- 频繁使用的数据可以配置Redis缓存
- 复杂任务可以拆分为多个子任务分批执行
8. 安全与隐私考虑
- 数据本地化:所有数据处理都在本地完成,不上传至云端
- API安全:妥善保管各类API密钥,建议定期轮换
- 访问控制:如需开放外部访问,应配置适当的防火墙规则
- 数据清理:定期清理不再需要的分析结果,释放存储空间
可以通过以下命令清理旧数据:
bash复制docker compose down -v
9. 项目维护与更新
9.1 版本升级
- 备份重要数据和配置
- 获取最新代码:
bash复制git pull origin main
- 重建服务:
bash复制docker compose down
docker compose up -d --build
9.2 社区资源
- 官方GitHub仓库:获取最新代码和文档
- Discord频道:与其他用户交流经验
- 问题追踪:提交遇到的bug或功能请求
10. 实际应用案例
10.1 品牌舆情监控
某消费电子公司使用BettaFish实现了:
- 每日自动收集各平台产品评价
- 识别突发负面舆情(提前24小时预警)
- 生成周报自动发送至市场团队
10.2 市场趋势分析
美妆博主使用系统:
- 追踪小红书热门美妆话题
- 分析成分讨论热度变化
- 据此调整内容创作方向
10.3 学术研究辅助
社会学研究者利用系统:
- 收集特定话题的公众讨论
- 分析舆论演变模式
- 生成可视化图表用于论文写作
我在实际使用中发现,系统对中文社交平台的支持尤为出色。特别是在处理小红书和微博这类图文混合内容时,Media Agent能够准确提取图片中的文字信息,并与文本内容关联分析。一个实用的技巧是,在分析需求描述中加入时间范围限定(如"最近7天"),可以显著提高结果的相关性。
