Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Paper2Code: transformação automática de documentos de aprendizado de máquina em código executável

Introdução geral

O Paper2Code é um projeto de código aberto que visa resolver o problema da falta de implementações de código para artigos de aprendizado de máquina. Ele transforma automaticamente artigos científicos em repositórios de códigos executáveis por meio do sistema multiagente de modelagem de linguagem grande (LLM) PaperCoder. O sistema adota um processo de três fases de planejamento, análise e geração de código, que é tratado separadamente por agentes especializados para gerar implementações de código de alta qualidade que sejam fiéis ao artigo. O projeto usa o famoso artigo "Attention Is All You Need" como exemplo e demonstra o processo desde o artigo até a implementação. Transformador O Paper2Code é compatível com a entrada de documentos em formato PDF e LaTeX. O Paper2Code oferece suporte à entrada de papel nos formatos PDF e LaTeX para pesquisadores, desenvolvedores e estudantes de aprendizado de máquina. O Paper2Code tem bom desempenho nos benchmarks do PaperBench e o código está disponível publicamente no GitHub, o que facilita a instalação e o uso.

Paper2Code: conversão automática de documentos de aprendizado de máquina em código executável-1


 

Lista de funções

  • Converta automaticamente documentos de aprendizado de máquina em repositórios de códigos executáveis.
  • Oferece suporte à entrada de papel nos formatos PDF e LaTeX para gerar dados JSON estruturados.
  • Fornece um fluxo de processamento de três fases para planejamento, análise e geração de código.
  • Gerar um repositório de código completo, incluindo arquitetura do sistema, dependências e arquivos de configuração.
  • Oferece suporte à avaliação da qualidade do código referenciado e não referenciado em uma escala de 1 a 5.
  • Fornece exemplos de scripts para executar rapidamente o código do Transformer para o documento "Attention Is All You Need".
  • Código aberto e gratuito, permitindo que os usuários modifiquem e contribuam com o código.

 

Usando a Ajuda

Processo de instalação

