Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O SimpleDeepSearcher é uma estrutura de código aberto projetada para aprimorar os recursos dos modelos de linguagem grande (LLMs) para tarefas complexas de recuperação de informações. Ele gera inferência e traços de pesquisa de alta qualidade ao simular o comportamento real de pesquisa na Web, ajudando os modelos a serem treinados de forma eficiente sem a necessidade de grandes quantidades de dados. Em comparação com os métodos tradicionais RAG (Retrieval Augmented Generation) ou RL (Reinforcement Learning), o SimpleDeepSearcher usa uma pequena quantidade de dados selecionados para permitir que o modelo execute de forma autônoma tarefas complexas de raciocínio e pesquisa por meio de técnicas de destilação e autodestilação de conhecimento. Desenvolvido pela equipe RUCAIBox e lançado sob a licença MIT, o projeto destina-se a pesquisadores e desenvolvedores para otimizar a funcionalidade de pesquisa de grandes modelos de linguagem. A documentação e o código oficiais estão hospedados no GitHub e foram atualizados pela última vez em abril de 2025.

SimpleDeepSearcher:通过网页搜索增强大语言模型的智能检索工具-1

 

Lista de funções

  • Simulação de pesquisa na WebSimula o comportamento de pesquisa de usuários reais em um ambiente aberto da Web, gerando várias rodadas de inferência e trajetórias de pesquisa.
  • Síntese e triagem de dadosGeração de dados de treinamento de alta qualidade por meio de amostragem de consultas diversificadas e filtragem de respostas multidimensionais.
  • Monitoramento eficiente do ajuste finoAjuste fino supervisionado: O ajuste fino supervisionado (SFT) pode ser feito com apenas uma pequena quantidade de dados selecionados, reduzindo os custos computacionais.
  • Compatível com vários modelosSuporte ao modelo de linguagem grande subjacente existente e ao modelo de diálogo sem ajuste fino adicional dos comandos de inicialização a frio.
  • Código-fonte aberto e documentaçãoCódigo de treinamento completo, código de inferência e pontos de verificação do modelo são fornecidos para facilitar o uso e a pesquisa dos desenvolvedores.

 

Usando a Ajuda

Processo de instalação

O SimpleDeepSearcher é um projeto de código aberto baseado em Python, cujo ambiente de tempo de execução requer o Python 3.10 ou superior. Veja a seguir as etapas detalhadas de instalação:

  1. Clonagem do depósito do projeto
    Clone o repositório SimpleDeepSearcher localmente executando o seguinte comando em um terminal:

    git clone https://github.com/RUCAIBox/SimpleDeepSearcher.git
    cd SimpleDeepSearcher
    
  2. Criação de um ambiente virtual
    Use o conda para criar e ativar um ambiente virtual e garantir o isolamento de dependências:

    conda create --name simpledeepsearcher python=3.10
    conda activate simpledeepsearcher
    
  3. Instalação de dependências
    Instale as bibliotecas de dependência central exigidas pelo projeto, como vLLM, deepspeed e datasets. Execute o seguinte comando:

    pip install vllm==0.6.5
    pip install packaging ninja flash-attn --no-build-isolation
    pip install deepspeed accelerate datasets
    
  4. Configuração da API de pesquisa
    O SimpleDeepSearcher usa a API de pesquisa do Google para pesquisa on-line. O usuário precisa obter a chave de assinatura e o URL do endpoint do Google Search e configurá-lo ao executar o script. Exemplo:

    export GOOGLE_SUBSCRIPTION_KEY="YOUR_KEY"
    export GOOGLE_ENDPOINT="https://google.serper.dev/search"
    
  5. Preparando o caminho do modelo
    O usuário precisa especificar os caminhos para o modelo de inferência e o modelo de resumo. Exemplo:

    export MODEL_PATH="/path/to/your/reasoning_model"
    export SUMMARIZATION_MODEL_PATH="/path/to/your/summarization_model"
    
  6. Execução de scripts de inferência
    Depois de concluir a configuração, execute o script de inferência para teste ou implantação:

    export CUDA_VISIBLE_DEVICES=0,1
    python -u inference/inference.py \
    --dataset_name YOUR_DATASET_NAME \
    --cache_dir_base cache \
    --output_dir_base output \
    --model_path "$MODEL_PATH" \
    --summarization_model_path "$SUMMARIZATION_MODEL_PATH" \
    --summarization_model_url YOUR_SUMMARIZATION_MODEL_URL \
    --google_subscription_key "$GOOGLE_SUBSCRIPTION_KEY" \
    --google_endpoint "$GOOGLE_ENDPOINT" > output/output.log 2>&1
    

