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

O ReCall é uma estrutura de código aberto projetada para treinar modelos de linguagem grande (LLMs) para invocação e inferência de ferramentas por meio do aprendizado por reforço, sem depender de dados supervisionados. Ele permite que os modelos usem e combinem de forma autônoma ferramentas externas, como pesquisa, calculadoras etc., para resolver tarefas complexas. O ReCall é compatível com ferramentas definidas pelo usuário e é adequado para o desenvolvimento de inteligências de uso geral. O projeto é baseado no modelo Qwen2.5 e fornece conjuntos de dados sintéticos SynTool e MuSiQue para dar suporte à inferência de tarefas em várias etapas. O ReCall é uma versão atualizada do ReSearch, que é mais abrangente e adequado para o desenvolvimento de inferência de ferramentas em vários cenários.

 

Lista de funções

  • Treinamento de modelos grandes por meio do aprendizado por reforço sem dados supervisionados e suporte a chamadas de ferramentas autônomas.
  • Suporte a ferramentas arbitrárias definidas pelo usuário, adaptação flexível a uma variedade de cenários de tarefas.
  • Fornece conjuntos de dados sintéticos do SynTool com diversos ambientes e tarefas complexas de várias etapas.
  • Ambiente de avaliação FlashRAG integrado para validação de tarefas de Q&A em vários saltos.
  • Serviços eficientes de sandboxing e modelagem baseados em FastAPI e SGLang.
  • Suporte para conjuntos de dados MuSiQue, combinado com ferramentas de pesquisa da Wikipédia para pré-processamento de dados.
  • São fornecidos scripts e documentação detalhados para facilitar o treinamento de dados e modelos definidos pelo usuário.

 

Usando a Ajuda

O ReCall é um projeto de código aberto para desenvolvedores, hospedado no GitHub, que permite que os usuários comecem rapidamente clonando código, instalando dependências e executando scripts de amostra. Abaixo está um guia detalhado que abrange a instalação, os principais recursos e o processo de desenvolvimento para ajudá-lo a começar a usar o ReCall desde o início.

Processo de instalação

  1. Clonagem da base de código
    Abra um terminal e execute o seguinte comando para clonar o repositório ReCall:

    git clone https://github.com/Agent-RL/ReCall.git
    cd ReCall
    
  2. Instalação de dependências
    O ReCall depende do ambiente Python, sendo recomendado o Python 3.8 ou superior. Instale as dependências principais:

    pip3 install -e .
    pip3 install flash-attn --no-build-isolation
    

    Se você precisar executar um sistema RAG da Wikipédia baseado no FlashRAG, será necessário instalar o pacote adicional faiss-gpu::

    conda install -c pytorch -c nvidia faiss-gpu=1.8.0
    

    As dependências incluem transformersevllm==0.8.4esglang etc., para obter uma lista completa, consulte setup.py.

  3. Download de dados pré-processados
    O ReCall fornece conjuntos de dados SynTool e MuSiQue pré-processados para treinamento e avaliação. Os usuários podem baixá-los diretamente:

    # 访问提供的下载链接(见 GitHub README)
    

    Como alternativa, o usuário pode executar data/prepare_musique_recall.py Scripts para personalizar a geração de dados do MuSiQue, combinados com ferramentas de pesquisa da Wikipédia.

  4. Iniciando o serviço de modelo
    O ReCall usa SGLang para modelar serviços. Exemplo de como iniciar um serviço:

    python3 -m sglang.launch_server \
    --served-model-name {trained/model/name} \
    --model-path {trained/model/path} \
    --tp 2 \
    --context-length 8192 \
    --enable-metrics \
    --dtype bfloat16 \
    --host 0.0.0.0 \
    --port 80 \
    --trust-remote-code \
    --disable-overlap \
    --disable-radix-cache
    

    Substituível pelo usuário {trained/model/name} responder cantando {trained/model/path} para o nome e o caminho de seu próprio modelo.

Funções principais

A função principal do ReCall é treinar modelos grandes para a inferência de chamadas de ferramentas por meio do aprendizado por reforço. Veja a seguir os principais recursos e o fluxo de operação:

  1. inferência de invocação de ferramenta
    O ReCall permite que os modelos selecionem e usem ferramentas de forma autônoma, como pesquisa, calculadoras ou ferramentas personalizadas. Classes principais ReCall Responsável pela coordenação da geração de modelos e execução de ferramentas. Os usuários podem consultar o scripts/inference/re_call_use_case.py Exemplos de scripts para ver como invocar a ferramenta para concluir uma tarefa. Exemplo:

    • Digite uma pergunta complexa (por exemplo, questionário de vários saltos).
    • O modelo seleciona a ferramenta apropriada (por exemplo, pesquisa na Wikipédia) por meio do aprendizado por reforço.
    • Retorna os resultados do raciocínio estruturado.
      O usuário simplesmente carrega o modelo treinado, chama a função ReCall basta passar a pergunta e a configuração da ferramenta.
  2. Geração de conjunto de dados sintéticos
    O ReCall fornece conjuntos de dados SynTool para apoiar a geração de diversos dados ambientais e de tarefas em várias etapas. Os usuários podem executar data/prepare_musique_recall.py Scripts que geram conjuntos de dados personalizados. Exemplo:

    python data/prepare_musique_recall.py
    

    O script gera dados de treinamento com base em ferramentas definidas pelo usuário (por exemplo, pesquisa na Wikipedia) para tarefas de inferência complexas. Os dados de treinamento gerados podem ser usados diretamente para o treinamento do modelo.

  3. Avaliação do questionário de múltiplos saltos
    O ReCall usa o FlashRAG como ambiente de avaliação para testes de múltiplos saltos. Os usuários podem fazer download de conjuntos de dados de avaliação e executar testes:

    # 下载 FlashRAG 评估数据(见 GitHub 说明)
    

    Os resultados da avaliação validam o desempenho do modelo em tarefas de inferência em várias etapas e são adequados para testar os recursos de invocação da ferramenta.

  4. Desenvolvimento de ferramentas personalizadas
    O usuário pode definir qualquer ferramenta para ampliar a funcionalidade do ReCall. Por exemplo, adicionar uma ferramenta de calculadora:

    • Defina a interface da ferramenta no código para especificar os formatos de entrada e saída.
    • Integrar as configurações da ferramenta em ReCall Em sala de aula.
    • Executar scripts de treinamento ou inferência para testar a eficácia de novas ferramentas.
      Consulte o GitHub para obter documentação e código de amostra.

