Apresentação Detalhada do Projeto GPT Researcher
Visão Geral do Projeto
O GPT Researcher é um agente de pesquisa profunda de código aberto, projetado especificamente para realizar pesquisas online e locais sobre qualquer tarefa dada. O projeto visa gerar relatórios de pesquisa detalhados, objetivos e imparciais, com citações completas. Ele oferece um conjunto completo de opções de personalização para criar agentes de pesquisa personalizados e específicos para cada área.
Principais Características
Funcionalidades Principais
- 📝 Gera relatórios de pesquisa detalhados usando a web e documentos locais
- 🖼️ Funcionalidade inteligente de captura e filtragem de imagens
- 📜 Gera relatórios detalhados com mais de 2000 palavras
- 🌐 Agrega mais de 20 fontes de informação para chegar a conclusões objetivas
- 🖥️ Oferece versões de frontend leves (HTML/CSS/JS) e prontas para produção (NextJS + Tailwind)
- 🔍 Suporta a raspagem de páginas web com JavaScript
- 📂 Mantém a memória e o contexto durante todo o processo de pesquisa
- 📄 Suporta a exportação de relatórios para formatos como PDF, Word, etc.
Deep Research (Pesquisa Profunda)
O GPT Researcher agora inclui o Deep Research - um fluxo de trabalho de pesquisa recursivo avançado, capaz de explorar tópicos com profundidade e amplitude de agente. Esta funcionalidade emprega um padrão de exploração em árvore, aprofundando-se em subtemas, mantendo uma visão abrangente do tópico de pesquisa.
Características do Deep Research:
- 🌳 Exploração em árvore com profundidade e amplitude configuráveis
- ⚡️ Processamento concorrente para resultados mais rápidos
- 🤝 Gestão inteligente de contexto entre ramos de pesquisa
- ⏱️ Aproximadamente 5 minutos por pesquisa profunda
- 💰 Custo de aproximadamente US$ 0,4 por pesquisa (usando esforço de inferência "alto" do o3-mini)
Arquitetura Técnica
Ideia Central
A ideia central do projeto é utilizar agentes "Planejador" e "Executor". O planejador gera questões de pesquisa, enquanto o agente executor coleta informações relevantes. O publicador então agrega todas as descobertas em um relatório abrangente.
Fluxo de Trabalho
- Criação de um agente específico para a tarefa com base na consulta de pesquisa
- Geração de um conjunto de questões que podem formar uma visão objetiva da tarefa
- Coleta de informações para cada questão usando agentes de rastreamento
- Resumo de cada recurso e rastreamento das fontes
- Filtragem e agregação de resumos em um relatório de pesquisa final
Problemas Resolvidos
O GPT Researcher visa resolver os seguintes desafios de pesquisa:
- Custo de Tempo: A pesquisa manual para chegar a conclusões objetivas pode levar semanas, exigindo muitos recursos
- Informação Desatualizada: LLMs treinados com informações desatualizadas podem produzir alucinações, irrelevantes para a tarefa de pesquisa atual
- Limites de Tokens: Os limites de tokens dos LLMs atuais são insuficientes para gerar relatórios de pesquisa longos
- Fontes de Informação Limitadas: Fontes web limitadas em serviços existentes levam a desinformação e resultados superficiais
- Problemas de Viés: Fontes web seletivas podem introduzir viés nas tarefas de pesquisa
Instalação e Uso
Início Rápido
Requisitos de Ambiente:
- Instalação do Python 3.11 ou superior
Passos:
- Clone o projeto e navegue até o diretório:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
- Configure as chaves de API:
export OPENAI_API_KEY={Sua Chave de API OpenAI aqui}
export TAVILY_API_KEY={Sua Chave de API Tavily aqui}
- Instale as dependências e inicie o servidor:
pip install -r requirements.txt
python -m uvicorn main:app --reload
- Acesse http://localhost:8000 para começar a usar
Instalação via Pacote PIP
pip install gpt-researcher
Exemplo de Código:
from gpt_researcher import GPTResearcher
query = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query, report_type="research_report")
# Realiza a pesquisa para a consulta dada
research_result = await researcher.conduct_research()
# Escreve o relatório
report = await researcher.write_report()
Implantação com Docker
- Instale o Docker
- Clone o arquivo '.env.example', adicione as chaves de API e salve como '.env'
- Comente os serviços que não deseja executar no arquivo docker-compose
- Execute:
docker-compose up --build
Por padrão, dois processos serão iniciados:
- Servidor Python rodando em localhost:8000
- Aplicação React rodando em localhost:3000
Pesquisa com Documentos Locais
O GPT Researcher suporta a realização de tarefas de pesquisa com base em documentos locais. Os formatos de arquivo suportados atualmente incluem: PDF, texto simples, CSV, Excel, Markdown, PowerPoint e documentos Word.
Passos de Configuração:
- Adicione a variável de ambiente
DOC_PATH
apontando para a pasta onde os documentos estão localizados:
export DOC_PATH="./my-docs"
- Selecione "Meus Documentos" na opção suspensa "Fonte do Relatório" na aplicação frontend, ou defina o parâmetro
report_source
para "local" ao usar o pacote PIP.
Sistema Multi-Agente
À medida que a IA evolui da engenharia de prompts e RAG para sistemas multi-agente, o GPT Researcher introduz um novo assistente multi-agente construído com LangGraph.
Ao usar o LangGraph, o processo de pesquisa pode ser significativamente aprimorado em profundidade e qualidade, utilizando vários agentes com habilidades especializadas. Inspirado no recente artigo STORM, este projeto demonstra como uma equipe de agentes de IA pode colaborar na pesquisa de um determinado tópico, desde o planejamento até a publicação.
A execução média gera relatórios de pesquisa de 5 a 6 páginas, suportando vários formatos, como PDF, Docx e Markdown.
Interface Frontend
O GPT Researcher agora possui uma interface frontend aprimorada para melhorar a experiência do usuário e simplificar o processo de pesquisa. O frontend oferece:
- Uma interface intuitiva para inserir consultas de pesquisa
- Rastreamento em tempo real do progresso das tarefas de pesquisa
- Exibição interativa das descobertas da pesquisa
- Configurações personalizáveis para uma experiência de pesquisa sob medida
Duas opções de implantação são fornecidas:
- Um frontend estático leve servido pelo FastAPI
- Um aplicativo NextJS rico em recursos com funcionalidades avançadas
Características Técnicas
Controle de Viés
- Redução de erros e fatos tendenciosos através da raspagem de múltiplos websites
- Redução da probabilidade de que todas as informações estejam incorretas, selecionando as informações mais frequentes
- Não visa eliminar o viés, mas sim reduzi-lo o máximo possível
- Raspagem de múltiplas perspectivas, explicando uniformemente pontos de vista diversificados
Otimização de Desempenho
- Fornece desempenho estável e aumenta a velocidade através da paralelização do trabalho do agente
- O processamento assíncrono aumenta a eficiência em comparação com as operações síncronas
- A gestão inteligente de contexto garante a coerência da pesquisa
Isenção de Responsabilidade
O GPT Researcher é um aplicativo experimental fornecido "como está", sem garantias expressas ou implícitas de qualquer tipo. O código é compartilhado para fins acadêmicos sob a licença Apache 2. O conteúdo aqui não é aconselhamento acadêmico e não é recomendado para uso em trabalhos acadêmicos ou de pesquisa.
