LLMCheatsheets.jl é um pacote Julia que torna fácil e instantâneo ensinar modelos de IA sobre novos pacotes e repositórios criando cheatsheets a partir de repositórios GitHub. Esta ferramenta preenche a lacuna entre a documentação legível e a representação do conhecimento amigável à IA, permitindo uma integração perfeita com modelos de linguagem e assistentes de IA.
Por padrão, pegamos um subconjunto de pastas e arquivos no repositório fornecido e os resumimos usando um LLM em uma única folha de dicas.
Para instalar o LLMCheatsheets.jl, use o gerenciador de pacotes Julia e a URL do repositório (ainda não está registrado):
using Pkg
Pkg . add (url = " https://github.com/svilupp/LLMCheatsheets.jl " )
Dica
Se você encontrar limites de taxa ao acessar a API do GitHub, poderá configurar um token de acesso pessoal e defini-lo como uma variável de ambiente GITHUB_API_KEY
para aumentar seu limite de solicitações para 5.000 por hora.
Aqui está um exemplo básico de como usar LLMCheatsheets.jl para criar uma cheatsheet para um repositório GitHub.
using LLMCheatsheets
repo = GitHubRepo ( " https://github.com/svilupp/PromptingTools.jl " )
create_cheatsheet (repo; save_path = true );
Com save_path = true
, a cheatsheet será salva na pasta llm-cheatsheets
no diretório de trabalho atual.
O que acontece nos bastidores:
repo.paths
e repo.file_types
. Para uma interface de baixo nível para gerar os arquivos individualmente e processá-los você mesmo, consulte examples/create_for_promptingtools.jl
.
Às vezes você pode querer apenas baixar os arquivos sem resumi-los. Você pode fazer isso com a função collect
.
files_str = collect (repo)
files_str
será uma string com todos os arquivos verificados concatenados. Para usá-lo no ChatGPT ou Claude.ai, use a funcionalidade clipboard
para copiá-lo para a área de transferência - files_str|>clipboard
.
Por padrão, os arquivos verificados e baixados são repo.paths
e repo.file_types
, respectivamente.
Por padrão, repo.paths
inclui ["src", "docs/src", "README.md"]
e repo.file_types
inclui [".jl", ".md"]
. Você pode personalizá-los ao criar o objeto GitHubRepo
:
Por exemplo, adicionando uma pasta de examples
e arquivos .txt
para personalizar o que iremos resumir:
repo = GitHubRepo ( " https://github.com/username/repository " ; paths = [ " examples " , " README.md " ], file_types = [ " .jl " , " .md " , " .txt " ])
Você pode usar um LLM diferente passando o argumento model
para as funções.
create_cheatsheet (repo; save_path = true , model = " gpt4om " )
Você pode fornecer instruções especiais para orientar a IA na geração da folha de dicas:
create_cheatsheet (repo; special_instructions = " Focus on the data structures and their interactions. " )
Você pode simplesmente exportar também funções ai* de PromptingTools.jl para usá-las com LLMCheatsheets.jl.
using LLMCheatsheets
# Re-export aigenerate, pprint from PromptingTools
using LLMCheatsheets : aigenerate, pprint
# Or import PromptingTools directly
# using PromptingTools
repo = GitHubRepo ( " https://github.com/svilupp/PromptingTools.jl " ; paths = [ " docs/src " , " README.md " ])
files_str = collect (repo)
msg = aigenerate ( " Read through these files: $(files_str) nn Answer the question: What is the function for creating prompt templates? " )
pprint (msg)
The function for creating prompt templates in the `PromptingTools.jl` package is `create_template`. This function allows you to define a prompt with placeholders and save it for later use. The syntax is:
```julia
create_template(; user=<user prompt>,
system=<system prompt>, load_as=<template name>)
```
This function generates a vector of messages, which you can use directly in the `ai*` functions. If you provide the `load_as` argument, it will also register the template in the template store,
allowing you to access it later using its name.
Se você estiver obtendo taxa limitada por provedores LLM, poderá diminuir o número de tarefas de resumo simultâneas em create_cheatsheet
definindo um número mais baixo como ntasks=5
ou ntasks=2
(depende do seu nível de API).
Configure um token de acesso pessoal e defina-o como ENV["GITHUB_API_KEY"]
. Ele será carregado automaticamente em uma variável LLMCheatsheets.GITHUB_API_KEY
.
Você pode configurar um token de acesso pessoal para a API GitHub seguindo estas etapas:
Então você pode configurá-lo como ENV["GITHUB_API_KEY"]
ou LLMCheatsheets.GITHUB_API_KEY
.
Para obter mais informações sobre como usar LLMCheatsheets.jl, consulte a documentação.
Se você encontrar algum problema ou tiver dúvidas, abra um problema no repositório GitHub.