666ghj/BettaFish
微舆:人人可用的多Agent舆情分析助手,打破信息茧房,还原舆情原貌,预测未来走向,辅助决策!从0实现,不依赖任何框架。
BettaFish – AI 기반 다중 에이전트 공공 여론(舆情) 분석 플랫폼
무엇인가요 – BettaFish(중국어 이름 "위예")는 수십 개의 중국 및 국제 소셜미디어 플랫폼에서 자동으로 데이터를 크롤링하고 분석하여 보고서를 생성하는 오픈소스 시스템입니다. 사용자는 간단한 채팅 형식의 질의를 통해 시스템과 상호작용하며, 다음과 같은 완전한 파이프라인을 실행합니다:
- 데이터 수집 – 24시간 365일 분산 웹 크롤러(웨이보, 샤오홍슈, 도우인, 쿠이슈 등)를 통해 데이터를 수집합니다.
- 다중 모달 콘텐츠 처리 – 텍스트, 이미지, 짧은 영상은 전용 "미디어" 에이전트에 전달되어 캡션, OCR, 감성 분석 등의 신호를 추출합니다.
- 분석 에이전트 실행 – Query 에이전트는 광범위한 웹 검색을 수행하고, Insight 에이전트는 사내 댓글 데이터베이스를 심층 분석하며, Report 에이전트는 결과를 통합합니다.
- 포럼 엔진을 통한 협업 – LLM "모더레이터"의 지도 아래 에이전트들이 토론하며 사고의 연쇄를 구현하고, 단일 모델의 편향을 줄입니다.
- 인터랙티브 HTML(옵션: PDF/Markdown) 보고서 생성 – 차트, 요약, 출처 인용문이 포함된 보고서를 생성합니다.
핵심 구성 요소
| 구성 요소 | 역할 | 주요 기술 |
|---|---|---|
| QueryEngine | 30개 이상의 소스에서 광범위한 뉴스 및 웹 검색 | LLM 기반 검색 노드, 커스텀 툴 래퍼 |
| MediaEngine | 영상, 이미지, 짧은 형식 클립의 다중 모달 분석 | 비전-LLM 어댑터, OCR, 오디오-텍스트 파이프라인 |
| InsightEngine | 사내 댓글 데이터베이스(Async SQLAlchemy) 심층 분석 | 파인튜닝된 감성 모델(BERT-LoRA, Qwen-3), 키워드 최적화 |
| ReportEngine | 다중 라운드 보고서 생성, 템플릿 선택, 레이아웃, PDF 내보내기 | Markdown 템플릿 엔진, IR(중간 표현) 스키마, WeasyPrint을 통한 PDF |
| ForumEngine | 에이전트가 서로 게시, 읽고 반응하는 조율 레이어 | LLM "호스트"가 토론 모더레이터 역할, 반복적 리플렉션 사이클 |
| MindSpider | 에이전트가 사용하는 독립형 소셜미디어 크롤러 | Playwright 기반 브라우저 자동화, 주제 추출, 심층 감성 크롤링 |
주요 특징 (README의 "육대 우세")
- AI 기반 24시간 365일 모니터링 – 크롤러 클러스터가 10개 이상의 주요 플랫폼에서 지속적으로 데이터를 수집합니다.
- 하이브리드 분석 엔진 – 다섯 개의 목적별 에이전트, 파인튜닝된 모델, 통계 방법을 결합합니다.
- 강력한 다중 모달 기능 – 짧은 영상 분석 및 구조화된 카드(날씨, 주식, 캘린더 등) 추출이 가능합니다.
- 포럼 스타일 협업적 추론 – LLM 모더레이터 하에서 에이전트가 토론하며 더 풍부하고 균일하지 않은 인사이트를 생성합니다.
- 사내-공개 데이터 융합 – 보안 API를 통해 자체 비즈니스 데이터베이스를 통합하여 외부-내부 분석을 결합할 수 있습니다.
- 경량적이고 확장 가능한 파이썬 설계 – 모듈화된 패키지, 원클릭 Docker 배포, 에이전트의 교체 및 확장이 쉬움.
빠른 시작 (Docker)
# 1. env 템플릿 복사 및 인증 정보 편집
cp .env.example .env
# 2. 모든 서비스 다운로드 및 시작
docker compose up -d
# 3. UI 열기
open http://localhost:5000
로컬 실행을 원하시면 README에 Conda/uv 환경 설정, Playwright 브라우저 드라이버 설치, 선택적 PDF 내보내기 종속성에 대한 안내가 포함되어 있습니다.
일반적인 사용 사례 흐름
- 질문하기 – 예: "지난 한 달간 우한대학의 평판을 분석해 주세요."
- 에이전트 병렬 실행 – Query, Media, Insight 에이전트가 데이터 수집을 시작합니다.
- 포럼 루프 – 에이전트가 결과를 공유하고, 모더레이터가 더 깊은 검색을 유도하며, 반복적 리플렉션을 통해 수렴할 때까지 진행됩니다.
- 보고서 합성 – ReportEngine이 Markdown 템플릿을 선택하고, 섹션 길이를 계획하며, JSON IR을 검증하고, 인터랙티브 HTML 보고서를 렌더링합니다(옵션: PDF).
- 결과 – 정교하고 인용이 풍부한 보고서가
final_reports/에 저장되어 다운로드하거나 추가로 커스터마이징할 수 있습니다.
확장성
- 모델 교체 – OpenAI 호환 API로 기본 LLM을 교체 가능; 파인튜닝된 감성 모델은 이미 포함되어 있습니다.
- 도메인 추가 – 에이전트 전용 프롬프트 파일(
prompts/)과 툴 설정을 수정하면, 금융, 시장 조사, 제품 피드백 등 다른 분야로도 재사용 가능합니다. - 사용자 정의 데이터 소스 – 추가 크롤러나 데이터베이스 커넥터를 연결하면, 시스템이 자동으로 포럼 토론에 통합합니다.
라이선스 및 커뮤니티
- 라이선스: GPL-2.0
- 기여 방법:
CONTRIBUTING.md에 가이드라인이 있으며, README에 기재된 중국어 "L사이트" 포럼에서 활발한 토론이 진행 중입니다. - 후원사: Inferera (LLM API), Anspire Open (검색/파일 파싱 서비스), APIMart (이미지/영상 생성).
결론: BettaFish는 Docker 대응 파이썬 프로젝트로 패키징된, 자동화된 다중 모달 공공 여론 분석을 위한 풀스택 다중 에이전트 프레임워크이며, 웹 UI, 모듈화된 에이전트, 고도화된 협업적 추론 엔진을 갖추고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트