Operação da função em destaque

O ReCall apresenta inferência de chamadas de ferramentas por meio do aprendizado por reforço sem a necessidade de dados supervisionados. Veja como a funcionalidade em destaque é usada:

  • Treinamento de aprendizado intensivoUso do ReCall verl para treinamento de aprendizagem por reforço. Os usuários podem configurar parâmetros de treinamento e executar scripts de treinamento:
    # 示例训练命令(具体参数见 GitHub 文档)
    python train.py --config {config_file}
    

    O processo de treinamento utiliza os conjuntos de dados SynTool e MuSiQue para otimizar a seleção de ferramentas e os recursos de inferência do modelo.

  • Conjunto de ferramentas flexíveisFerramentas: Os usuários podem definir várias ferramentas (por exemplo, pesquisa, consulta a banco de dados etc.) por meio de um arquivo de configuração, e o modelo seleciona e combina automaticamente as ferramentas com base na tarefa. Etapas da operação:
    1. Edite o arquivo de configuração da ferramenta (por exemplo, no formato YAML).
    2. Carregar para ReCall Classe.
    3. Execute o script de inferência e observe como o modelo invoca dinamicamente a ferramenta.
  • Serviços de modelagem eficientesO serviço de modelo baseado em SGLang oferece suporte ao raciocínio altamente simultâneo e é adequado para ambientes de produção. Os usuários podem chamar modelos via API para lidar com tarefas em tempo real.

advertência

  • Garantir suporte de hardware (por exemplo, GPU para faiss-gpu responder cantando flash-attn).
  • Verifique regularmente se há atualizações em seu repositório do GitHub para obter os recursos e as correções mais recentes.
  • O treinamento e o raciocínio exigem muito espaço de memória e armazenamento, e recomenda-se uma preparação prévia.

cenário do aplicativo

  1. Desenvolvimento de sistema de questionário multihop
    O ReCall pode ser usado para desenvolver sistemas de perguntas e respostas que exijam raciocínio em várias etapas. Por exemplo, para responder à pergunta "Qual era a capital do país onde uma figura histórica nasceu no século XIX?" O modelo pode usar a ferramenta de pesquisa da Wikipedia para raciocinar passo a passo e obter a resposta exata. Ele é adequado para o desenvolvimento de plataformas de perguntas e respostas educacionais e de conhecimento.
  2. Processamento automatizado de tarefas
    O ReCall pode automatizar tarefas complexas em conjunto com uma variedade de ferramentas (por exemplo, calculadoras, consultas a bancos de dados). Por exemplo, as empresas podem usar o ReCall para desenvolver inteligência para analisar automaticamente os dados de vendas e gerar relatórios.
  3. Pesquisa e experimentação de IA
    Os pesquisadores podem usar os conjuntos de dados sintéticos e a estrutura de aprendizagem por reforço do ReCall para explorar o desempenho de modelos grandes na invocação de ferramentas e tarefas de inferência complexas adequadas para pesquisa acadêmica e desenvolvimento de algoritmos.

 

QA

  1. Quais ferramentas são compatíveis com o ReCall?
    O ReCall oferece suporte a ferramentas definidas pelo usuário, como pesquisas, calculadoras, consultas a bancos de dados etc. Você pode adicionar novas ferramentas por meio de arquivos de configuração; consulte o GitHub para obter exemplos.
  2. Como faço para começar a usar o ReCall?
    Clone o repositório do GitHub, instale as dependências, baixe os dados pré-processados ou gere dados personalizados e execute o script de amostra. Consulte a Ajuda para obter detalhes.
  3. Qual é a diferença entre o ReCall e o ReSearch?
    O ReCall é uma versão atualizada do ReSearch que oferece suporte a mais ferramentas e tarefas de inferência mais complexas e pode ser usado como um substituto direto do ReSearch.
  4. Quanto espaço de armazenamento é necessário?
    O treinamento e a avaliação exigem um grande espaço de armazenamento, por exemplo, os dados de avaliação do FlashRAG podem ocupar dezenas de gigabytes, portanto, é recomendável verificar a capacidade do hardware com antecedência.
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