LLMCheatsheets.jl es un paquete de Julia que hace que sea fácil e instantáneo enseñar a los modelos de IA sobre nuevos paquetes y repositorios mediante la creación de hojas de referencia a partir de repositorios de GitHub. Esta herramienta cierra la brecha entre la documentación legible por humanos y la representación del conocimiento compatible con la IA, lo que permite una integración perfecta con modelos de lenguaje y asistentes de IA.
De forma predeterminada, tomamos un subconjunto de carpetas y archivos en el repositorio proporcionado y los resumimos usando un LLM en una única hoja de referencia.
Para instalar LLMCheatsheets.jl, use el administrador de paquetes de Julia y la URL del repositorio (aún no está registrado):
using Pkg
Pkg . add (url = " https://github.com/svilupp/LLMCheatsheets.jl " )
Consejo
Si encuentra límites de velocidad al acceder a la API de GitHub, puede configurar un token de acceso personal y configurarlo como una variable de entorno GITHUB_API_KEY
para aumentar su límite de solicitudes a 5000 por hora.
A continuación se muestra un ejemplo básico de cómo utilizar LLMCheatsheets.jl para crear una hoja de referencia para un repositorio de GitHub.
using LLMCheatsheets
repo = GitHubRepo ( " https://github.com/svilupp/PromptingTools.jl " )
create_cheatsheet (repo; save_path = true );
Con save_path = true
, la hoja de referencia se guardará en la carpeta llm-cheatsheets
en el directorio de trabajo actual.
Qué sucede detrás de escena:
repo.paths
y repo.file_types
. Para obtener una interfaz de bajo nivel para generar los archivos individualmente y procesarlos usted mismo, consulte examples/create_for_promptingtools.jl
.
A veces es posible que desees simplemente descargar los archivos sin resumirlos. Puedes hacerlo con la función collect
.
files_str = collect (repo)
files_str
será una cadena con todos los archivos escaneados concatenados. Para usarlo en ChatGPT o Claude.ai, use la funcionalidad clipboard
para copiarlo al portapapeles - files_str|>clipboard
.
De forma predeterminada, los archivos escaneados y descargados son repo.paths
y repo.file_types
, respectivamente.
De forma predeterminada, repo.paths
incluye ["src", "docs/src", "README.md"]
y repo.file_types
incluye [".jl", ".md"]
. Puede personalizarlos al crear el objeto GitHubRepo
:
Por ejemplo, añadiendo una carpeta de examples
y archivos .txt
para personalizar lo que vamos a resumir:
repo = GitHubRepo ( " https://github.com/username/repository " ; paths = [ " examples " , " README.md " ], file_types = [ " .jl " , " .md " , " .txt " ])
Puede utilizar un LLM diferente pasando el argumento model
a las funciones.
create_cheatsheet (repo; save_path = true , model = " gpt4om " )
Puede proporcionar instrucciones especiales para guiar a la IA en la generación de la hoja de referencia:
create_cheatsheet (repo; special_instructions = " Focus on the data structures and their interactions. " )
Simplemente puede exportar también funciones ai* desde PromptingTools.jl para usarlas con 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.
Si los proveedores de LLM tienen una tasa limitada, puede disminuir la cantidad de tareas de resumen simultáneas en create_cheatsheet
estableciendo un número más bajo como ntasks=5
o ntasks=2
(depende de su nivel de API).
Configure un token de acceso personal y configúrelo como ENV["GITHUB_API_KEY"]
. Se cargará automáticamente en una variable LLMCheatsheets.GITHUB_API_KEY
.
Puede configurar un token de acceso personal para la API de GitHub siguiendo estos pasos:
Luego puedes configurarlo como ENV["GITHUB_API_KEY"]
o LLMCheatsheets.GITHUB_API_KEY
.
Para obtener más información sobre el uso de LLMCheatsheets.jl, consulte la documentación.
Si encuentra algún problema o tiene preguntas, abra un problema en el repositorio de GitHub.