LLMCheatsheets.jl est un package Julia qui permet d'enseigner facilement et instantanément aux modèles d'IA les nouveaux packages et référentiels en créant des aide-mémoire à partir des référentiels GitHub. Cet outil comble le fossé entre la documentation lisible par l'homme et la représentation des connaissances conviviale pour l'IA, permettant une intégration transparente avec les modèles de langage et les assistants d'IA.
Par défaut, nous prenons un sous-ensemble de dossiers et de fichiers dans le référentiel fourni et les résumons à l'aide d'un LLM dans une seule aide-mémoire.
Pour installer LLMCheatsheets.jl, utilisez le gestionnaire de packages Julia et l'URL du dépôt (il n'est pas encore enregistré) :
using Pkg
Pkg . add (url = " https://github.com/svilupp/LLMCheatsheets.jl " )
Conseil
Si vous rencontrez des limites de débit lors de l'accès à l'API GitHub, vous pouvez configurer un jeton d'accès personnel et le définir comme variable d'environnement GITHUB_API_KEY
pour augmenter votre limite de requêtes à 5 000 par heure.
Voici un exemple de base montrant comment utiliser LLMCheatsheets.jl pour créer une aide-mémoire pour un référentiel GitHub.
using LLMCheatsheets
repo = GitHubRepo ( " https://github.com/svilupp/PromptingTools.jl " )
create_cheatsheet (repo; save_path = true );
Avec save_path = true
, l'aide-mémoire sera enregistrée dans le dossier llm-cheatsheets
dans le répertoire de travail actuel.
Ce qui se passe dans les coulisses :
repo.paths
et repo.file_types
. Pour une interface de bas niveau permettant de générer les fichiers individuellement et de les traiter vous-même, voir examples/create_for_promptingtools.jl
.
Parfois, vous souhaiterez peut-être simplement télécharger les fichiers sans les résumer. Vous pouvez le faire avec la fonction collect
.
files_str = collect (repo)
files_str
sera une chaîne avec tous les fichiers analysés concaténés ensemble. Pour l'utiliser dans ChatGPT ou Claude.ai, utilisez la fonctionnalité clipboard
pour le copier dans le presse-papiers - files_str|>clipboard
.
Par défaut, les fichiers analysés et téléchargés sont respectivement repo.paths
et repo.file_types
.
Par défaut, repo.paths
inclut ["src", "docs/src", "README.md"]
et repo.file_types
inclut [".jl", ".md"]
. Vous pouvez les personnaliser lors de la création de l'objet GitHubRepo
:
Par exemple, ajouter un dossier examples
et des fichiers .txt
pour personnaliser ce que nous allons résumer :
repo = GitHubRepo ( " https://github.com/username/repository " ; paths = [ " examples " , " README.md " ], file_types = [ " .jl " , " .md " , " .txt " ])
Vous pouvez utiliser un LLM différent en passant l'argument model
aux fonctions.
create_cheatsheet (repo; save_path = true , model = " gpt4om " )
Vous pouvez fournir des instructions spéciales pour guider l'IA dans la génération de l'aide-mémoire :
create_cheatsheet (repo; special_instructions = " Focus on the data structures and their interactions. " )
Vous pouvez simplement exporter également les fonctions ai* depuis PromptingTools.jl pour les utiliser avec 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 votre débit est limité par les fournisseurs LLM, vous pouvez réduire le nombre de tâches de synthèse simultanées dans create_cheatsheet
en définissant un nombre inférieur comme ntasks=5
ou ntasks=2
(dépend de votre niveau d'API).
Configurez un jeton d'accès personnel et définissez-le comme ENV["GITHUB_API_KEY"]
. Il sera automatiquement chargé dans une variable LLMCheatsheets.GITHUB_API_KEY
.
Vous pouvez configurer un jeton d'accès personnel pour l'API GitHub en suivant ces étapes :
Ensuite, vous pouvez le définir comme ENV["GITHUB_API_KEY"]
ou LLMCheatsheets.GITHUB_API_KEY
.
Pour plus d'informations sur l'utilisation de LLMCheatsheets.jl, veuillez vous référer à la documentation.
Si vous rencontrez des problèmes ou avez des questions, veuillez ouvrir un ticket sur le référentiel GitHub.