Funções principais

A principal funcionalidade do SimpleDeepSearcher é aprimorar a inferência de grandes modelos de linguagem por meio da pesquisa na Web. Abaixo está um fluxo detalhado de como os principais recursos funcionam:

  1. Síntese de dados e geração de trilhas de pesquisa
    O SimpleDeepSearcher gera várias rodadas de trajetórias de inferência ao simular o comportamento de pesquisa do usuário em um ambiente real da Web. Os usuários podem configurar data_synthesis especificando termos de pesquisa e tipos de perguntas. O sistema coleta automaticamente amostras de diversas perguntas de recursos de QA de domínio aberto e obtém conteúdo relevante da Web por meio da API de pesquisa do Google. Os dados gerados, incluindo perguntas, termos de pesquisa, resultados de páginas da Web e caminhos de inferência, são salvos no arquivo cache pasta.
    Procedimento operacional:

    • compilador data_synthesis_config.jsonDefinir parâmetros de amostragem de consulta (por exemplo, diversidade de domínio, complexidade de palavras-chave).
    • estar em movimento python data_synthesis.py Gerar dados iniciais.
    • sonda cache/synthesis_data para garantir a geração completa de dados.
  2. Filtragem e otimização de dados
    O projeto oferece triagem de resposta multidimensional para garantir a qualidade dos dados de treinamento. Os usuários podem usar o response_curation.py Scripts que filtram dados com base em critérios como dificuldade do problema, comprimento do caminho de inferência e eficácia da pesquisa.
    Procedimento operacional:

    • Execute o seguinte comando para iniciar a triagem:
      python response_curation.py --input_dir cache/synthesis_data --output_dir cache/curated_data
      
    • Os dados filtrados são salvos no cache/curated_data em que apenas amostras de treinamento de alta qualidade são retidas.
  3. Ajuste fino supervisionado por modelo
    O SimpleDeepSearcher usa o ajuste fino supervisionado (SFT) para otimizar modelos de idiomas grandes. Os usuários precisam preparar um modelo básico (por exemplo, QWEN2.5-32B) e usar os dados filtrados para o ajuste fino.
    Procedimento operacional:

    • configurar sft_config.jsonespecifique o caminho do modelo e os parâmetros de treinamento (por exemplo, taxa de aprendizado, tamanho do lote).
    • Execute o seguinte comando para iniciar o ajuste fino:
      python sft_train.py --config sft_config.json
      
    • Após a conclusão do treinamento, os pontos de verificação do modelo são salvos na pasta output/checkpoints Catálogo.
  4. Raciocínio e testes
    Os usuários podem testar os recursos de pesquisa e inferência do modelo por meio de scripts de inferência. Os resultados da inferência são enviados para o output/results incluindo respostas geradas e caminhos de inferência.
    Procedimento operacional:

    • Configure os parâmetros de inferência (por exemplo, nome do conjunto de dados, diretório de saída).
    • Execute o script de inferência (consulte os comandos no processo de instalação).
    • confira output/output.log Verifique os resultados do raciocínio.

