Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

DeepResearcher: IA de condução baseada em aprendizado por reforço para estudar problemas complexos

Introdução geral

O DeepResearcher é um projeto de código aberto desenvolvido pela equipe GAIR-NLP da Shanghai Jiao Tong University. É uma ferramenta de pesquisa inteligente baseada em Modelos de Linguagem Grandes (LLMs), treinados de ponta a ponta em um ambiente de rede real por meio do Aprendizado por Reforço (RL). O projeto tem como objetivo ajudar os usuários a concluir com eficiência tarefas de pesquisa complexas. Ele busca informações automaticamente, verifica a precisão dos dados e gera resultados detalhados. O DeepResearcher é compatível com modelos paramétricos 7B e tem código aberto no Hugging Face. O código está disponível no GitHub e é adequado para pesquisadores, estudantes e entusiastas da tecnologia.

DeepResearcher: impulsionando a IA para estudar problemas complexos com base no aprendizado por reforço-1


DeepResearcher: impulsionando a IA para estudar problemas complexos com base no aprendizado por reforço-1

 

Lista de funções

  • Pesquisa de automaçãoQuando uma pergunta é inserida, a Web é pesquisada automaticamente e as informações relevantes são coletadas.
  • autenticação entre fontesVerificação de dados de várias fontes (por exemplo, Google, Bing) para garantir resultados confiáveis.
  • Ajustes autorreflexivosAutoavaliação com base nos resultados da pesquisa e reorientação da pesquisa para melhorar a precisão.
  • Desenvolvimento de um programa de pesquisaGeração automática de etapas de pesquisa ao lidar com problemas complexos.
  • Seja honesto.Limitações: As limitações são declaradas diretamente quando não é possível encontrar uma resposta clara.
  • Suporte a modelos de código abertoModelo paramétrico 7B: Um modelo paramétrico 7B é fornecido e pode ser baixado e personalizado pelo usuário.

 

Usando a Ajuda

A instalação e o uso do DeepResearcher requerem um certo nível de conhecimento técnico, mas a documentação oficial fornece diretrizes claras. Abaixo estão as etapas detalhadas para ajudar os usuários a começar rapidamente.

Processo de instalação

  1. Repositório de código clone
    Execute o seguinte comando no terminal para fazer o download do projeto localmente:
git clone https://github.com/GAIR-NLP/DeepResearcher.git

Vá para o catálogo de projetos:

cd DeepResearcher
  1. Criação de um ambiente virtual
    Use o conda para criar um ambiente Python separado e evitar conflitos de dependência:
conda create -n deepresearcher python=3.10

Ativar o ambiente:

conda activate deepresearcher
  1. Instalação das dependências do núcleo
    Instale o PyTorch e outras bibliotecas necessárias executando os seguintes comandos em sequência no diretório raiz do projeto:
pip3 install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip3 install flash-attn --no-build-isolation
cd verl
pip3 install -e .
cd ../
pip3 install -r requirements.txt

Essas etapas garantem que o ambiente básico necessário para a execução do modelo esteja instalado.

  1. Verificar a instalação
    Digite o seguinte comando para verificar se o PyTorch está instalado corretamente:
python -c "import torch; print(torch.__version__)"

Se o número da versão for exibido (por exemplo, 2.4.0), a instalação foi bem-sucedida.

Configuração e inicialização

O DeepResearcher usa a estrutura Ray para treinamento e inferência, e também requer a configuração do serviço de pesquisa. Veja como fazer isso.

Iniciando o serviço Ray

  1. Definição da classificação do nó
    Digite o seguinte comando no terminal para definir o número do nó (isso é necessário mesmo se houver apenas uma máquina):