Para usar o Paper2Code, você precisa instalar as dependências necessárias e configurar seu ambiente. Veja a seguir as etapas detalhadas da instalação:

  1. armazém de clones
    Execute o seguinte comando em um terminal para clonar o repositório do Paper2Code localmente:

    git clone https://github.com/going-doer/Paper2Code.git
    cd Paper2Code
  1. Instalação de dependências
    Instale as dependências do Python, incluindo openai responder cantando tiktoken etc. biblioteca:

    pip install openai tiktoken
    

    Se você precisar usar o vLLM consulte o repositório oficial do vLLM (https://github.com/vllm-project/vllm) para instalação.

  2. Configuração da chave da API da OpenAI
    Depois de obter a chave da API da OpenAI, configure as variáveis de ambiente:

    export OPENAI_API_KEY="your-api-key"
    

    Os usuários do Windows o executam:

    set OPENAI_API_KEY=your-api-key
    
  3. Instalação da ferramenta de conversão de PDF
    O Paper2Code suporta a conversão de documentos PDF para o formato JSON. Clone o repositório s2orc-doc2json:

    git clone https://github.com/allenai/s2orc-doc2json.git
    

    Execute o script de conversão de PDF:

    mkdir -p ./s2orc-doc2json/output_dir/paper_coder
    python ./s2orc-doc2json/doc2json/grobid2json/process_pdf.py -i <PDF_PATH> -t ./s2orc-doc2json/temp_dir/ -o ./s2orc-doc2json/output_dir/paper_coder
    

Uso

O Paper2Code oferece várias formas de execução e suporta documentos nos formatos PDF e LaTeX. Veja a seguir os detalhes da operação:

Execute o script de amostra

O Paper2Code inclui um script de amostra para gerar o código do Transformer para o documento "Attention Is All You Need". Ir para scripts Catálogo:

cd scripts
bash run.sh

A saída será salva no arquivo outputs/Transformer Catálogo, inclusive:

  • planning_artifactsArquitetura do sistema e arquivos de dependência.
  • analyzing_artifactsAnálise detalhada da realização da tese: análise detalhada da realização da tese.
  • coding_artifactsO arquivo de código gerado.
  • Transformer_repoO repositório de código final.

Manuseio de redações personalizadas

Para converter seu documento em código, prepare um arquivo no formato PDF ou LaTeX e modifique as variáveis de ambiente. Por exemplo, use o formato PDF:

export OPENAI_API_KEY="your-api-key"
cd scripts
bash run.sh

Para o formato LaTeX, execute:

bash run_latex.sh

Se outros modelos de linguagem grandes forem usados, execute:

bash run_llm.sh  # PDF 格式
bash run_latex_llm.sh  # LaTeX 格式

Avaliação da qualidade do código

O Paper2Code é compatível com a avaliação da qualidade do código referenciado e não referenciado. Execute scripts de avaliação:

cd codes
python eval.py \
--paper_name Transformer \
--pdf_json_path ../examples/Transformer_cleaned.json \
--data_dir ../data \
--output_dir ../outputs/Transformer \
--target_repo_dir ../outputs/Transformer_repo \
--eval_result_dir ../results \
--eval_type ref_free \
--generated_n 8 \
--papercoder

Os caminhos padrão do depósito precisam ser especificados para a avaliação de referência:

--eval_type ref_based \
--gold_repo_dir ../examples/Transformer_gold_repo

Os resultados da avaliação, incluindo uma pontuação de correção de 1 a 5, são mantidos no results Catálogo.

Operação da função em destaque

  • Colaboração com vários agentesAgentes de planejamento para projetar a arquitetura do código, agentes de análise para extrair detalhes da tese, agentes de geração para escrever código modular. Os usuários não precisam intervir manualmente, o sistema conclui automaticamente todo o processo.
  • Código de alta qualidadeO código gerado é fiel ao documento, inclui gerenciamento de dependências e arquivos de configuração e é adequado para ambientes de produção.
  • Entrada flexívelSuporte aos formatos PDF e LaTeX, compatível com vários formatos de papel, conveniente para diferentes necessidades do usuário.
  • Ferramentas de avaliaçãoForneça scripts de avaliação automatizados para quantificar a correção do código e ajudar os usuários a verificar a qualidade da implementação.

advertência

  • Verifique se a chave da API da OpenAI é válida executando o3-mini O custo estimado do modelo é de US$ 0,50 a US$ 0,70.
  • Ao converter PDF, verifique se a saída JSON está completa para evitar erros de formatação.
  • Os papéis personalizados exigem o ajuste de caminhos e parâmetros no script, consulte a seção README.md.

 

cenário do aplicativo

  1. pesquisa acadêmica
    Os pesquisadores podem transformar rapidamente novos artigos em código para validar algoritmos e economizar tempo na codificação manual. Por exemplo, os acadêmicos de aprendizado de máquina podem executar o código gerado pelo Paper2Code diretamente para testar o desempenho dos modelos em seus artigos.
  2. Aprendizagem educacional
    Por meio do Paper2Code, os alunos podem converter documentos clássicos (por exemplo, Transformer) em código para obter uma compreensão mais profunda dos detalhes da implementação do modelo e ajudar a aprender os princípios da aprendizagem profunda.
  3. Desenvolvimento de protótipos
    Os desenvolvedores podem criar rapidamente protótipos de aprendizado de máquina com base no repositório de código gerado, encurtando o ciclo de desenvolvimento e tornando-o adequado para projetos comerciais iterativos rápidos.

 

QA

  1. Quais formatos de papel são compatíveis com o Paper2Code?
    Oferece suporte a documentos de aprendizado de máquina nos formatos PDF e LaTeX; o PDF precisa ser convertido em JSON, enquanto o LaTeX pode ser processado diretamente.
  2. Qual é a qualidade do código gerado?
    O código é processado por meio de um processo de três fases de planejamento, análise e geração, e é fiel ao conteúdo do documento. A ferramenta de avaliação fornece uma pontuação de correção de 1 a 5 para garantir um resultado de alta qualidade.
  3. Preciso pagar para executar o Paper2Code?
    Há uma taxa para usar a API da OpenAI, que custa cerca de US$ 0,50 a US$ 0,70 para executar o modelo o3-mini. Outros recursos são gratuitos.
  4. Como você lida com seus próprios documentos?
    Prepare o arquivo PDF ou LaTeX, configure as variáveis de ambiente, execute o run.sh talvez run_latex.sh basta ajustar o caminho e os parâmetros.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Paper2Code: transformação automática de documentos de aprendizado de máquina em código executável
pt_BRPortuguês do Brasil