O WebThinker é um projeto de código aberto desenvolvido para aprimorar os recursos de pesquisa autônoma de modelos de raciocínio em larga escala (LRMs). Ele permite que os modelos realizem de forma independente a pesquisa na Web, a navegação e a extração de informações durante o processo de raciocínio, gerando relatórios detalhados. Desenvolvido pelo Laboratório de Recuperação de Informações e Processamento de Linguagem Natural da Universidade Renmin da China (RUC-NLPIR), o projeto baseia-se no modelo de inferência QwQ-32B e no modelo auxiliar Qwen-32B-Instruct. O WebThinker rompe as limitações da geração de aumento de recuperação (RAG) tradicional, em que os modelos podem realizar diretamente operações de pesquisa e navegação para o processamento de tarefas de ponta a ponta. Ele se destaca em tarefas de raciocínio complexas com uso intensivo de conhecimento (por exemplo, GPQA, GAIA, WebWalkerQA, HLE) e tarefas de geração de relatórios abertos, reduzindo drasticamente o tempo e o custo da coleta de informações para pesquisadores. O projeto está sob a licença MIT, e o código e a documentação estão disponíveis publicamente no GitHub para pesquisadores e desenvolvedores.
Lista de funções
- Pesquisa autônoma na Web: o modelo pode iniciar automaticamente uma pesquisa e extrair informações relevantes com base nos requisitos da tarefa.
- Navegação profunda na Web: permite clicar em links ou botões para explorar o conteúdo da Web em profundidade.
- Geração automática de relatórios: escreva relatórios à medida que você pesquisa, gerando conteúdo estruturado e personalizado.
- Edição e verificação de relatórios: fornece ferramentas para verificar e revisar relatórios para garantir a precisão e a consistência do conteúdo.
- Suporte a vários modos de inferência: execute diferentes modos de tarefa por meio de scripts para se adaptar a necessidades diversificadas.
- Integração com a análise do Crawl4AI: otimiza a extração de páginas da Web renderizadas em JavaScript.
- Código aberto e extensível: o código é aberto e permite que os usuários personalizem modelos e recursos.
Usando a Ajuda
Processo de instalação
Para usar o WebThinker, os usuários precisam seguir as etapas abaixo para configurar o ambiente e executar o projeto. Abaixo está um guia detalhado de instalação e uso para garantir que os usuários possam começar rapidamente.
1. crie e ative o ambiente do Conda
O WebThinker depende de um ambiente Python 3.9, que é recomendado para ser gerenciado com o Conda. Execute o seguinte comando para criar e ativar o ambiente:
conda create -n webthinker python=3.9
conda activate webthinker
Isso cria um arquivo chamado webthinker
do ambiente virtual para garantir o isolamento das dependências.
2. clonar o projeto e instalar as dependências
Clone o repositório do WebThinker no GitHub e instale os pacotes Python necessários:
git clone https://github.com/RUC-NLPIR/WebThinker.git
cd WebThinker-main
pip install -r requirements.txt
requirements.txt
Inclua todos os pacotes dependentes necessários para o projeto, como o vLLM e o Crawl4AI. Garanta uma conexão estável com a Internet para concluir a instalação.
3. modelos de inferência de configuração e modelos auxiliares
O WebThinker requer um modelo de inferência e um modelo auxiliar. A recomendação oficial é usar o QwQ-32B como modelo de inferência e o Qwen-32B-Instruct como modelo auxiliar para inferência principal e tarefas de leitura de páginas da Web e gravação de relatórios, respectivamente. Os usuários precisam implantar esses modelos via vLLM. Antes de executar, certifique-se de que os modelos tenham sido baixados e iniciados localmente ou no servidor. As etapas de implantação podem ser encontradas na documentação oficial (vinculada no README do repositório do GitHub).
4. configurar um cliente de análise da Web
Para aprimorar o rastreamento da Web, recomenda-se que o <WebThinker-main>/scripts/search/bing_search.py
O cliente Crawl4AI é configurado no Crawl4AI. O Crawl4AI pode processar conteúdo dinâmico da Web renderizado em JavaScript para aumentar a confiabilidade da extração de informações. Os usuários precisam se registrar no serviço Crawl4AI e obter uma chave de API e, em seguida, seguir a documentação para configurá-lo.
5. executar o WebThinker
Depois de concluir a configuração acima, o usuário pode executar diferentes modos de inferência com os scripts fornecidos. Exemplo:
python scripts/run_inference.py --mode report_generation
Esse comando inicia o modo de geração de relatórios. Outros modos (como tarefas de raciocínio complexas) podem ser especificados no script. Antes de executar, verifique se o serviço de modelo foi iniciado.
Funções principais
O núcleo do WebThinker é a pesquisa autônoma e a geração de relatórios. Veja abaixo um fluxo detalhado das principais funções:
Pesquisa autônoma na Web
Depois que o usuário insere uma pergunta de pesquisa, o WebThinker invoca automaticamente uma ferramenta de pesquisa (por exemplo, a pesquisa do Bing) para obter páginas da Web relevantes. O modelo analisa os resultados da pesquisa inicial, extrai palavras-chave e decide se são necessárias outras pesquisas. Por exemplo, se um usuário perguntar sobre as "últimas tendências de pesquisa em IA", o WebThinker pesquisará artigos acadêmicos e notícias relevantes para filtrar o conteúdo de alta qualidade.
Navegação aprofundada na Web
O módulo Deep Web Explorer do WebThinker permite que os modelos cliquem em links ou botões em uma página da Web para detalhar as informações. Por exemplo, ao visitar um site acadêmico, o modelo pode clicar no botão "Next Page" (Próxima página) ou "Download PDF" (Baixar PDF) para acessar dados mais detalhados. Não é necessária nenhuma intervenção manual, pois o modelo determina automaticamente quais links são mais relevantes.
Geração e edição de relatórios
O WebThinker oferece três ferramentas relacionadas a relatórios:
- Redação do conteúdo do capítuloO modelo gera automaticamente seções específicas do relatório, como "Background" ou "Data Analysis", com base nos resultados da pesquisa. O usuário pode especificar a estrutura do relatório e o modelo preencherá o conteúdo conforme necessário.
- Relatórios de inspeçõesO modelo verifica a lógica e a integridade do relatório, sinalizando informações ausentes ou seções inconsistentes.
- Editor de relatóriosOs usuários podem ajustar o conteúdo do relatório invocando a função de edição por meio de um script. Por exemplo, execute:
python scripts/edit_report.py --report_path ./outputs/report.txt
Esse comando permite que o modelo otimize o texto e a estrutura do relatório especificado.
Otimização do rastreamento com o Crawl4AI
O Crawl4AI é capaz de analisar conteúdo complexo em páginas dinâmicas da Web, como páginas de notícias que contêm JavaScript. Os usuários são solicitados a bing_search.py
Configure a chave da API no Crawl4AI e garanta a conectividade da rede. Depois de configurado, o modelo chama automaticamente o Crawl4AI para extrair textos, imagens ou outros elementos da Web.
advertência
- Requisitos de hardwareGPUs de alto desempenho (por exemplo, NVIDIA A100) são necessárias para executar modelos grandes, como o QwQ-32B. Certifique-se de que o hardware seja compatível com a inferência vLLM.
- ambiente de redeObservação: As funções de pesquisa e rastreamento exigem uma rede estável. Recomenda-se o uso de um proxy ou VPN para lidar com possíveis restrições geográficas.
- Seleção de modelosOs usuários podem experimentar outros modelos de ajuste fino de comando (por exemplo, LLaMA) como modelos auxiliares, mas precisam garantir a compatibilidade.
- Visualização da saídaO relatório gerado é salvo no
<WebThinker-main>/outputs/
O diretório contém um relatório de comparação com o Grok3 DeepSearch e o Gemini 2.0 Deep Research.
Com essas etapas, você pode implementar facilmente o WebThinker e usar seus recursos de pesquisa e geração de relatórios. A documentação do projeto é detalhada e adequada para usuários com algum conhecimento técnico.
cenário do aplicativo
- pesquisa acadêmica
Para pesquisadores que precisam reunir rapidamente os últimos desenvolvimentos em um determinado campo, o WebThinker pesquisa automaticamente artigos acadêmicos, notícias e blogs e gera relatórios com citações e análises. Por exemplo, digite "últimos avanços em computação quântica" e o modelo pesquisará no arXiv e no Google Scholar para produzir um relatório estruturado. - análise de mercado
Os analistas de negócios precisam saber o que seus concorrentes estão fazendo. O WebThinker pesquisa notícias do setor, sites de empresas e mídias sociais para gerar relatórios sobre tendências de mercado, economizando tempo na coleta manual. - desenvolvimento de tecnologia
O WebThinker navega em blogs de tecnologia e repositórios do GitHub, extraindo informações importantes e gerando resumos técnicos para auxiliar no desenvolvimento de projetos.
QA
- Quais modelos são compatíveis com o WebThinker?
As recomendações oficiais são QwQ-32B (modelo de inferência) e Qwen-32B-Instruct (modelo auxiliar). Os usuários podem experimentar outros modelos de ajuste fino de comandos, mas precisam garantir a compatibilidade com o vLLM. - Como lidar com conteúdo dinâmico da Web?
Configure o cliente Crawl4AI, edite o arquivo<WebThinker-main>/scripts/search/bing_search.py
O Crawl4AI analisa o conteúdo renderizado em JavaScript. - Quanto tempo leva para gerar um relatório?
Depende da complexidade da tarefa e da velocidade da rede. Relatórios simples levam cerca de 5 a 10 minutos e tarefas complexas podem levar mais de 30 minutos. - É necessário ter experiência em programação?
A implementação do WebThinker requer conhecimentos básicos de Python e Conda. O uso de scripts pré-configurados é simples e adequado para iniciantes.