LLM-Prepare converte estruturas e arquivos complexos de diretório de projetos em um único arquivo plano ou conjunto de arquivos planos, facilitando o processamento usando os prompts de aprendizado no contexto (ICL).
Essa ferramenta Node.js digitaliza recursivamente um diretório de projeto com base nos argumentos fornecidos (pelo menos um diretório). Ele gera uma visualização de layout simplificada que inclui todos os diretórios e arquivos correspondentes. Além disso, ele combina essa visualização de layout com o conteúdo agregado de texto de todo o projeto. Por padrão, o conteúdo agregado do arquivo é despojado de comentários e espaço em branco desnecessário. A ferramenta suporta a compactação de saída para reduzir o uso de token e pode lidar com grandes projetos, criticando a saída. Os avisos de exemplo são incluídos para orientação.
O aprendizado no contexto (ICL) permite que um modelo execute tarefas interpretando o contexto fornecido dentro de um prompt, eliminando a necessidade de treinamento ou ajuste fino adicionais.
Saiba mais sobre o aprendizado no contexto (ICL)
--config para carregar um arquivo de configuração JSON contendo argumentos e caminhos predefinidos a serem incluídos. .ignore para excluir arquivos ou diretórios específicos.CREATE TABLE com base no conteúdo CSV fornecido.fs padrão, fornecendo métodos adicionais e promessa de suporte..ignore semelhante ao .gitignore .yargs . Antes de instalar, verifique se você possui Node.js e NPM (gerenciador de pacotes do nó) instalados no seu sistema. Você pode baixar e instalar o Node.js no site oficial do Node.js.
Para instalar e usar o Prepare LLM, siga estas etapas:
Clone o repositório: Comece clonando o repositório que contém o preparo LLM na sua máquina local.
git clone https://github.com/samestrin/llm-prepare/Navegue até o diretório raiz do seu projeto e corra:
npm installPara disponibilizar o Prepare LLM em qualquer local do seu sistema, você precisa instalá-lo globalmente. Você pode fazer isso usando o NPM.
Execute o seguinte comando no diretório do seu projeto:
npm link Isso criará um symlink global para o seu script. Agora, você pode executar o script usando llm-prepare de qualquer lugar do seu terminal.
As etapas de instalação fornecidas devem funcionar como é para as plataformas MacOS e Linux.
Para o Windows, verifique se o Node.js é adicionado ao seu caminho durante a instalação. O comando npm link também deve funcionar no Windows PowerShell ou prompt de comando, permitindo que você execute o script globalmente.
Para executar o script, você precisa fornecer um argumento obrigatório: o caminho para o diretório do projeto ( --path-name ou -p ).
Isso processará todos os arquivos no diretório do projeto especificado, respeitando todos os arquivos .ignore e produzirá o conteúdo e a estrutura consolidados para o seu console. Padrão o padrão de arquivo para "*"
llm-prepare -p " /path/to/project "ou
llm-prepare --path " /path/to/project " Isso processará todos os arquivos JavaScript no diretório do projeto especificado, respeitando qualquer arquivo .ignore e produzirá o conteúdo e a estrutura consolidados para o seu console.
llm-prepare -p " /path/to/project " -f " *.js " Isso processará todos os arquivos no diretório do projeto especificado, respeitando todos os arquivos .ignore e produzirá o conteúdo e a estrutura consolidados para o output.txt .
llm-prepare -p " /path/to/project " -o " output.txt " Se você não especificar um nome de arquivo, isso processará todos os arquivos no diretório do projeto especificado, respeitando qualquer arquivo .ignore e produzirá o conteúdo e a estrutura consolidados para o Project.txt . O nome do arquivo é gerado automaticamente com base no diretório de nível superior na variável de nome do caminho.
llm-prepare -p " /path/to/project " -oOpcionalmente, você pode definir a variável de ambiente LLM_PREPARE_OUTPUT_DIR . Se a variável de ambiente LLM_Prepare_Output_DIR estiver definida, os arquivos de saída serão gravados para esse diretório.
Se você não deseja incluir arquivos ou diretórios específicos, poderá especificar as regras usando --custom-ignore-string .
llm-prepare -p " /path/to/project " -o --custom-ignore-string " *docs*,*test* " Se você não deseja incluir arquivos ou diretórios específicos, poderá especificar as regras usando um --custom-ignore-filename . Use a formatação do arquivo .gitignore.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Se você não deseja incluir arquivos ou diretórios específicos, poderá especificar as regras usando um --custom-ignore-filename . Use a formatação do arquivo .gitignore.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Você pode usar um arquivo de configuração JSON para predefinar os argumentos e caminhos a serem incluídos no processamento.
Exemplo de arquivo config.json :
{
"args" : {
"output-filename" : " output.txt " ,
"compress" : true
},
"include" : [ " ./src/ " , " ./lib/ " ]
}Para executar o script com um arquivo de configuração:
llm-prepare -c " config.json " --help Show help [boolean]
-p, --path Path to the project directory[string] [required]
-f, --file-pattern Pattern of files to include, e.g., ' .js$ ' or
' * ' for all files [string] [default: " * " ]
-o, --output-filename Output filename [string]
-i, --include-comments Include comments ? (Default: false) [boolean]
-c, --compress Compress ? (Default: false) [boolean]
--chunk-size Maximum size (in kilobytes) of each file[number]
-s, --suppress-layout Suppress layout in output (Default: false)
[boolean]
--default-ignore Use a custom default ignore file [string]
--ignore-gitignore Ignore .gitignore file in the root of the
project directory [boolean]
--show-default-ignore Show default ignore file [boolean]
--show-prompts Show example prompts in your browser [boolean]
--custom-ignore-string Comma-separated list of ignore patterns [string]
--custom-ignore-filename Path to a file containing ignore patterns
[string]
--config Path to the config file [string]
-v, --version Display the version number [boolean]"Embora o Finetuning com conjuntos de dados completos ainda seja uma opção poderosa se os dados excederem bastante a duração do contexto, nossos resultados sugerem que o ICL de longo contexto é uma alternativa eficaz-negociando o custo do tempo de tempo para aumentar o tempo de inferência. Como a eficácia e a eficiência do uso de um longo comprimento de contexto de modelo continua a aumentar, para aumentar o aumento do contexto do índice, o ICL de longo prazo será necessário um pouco de contorno de contexto de excesso de excesso,"
- Promotos maciços podem superar o ajuste fino para os LLMs, os pesquisadores encontram
A aprendizagem no contexto (ICL) permite que um grande modelo de idioma (LLM) execute tarefas interpretando o contexto fornecido no prompt sem treinamento ou ajuste fino adicional. Essa abordagem difere significativamente dos métodos anteriores em que os modelos foram explicitamente treinados em uma tarefa específica usando vastos conjuntos de dados. Em vez disso, a ICL aproveita a base de conhecimento pré-treinada do modelo-um entendimento abrangente acumulado durante sua extensa fase de treinamento inicial.
Como o tamanho do token - ou a quantidade de dados que um LLM pode processar e gerar em uma única instância - aumentou drasticamente, o valor da ICL se tornou ainda mais significativo. Esse aumento no tamanho do token permite que os LLMs lidem com entradas e saídas mais longos e mais complexos, o que aprimora sua capacidade de entender e gerar texto sofisticado.
O aprendizado no contexto (ICL) solicita um grande modelo de idioma (LLM) na execução de tarefas, fornecendo contexto relevante no prompt de entrada. Esses avisos normalmente incluem exemplos, instruções ou padrões que ajudam o modelo a entender como gerar respostas apropriadas. Aqui estão algumas características e exemplos de avisos da ICL:
As contribuições para este projeto são bem -vindas. Por favor, pegue o repositório e envie uma solicitação de tração com suas alterações ou melhorias.
Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.