LLM-Prepare convertit les structures et fichiers du répertoire de projet complexes en un seul fichier plat ou un ensemble de fichiers plats, facilitant le traitement à l'aide d'invites d'apprentissage (ICL) dans le contexte.
Cet outil Node.js analyse récursivement un répertoire de projet basé sur des arguments fournis (au moins un répertoire). Il génère une vue de mise en page simplifiée qui inclut tous les répertoires et les fichiers correspondants. De plus, il combine cette vue de mise en page avec le contenu texte agrégé de l'ensemble du projet. Par défaut, le contenu de fichier agrégé est dépouillé des commentaires et des espaces blancs inutiles. L'outil prend en charge la compression de sortie pour réduire l'utilisation des jetons et peut gérer de grands projets en frottant la sortie. Des invites d'exemples sont incluses pour obtenir des conseils.
L'apprentissage dans le contexte (ICL) permet à un modèle d'effectuer des tâches en interprétant le contexte fourni dans une invite, éliminant le besoin de formation supplémentaire ou de réglage fin.
En savoir plus sur l'apprentissage dans le contexte (ICL)
--config pour charger un fichier de configuration JSON contenant des arguments et des chemins prédéfinis à inclure. .ignore pour exclure des fichiers ou des répertoires spécifiques.CREATE TABLE en fonction de votre contenu CSV fourni.fs , fournissant des méthodes supplémentaires et une prise en charge de promesse..ignore similaires à .gitignore .yargs . Avant l'installation, assurez-vous que Node.js et NPM (Node Package Manager) sont installés sur votre système. Vous pouvez télécharger et installer Node.js sur le site officiel de Node.js.
Pour installer et utiliser LLM-Prepare, suivez ces étapes:
Clone le référentiel: commencez par cloner le référentiel contenant le pré-entrepare de LLM à votre machine locale.
git clone https://github.com/samestrin/llm-prepare/Accédez au répertoire racine de votre projet et exécutez:
npm installPour rendre LLM-Prepare disponible à partir de n'importe quel emplacement de votre système, vous devez l'installer à l'échelle mondiale. Vous pouvez le faire en utilisant NPM.
Exécutez la commande suivante dans votre répertoire de projet:
npm link Cela créera un lien symbolique global de votre script. Maintenant, vous pouvez exécuter le script à l'aide de llm-prepare de n'importe où dans votre terminal.
Les étapes d'installation fournies devraient fonctionner en tant que plates-formes macOS et Linux.
Pour Windows, assurez-vous que Node.js est ajouté à votre chemin pendant l'installation. La commande npm link doit également fonctionner dans Windows PowerShell ou l'invite de commande, vous permettant d'exécuter le script à l'échelle mondiale.
Pour exécuter le script, vous devez fournir un argument obligatoire: le chemin d'accès au répertoire du projet ( --path-name ou -p ).
Cela traitera tous les fichiers dans le répertoire de projet spécifié, en respectant tous les fichiers .ignore , et sortira le contenu et la structure consolidés de votre console. Par défaut le modèle de fichier à "*"
llm-prepare -p " /path/to/project "ou
llm-prepare --path " /path/to/project " Cela traitera tous les fichiers JavaScript dans le répertoire de projet spécifié, en respectant tous les fichiers .ignore , et sortira le contenu et la structure consolidés de votre console.
llm-prepare -p " /path/to/project " -f " *.js " Cela traitera tous les fichiers dans le répertoire de projet spécifié, en respectant tous les fichiers .ignore , et sortira le contenu et la structure consolidés sur output.txt .
llm-prepare -p " /path/to/project " -o " output.txt " Si vous ne spécifiez pas de nom de fichier, cela traitera tous les fichiers du répertoire de projet spécifié, en respectant tous les fichiers .ignore et en sortira le contenu et la structure consolidés à project.txt . Le nom de fichier est généré automatiquement en fonction du répertoire de niveau supérieur dans la variable de nom de chemin.
llm-prepare -p " /path/to/project " -oVous pouvez éventuellement définir la variable d'environnement LLM_PREPARE_OUTPUT_DIR . Si la variable d'environnement LLM_PREPARE_OUTPUT_DIR est définie, les fichiers de sortie sont écrits dans ce répertoire.
Si vous ne souhaitez pas inclure des fichiers ou des répertoires spécifiques, vous pouvez spécifier les règles à l'aide de --custom-ignore-string .
llm-prepare -p " /path/to/project " -o --custom-ignore-string " *docs*,*test* " Si vous ne souhaitez pas inclure des fichiers ou des répertoires spécifiques, vous pouvez spécifier les règles à l'aide d'un nom externe et --custom-ignore-filename . Utilisez le formatage des fichiers .gitignore.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Si vous ne souhaitez pas inclure des fichiers ou des répertoires spécifiques, vous pouvez spécifier les règles à l'aide d'un nom externe et --custom-ignore-filename . Utilisez le formatage des fichiers .gitignore.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Vous pouvez utiliser un fichier de configuration JSON pour prédéfinir les arguments et les chemins à inclure dans le traitement.
Exemple de fichier config.json :
{
"args" : {
"output-filename" : " output.txt " ,
"compress" : true
},
"include" : [ " ./src/ " , " ./lib/ " ]
}Pour exécuter le script avec un fichier de configuration:
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]"Alors que Finetuning avec des ensembles de données complets est toujours une option puissante si les données dépassent considérablement la longueur du contexte, nos résultats suggèrent que l'ICL à long contexte est une alternative efficace - le coût de temps de fin des finetuning pour une augmentation du calcul du temps d'inférence. Alors que l'efficacité et l'efficacité de l'utilisation de très longues longueurs de contexte de modèle continue d'augmenter, nous pensons que l'ICL à long terme sera un outil puissant pour de nombreux tasks." "."
- Les invites massives peuvent surpasser le réglage fin pour les LLM, les chercheurs trouvent
L'apprentissage dans le contexte (ICL) permet à un modèle de langue large (LLM) d'effectuer des tâches en interprétant le contexte fourni dans l'invite sans formation supplémentaire ni réglage fin. Cette approche diffère considérablement des méthodes précédentes où les modèles ont été explicitement formés sur une tâche spécifique à l'aide de vastes ensembles de données. Au lieu de cela, ICL exploite la base de connaissances pré-formée du modèle - une compréhension complète accumulée lors de sa phase de formation approfondie initiale.
Comme la taille du jeton - ou la quantité de données qu'un LLM peut traiter et générer dans une seule instance - a considérablement augmenté, la valeur de l'ICL est devenue encore plus importante. Cette augmentation de la taille des jetons permet aux LLM de gérer des entrées et des sorties plus longues et plus complexes, ce qui améliore leur capacité à comprendre et à générer du texte sophistiqué.
Les invites d'apprentissage (ICL) en contexte guident un modèle de langue large (LLM) dans l'exécution de tâches en fournissant un contexte pertinent dans l'invite d'entrée. Ces invites incluent généralement des exemples, des instructions ou des modèles qui aident le modèle à comprendre comment générer des réponses appropriées. Voici quelques caractéristiques et exemples d'invites ICL:
Les contributions à ce projet sont les bienvenues. Veuillez débarquer le référentiel et soumettre une demande de traction avec vos modifications ou améliorations.
Ce projet est autorisé en vertu de la licence MIT - voir le fichier de licence pour plus de détails.