export PET_NODE_RANK=0
ray start --head
  1. Configuração dos serviços de pesquisa
  • show (um ingresso) ./scrl/handler/config.yamlSe quiser modificar a chave da API de pesquisa, você poderá fazê-lo clicando no botão "Search API key" (Chave da API de pesquisa):
    • Usando a API do Serper: preencha o campo serper_api_key.
    • Use o Azure Bing: preencha azure_bing_search_subscription_key e configurar search_engine para o Bing.
  • compilador ./scrl/handler/server_handler.pySe você quiser adicionar uma chave de API do Qwen-Plus, adicione a chave de API do Qwen-Plus:
    client = OpenAI(
    api_key="sk-xxx",
    base_url="xxxx"
    )
    
  1. Iniciando o processador de serviços
    É executado no terminal:
python ./scrl/handler/server_handler.py

Depois que o serviço for iniciado, registre o endereço do serviço e atualize o ./scrl/handler/config.yaml acertou em cheio server_url_list.

  1. Execução do processador principal
    É executado no host de treinamento:
python ./scrl/handler/handler.py

Modelos de treinamento

  1. Execução de scripts de treinamento
    Execute-o no diretório raiz do projeto:
bash train_grpo.sh

O processo de treinamento otimizará o modelo com base no aprendizado por reforço e requer paciência.

Uso e raciocínio

  1. Geração de resultados de pesquisa
    Execute o script de avaliação:
bash evaluate.sh

O arquivo de saída é salvo na pasta ./outputs/{project_name}/{experiment_name}/rollout/rollout_step_0.json.

  1. Exibir resultados
    Renomeie o arquivo de saída para {experiment_name}_result.jsonMover para ./evaluate/ e executá-lo:
python ./evaluate/cacluate_metrics.py {experiment_name}

A pontuação é salva no arquivo ./evaluate/{experiment_name}_score.json.

Operação da função em destaque

  • Pesquisa automatizada e validação entre fontes
    Depois que o usuário insere uma pergunta, o DeepResearcher coleta dados de mecanismos de pesquisa configurados (por exemplo, Google, Bing) e faz a validação cruzada dos resultados. Arquivos de registro ./outputs/research_log.txt O processo de validação será documentado.
  • Ajustes autorreflexivos
    Se os resultados iniciais não forem satisfatórios, o sistema ajustará automaticamente as palavras-chave ou a estratégia de pesquisa. Por exemplo, digitar "AI in healthcare" pode mudar para "AI medical latest technology", e os resultados serão mais precisos.
  • Seja honesto.
    Quando não há uma resposta clara para uma pergunta, ele retorna algo como "Não há informações suficientes para dar uma conclusão definitiva" em vez de adivinhar.

advertência

  • Certifique-se de que sua conexão com a Internet seja estável e que a função de pesquisa dependa de dados em tempo real.
  • O treinamento e a inferência exigem altos recursos computacionais e as GPUs são recomendadas.
  • O projeto ainda está em desenvolvimento, portanto, recomendamos acompanhar as atualizações no GitHub.

Com essas etapas, os usuários podem instalar e usar facilmente o DeepResearcher para experimentar seus recursos de pesquisa inteligente.

 

cenário do aplicativo

  1. pesquisa acadêmica
    Os pesquisadores podem usá-lo para pesquisar material impresso, verificar fontes e gerar os primeiros rascunhos de relatórios de pesquisa.
  2. Aprendizagem do aluno
    Os alunos podem usá-lo para organizar o conhecimento relacionado ao curso e concluir rapidamente as tarefas ou pesquisas de projetos.
  3. desenvolvimento de tecnologia
    Os desenvolvedores podem usá-lo para explorar as tendências tecnológicas e obter atualizações e soluções do setor.

 

QA

  1. O DeepResearcher é compatível com o idioma chinês?
    Suporte. Os usuários podem inserir perguntas em chinês e ele priorizará a pesquisa de recursos chineses e também poderá lidar com dados em inglês.
  2. Precisa de uma GPU?
    Não é obrigatório, mas a GPU pode acelerar o treinamento e a inferência. A CPU também pode executá-lo, só que mais lentamente.
  3. Como faço para obter a versão mais recente?
    Executar no diretório do projeto git pulle, em seguida, reinstale as dependências para atualizar.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " DeepResearcher: IA de condução baseada em aprendizado por reforço para estudar problemas complexos
pt_BRPortuguês do Brasil