Operação da função em destaque

  • Amostragem de consulta de diversidadeSimpleDeepSearcher: O SimpleDeepSearcher usa uma estratégia de amostragem de consulta de diversidade para selecionar problemas com base na heterogeneidade do domínio, na diversidade de palavras-chave e na complexidade da unidade de conhecimento. Os usuários podem encontrar uma lista de perguntas na seção query_sampling_config.json Os parâmetros de amostragem são ajustados para garantir que as perguntas geradas abranjam uma ampla gama de domínios e níveis de dificuldade.
  • Destilação de conhecimento e autodestilaçãoO projeto gera dados de treinamento de alta qualidade usando modelos de inferência avançados por meio de técnicas de destilação de conhecimento. Os usuários podem especificar um modelo avançado pré-treinado (por exemplo, família LLaMA ou GPT) como o modelo do professor, executar o distillation.py script para geração de dados.
  • Pesquisa na Web em tempo realSimpleDeepSearcher: O SimpleDeepSearcher oferece suporte à pesquisa na Web em tempo real, combinada com a API de pesquisa do Google para obter as informações mais recentes de forma dinâmica. Os usuários precisam ter certeza de que a chave da API é válida e verificar a conexão de rede.

advertência

  • Garantir um ambiente de rede estável para suportar pesquisas na Web em tempo real.
  • Verifique o caminho do modelo e a configuração da chave de API para evitar erros de tempo de execução.
  • As versões da biblioteca de dependências são atualizadas regularmente para garantir a compatibilidade.
  • O código e a documentação do projeto seguem a licença MIT, e os usuários são obrigados a citar a fonte (por exemplo, tese). @article{sun2025simpledeepsearcher}).

 

cenário do aplicativo

  1. pesquisa acadêmica
    O SimpleDeepSearcher ajuda os pesquisadores a otimizar o desempenho de grandes modelos de linguagem em tarefas de recuperação de informações. Por exemplo, na recuperação de artigos ou na análise de dados, o modelo pode acessar rapidamente a literatura ou os conjuntos de dados relevantes por meio de pesquisas na Web, melhorando a eficiência da pesquisa.
  2. Desenvolvimento do sistema de perguntas e respostas
    Os desenvolvedores podem usar o SimpleDeepSearcher para criar sistemas inteligentes de perguntas e respostas. O sistema simula o comportamento de pesquisa do usuário e gera respostas precisas, o que o torna adequado para bots de atendimento ao cliente ou plataformas educacionais.
  3. Raciocínio de problemas complexos
    Para problemas que exigem raciocínio em várias etapas (por exemplo, problemas de matemática ou lógica), o SimpleDeepSearcher ajuda os modelos a fornecer respostas mais precisas, gerando trajetórias de raciocínio, adequadas para educação on-line ou plataformas de competição.

 

QA

  1. Quais são os pré-requisitos exigidos pelo SimpleDeepSearcher?
    Os usuários precisarão de um ambiente Python 3.10+, uma chave da API de pesquisa do Google e um modelo de linguagem grande pré-treinado. Certifique-se de instalar todas as bibliotecas dependentes e configurar o caminho correto para o modelo.
  2. Como você garante a qualidade dos dados gerados?
    O projeto fornece filtragem de resposta multidimensional e os usuários podem ajustar os parâmetros de filtragem (por exemplo, dificuldade da pergunta, comprimento do caminho de inferência) para reter dados de alta qualidade.
  3. Há suporte para outras APIs de pesquisa?
    A versão atual é compatível principalmente com a API de pesquisa do Google. Os usuários podem modificar o código para se adaptar a outros serviços de pesquisa, mas precisam ajustar a lógica de chamada da API.
  4. Quanto tempo dura o treinamento?
    O tempo de treinamento depende do tamanho do modelo e da quantidade de dados. O ajuste fino de um modelo QWEN2.5-32B com 871 amostras de alta qualidade normalmente leva várias horas (ambiente de GPU).
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil