Multi-agente · opinião pública · fork BR/LATAM

Análise de opinião pública que vira relatório

Você faz uma pergunta em linguagem natural; agentes de IA coletam dados de redes e notícias, debatem num fórum e entregam um relatório aprofundado.

# 1) configure o .env
cp .env.example .env
# preencha banco (PostgreSQL) e LLM

# 2) suba tudo com Docker
docker compose up -d
# acesse http://localhost:5000
O que é

"WeiYu" — micro-opinião, em escala

BettaFish (codinome WeiYu) é um sistema de análise de opinião pública baseado em multi-agentes. Você expressa sua necessidade como numa conversa e os agentes analisam plataformas de redes sociais e grandes volumes de comentários. Este é o fork BR/LATAM: interface, logs e prompts 100% em português, busca web via Tavily e 24 fontes RSS (Brasil, EUA, Europa, América do Sul).

🐟 Quatro agentes especialistas

Query (busca web), Media (multimodal), Insight (mineração de base privada) e Report (relatório em múltiplas rodadas) trabalham em paralelo.

🐟 Mecanismo de "Fórum"

O ForumEngine atua como moderador: os agentes debatem cadeias de pensamento entre rodadas, evitando vieses de um modelo só.

🐟 Relatório interativo

O Report Agent monta uma representação intermediária (IR) e renderiza um HTML interativo — com export para PDF e Markdown.

Como funciona

Da pergunta ao relatório, em rodadas

Os três agentes de análise iniciam em paralelo, fazem pesquisa preliminar, entram num loop de fórum com pesquisa aprofundada e, ao final, o Report Agent consolida tudo.

Pergunta do usuário 3 agentes em paralelo Loop de fórum Pesquisa aprofundada Relatório (HTML/PDF/MD)

Coleta de dados

O MindSpider (crawlers) roda separado: extrai tópicos em alta e faz crawling profundo por plataforma. Os dados vão para o banco.

Análise de sentimento

Modelos próprios (BERT/GPT-2 LoRA, Qwen pequeno, ML clássico) com suporte multilíngue, incluindo português.

Pré-requisitos

O que ter antes de rodar

O caminho mais simples é Docker. Para rodar a partir do código, você precisa de Python 3.9+, um banco e chaves de LLM compatíveis com a API da OpenAI.

Docker + .env

Copie o exemplo e preencha banco e LLM. O banco se autoinicializa ao rodar o app.

# config
cp .env.example .env
# DB_HOST, DB_USER, *_API_KEY...

Banco de dados

PostgreSQL recomendado (MySQL também). No Docker, o serviço se chama `db`.

# no .env
DB_DIALECT=postgresql
DB_HOST=db
DB_PORT=5432

Python (modo código)

Se for rodar do fonte, crie um ambiente Python 3.11 com conda ou uv.

conda create -n betta python=3.11
conda activate betta
Guia de uso · passo a passo

Rodando o BettaFish

Caminho A: Docker (mais rápido). Caminho B (passos 3–5): a partir do código, com mais controle.

1

Configure o ambiente

Copie o `.env.example`, renomeie para `.env` e preencha banco e os parâmetros de LLM (todas as chamadas seguem o padrão da API da OpenAI).

cp .env.example .env
# edite DB_* e as chaves de cada Agent
2

Suba com Docker (caminho A)

Inicia todos os serviços em segundo plano e acessa o sistema completo no navegador.

docker compose up -d   # http://localhost:5000
3

A partir do código (caminho B)

Crie o ambiente, instale as dependências e o driver do Playwright (usado pelos crawlers).

pip install -r requirements.txt
playwright install chromium
4

Inicie o sistema completo

Com o ambiente ativo, rode o app principal e acesse a interface.

python app.py   # http://localhost:5000
# ou um agente individual via Streamlit:
streamlit run SingleEngineApp/query_engine_streamlit_app.py --server.port 8503
5

Colete dados e gere relatório

O crawler MindSpider roda separado. O `report_engine_only.py` regenera só o relatório a partir dos logs mais recentes.

cd MindSpider
python main.py --setup
python main.py --complete --date 2024-01-20
# só o relatório, com tema:
python report_engine_only.py --query "reputação da marca X"
Exemplos

Para que serve

Começa pela opinião pública, mas o framework é genérico e extensível.

🏷️ Reputação de marca

Pergunte sobre a percepção pública de uma marca ou instituição e receba um relatório aprofundado com fontes, sentimento e recomendações.

📊 Monitoramento de tema

Acompanhe um assunto em alta nas redes e notícias, com crawling profundo por plataforma alimentando o banco.

📈 Análise de mercado

Trocando prompts e ferramentas dos agentes, dá para adaptar para análise setorial — financeiro, por exemplo.

🧠 Dados públicos + privados

O Insight Agent minera bases internas (somente leitura) e cruza com a opinião aberta — "tendências externas + insights internos".

Roadmap

O fork BR/LATAM

O que já mudou e para onde a adaptação vai.

Feito
100% em portuguêsInterface, logs e prompts traduzidos; busca via Tavily; 24 fontes RSS de BR, EUA, Europa e América do Sul.
Agora
Docker local + OllamaSubir o sistema sem depender de APIs pagas de LLM, com análise de sentimento multilíngue nativa em PT.
Próximo
Integração com MiroFishFechar o ciclo: do BettaFish (coleta e análise) ao MiroFish (previsão panorâmica).