Documentação e análise do projeto BettaFish, uma plataforma…
INEMA
192.168.1.91:5000 ↗ localhost
confirma que essa colaboração é parte central do produto.
ReportEngine⌗
É a etapa de montagem editorial:
- escolhe template,
- planeja layout e capítulos,
- valida estrutura intermediária,
- renderiza HTML,
- exporta PDF.
Infraestrutura e stack⌗
O projeto usa:
- Python
- Flask como orquestrador web
- Streamlit para apps individuais dos agentes
- PostgreSQL como banco recomendado
- Docker Compose para subir app + banco
- LLMs compatíveis com API OpenAI
- Playwright para partes ligadas a crawling
- renderização de relatório em HTML/PDF.
O docker-compose.yml confirma que ele sobe pelo menos dois serviços:
bettafishdb(PostgreSQL 15)
Também expõe as portas 5000, 8501, 8502, 8503 e monta volumes para logs, relatórios e .env.
Minha leitura do “para que serve” em linguagem simples⌗
Eu resumiria assim:
O BettaFish é um pipeline de inteligência analítica orientado por LLMs, em que vários agentes coletam evidências por canais diferentes, discutem entre si e entregam um relatório consolidado.
Ele pode ser usado para:
- monitorar reputação de marca;
- acompanhar temas públicos sensíveis;
- analisar cobertura/noticiário;
- cruzar sinais públicos e dados internos;
- gerar relatórios automáticos para pesquisa, estratégia ou acompanhamento.
Pontos fortes do desenho⌗
O repositório tem algumas qualidades bem claras:
- modularidade: cada engine tem papel separado;
- orquestração explícita: o
app.pycoordena tudo de forma clara; - extensibilidade: o README fala em adaptar prompts, APIs e ferramentas para outros domínios;
- saída útil: não para na coleta; ele entrega relatório final;
- deploy relativamente simples com Docker.
Limitações e cuidados⌗
Também há alguns pontos importantes:
- depende bastante de configuração de LLM APIs, buscadores e banco;
- parte do valor vem de infra e chaves externas, então não é plug-and-play completo;
- há uma camada de crawler/coleta, então operação real exige mais cuidado com fonte, estabilidade e compliance;
- o próprio README traz um aviso legal forte dizendo que o projeto é para estudo/pesquisa e não para uso comercial direto.
Conclusão⌗
O uso do repositório é: subir a plataforma, mandar um tema/pergunta e receber uma análise consolidada. A função dele é: coordenar múltiplos agentes para buscar, interpretar, debater e sintetizar informação. O objetivo é: transformar dados dispersos em relatório analítico acionável, com foco inicial em opinião pública, mas com arquitetura reaproveitável para outros cenários de inteligência analítica.
Objetivo do projeto⌗
O objetivo do BettaFish é transformar uma pergunta em linguagem natural em uma análise estruturada de opinião pública / mercado / reputação / tendências, usando vários agentes especializados. No README, o projeto é descrito como um sistema de análise de opinião pública baseado em multiagentes, com foco em quebrar bolhas informacionais, consolidar o panorama real do tema e ajudar na tomada de decisão. Ele também deixa claro que a arquitetura foi pensada para ser adaptável a outros cenários além de “opinião pública”, como análise de mercado e negócios.
Em termos práticos, ele quer resolver este problema:
“Tenho um tema. Como faço para buscar sinais dispersos, cruzar fontes, interpretar sentimentos/tendências e devolver um relatório útil?”
Como ele funciona⌗
A arquitetura gira em torno de quatro motores principais e um mecanismo de coordenação:
- QueryEngine: pesquisa notícias e web aberta.
- MediaEngine: interpreta conteúdo multimodal, como imagens e vídeos.
- InsightEngine: consulta base privada/banco de dados e faz análise de sentimento.
- ReportEngine: pega tudo isso e monta o relatório final.
- ForumEngine: funciona como uma espécie de “mesa redonda” entre os agentes, orientando novas rodadas de busca e refinamento.
O fluxo descrito no README é:
- o usuário envia uma pergunta;
- os três agentes de análise começam em paralelo;
- cada um faz uma análise preliminar;
- o sistema define estratégia;
- entra num loop de colaboração via “fórum”;
- no fim, o ReportEngine integra tudo e renderiza o relatório.
Isso não é só documentação: o app.py confirma esse desenho. A aplicação principal é um servidor Flask que sobe e coordena três apps Streamlit (insight, media, query), inicializa o banco, liga o fórum, registra o ReportEngine e expõe endpoints para iniciar/parar o sistema, consultar status, buscar e atualizar notícias.
Como “usa” de verdade⌗
O uso principal é via interface web:
- sobe o servidor Flask;
- ele orquestra os subapps dos agentes;
- o usuário envia uma consulta;
- as buscas são distribuídas;
- os logs e a conversa entre agentes podem ser acompanhados;
- o relatório final é gerado.
O README mostra dois modos principais de uso:
1. Uso completo do sistema⌗
Rodar python app.py e acessar a interface web.
Esse é o modo recomendado.
2. Uso por partes⌗
Também dá para rodar separadamente:
QueryEngineMediaEngineInsightEngineMindSpiderpara crawling/coletareport_engine_only.pypara gerar relatório a partir dos resultados mais recentes, sem precisar passar de novo por toda a coleta/análise.
O que cada parte faz⌗
app.py⌗
É o orquestrador.
Não faz a análise em si; ele administra processos, estado do sistema, logs, health checks e APIs HTTP. Ele também inicializa o MindSpider, o ForumEngine e o ReportEngine. Isso mostra que a arquitetura é modular e coordenada por um shell central.
QueryEngine⌗
No código de QueryEngine/agent.py, ele é um Deep Search Agent.
Ele:
- monta estrutura do relatório;
- executa buscas;
- resume achados;
- faz ciclos de reflexão;
- gera um relatório parcial/final.
Também fica claro que ele usa LLM + ferramentas de busca. No fork analisado, o README indica Tavily como busca web principal, e o código do QueryEngine inicializa explicitamente uma TavilyNewsAgency.
InsightEngine⌗
É o agente que consulta banco de dados privado e aplica análise de sentimento. O README destaca SQLAlchemy assíncrono, leitura de tópicos/comentários e ferramentas de sentimento. Isso sugere o papel dele como camada de “insight interno”, não só busca pública.
MediaEngine⌗
Foca em conteúdo multimodal. Pelo README, a ideia é interpretar imagens, vídeos curtos e outros sinais além de texto puro.
ForumEngine⌗
É o mecanismo de coordenação/refinamento.
Os agentes não trabalham isolados; eles trocam saídas e o fórum ajuda a redirecionar buscas. O app.py monitora forum.log e transmite essas mensagens ao frontend, o que
O futuro tende a valorizar menos quem apenas executa tarefas e mais quem cria oportunidades e quem orquestra resultados com apoio de IA, automação e tecnologia. Pesquise quais profissões e competências estão ganhando valor, quais perfis profissionais tendem a migrar para papéis de criação e gestão, e como posicionar uma plataforma educacional para capturar essa transformação no Brasil.
em testes
github.com/inematds/BettaFish ↗
BettaFish - Plataforma de Analise de Opiniao Publica
1