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.
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
- 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
- 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
- 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.
- 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
- 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
- Configuração dos serviços de pesquisa
- show (um ingresso)
./scrl/handler/config.yaml
Se 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 configurarsearch_engine
para o Bing.
- Usando a API do Serper: preencha o campo
- compilador
./scrl/handler/server_handler.py
Se 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" )
- 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
.
- Execução do processador principal
É executado no host de treinamento:
python ./scrl/handler/handler.py
Modelos de treinamento
- 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
- 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
.
- Exibir resultados
Renomeie o arquivo de saída para{experiment_name}_result.json
Mover 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
- pesquisa acadêmica
Os pesquisadores podem usá-lo para pesquisar material impresso, verificar fontes e gerar os primeiros rascunhos de relatórios de pesquisa. - Aprendizagem do aluno
Os alunos podem usá-lo para organizar o conhecimento relacionado ao curso e concluir rapidamente as tarefas ou pesquisas de projetos. - 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
- 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. - 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. - Como faço para obter a versão mais recente?
Executar no diretório do projetogit pull
e, em seguida, reinstale as dependências para atualizar.