LLM-Prepare konvertiert komplexe Projektverzeichnisstrukturen und -dateien in eine einzelne flache Datei oder eine Reihe von Flatendateien, wodurch die Verarbeitung mithilfe von In-Context Learning (ICL) -Antragungen erleichtert werden.
Dieses Tool node.js scursive ein Projektverzeichnis basierend auf bereitgestellten Argumenten (mindestens ein Verzeichnis). Es generiert eine vereinfachte Layoutansicht, die alle Verzeichnisse und übereinstimmenden Dateien enthält. Darüber hinaus kombiniert es diese Layoutansicht mit dem aggregierten Textinhalt des gesamten Projekts. Standardmäßig wird der aggregierte Dateiinhalt von Kommentaren und unnötigem Whitespace gestrichen. Das Tool unterstützt die Ausgangskomprimierung, um die Nutzung des Tokens zu reduzieren, und kann große Projekte durch das Knacken der Ausgabe verarbeiten. Beispielaufforderungen sind zur Anleitung enthalten.
In Context Learning (ICL) kann ein Modell Aufgaben ausführen, indem Kontext in einer Eingabeaufforderung interpretiert wird, wodurch die Notwendigkeit zusätzlicher Schulung oder Feinabstimmung beseitigt wird.
Erfahren Sie mehr über das Lernen in Kontext (ICL)
--config , um eine JSON-Konfigurationsdatei mit vordefinierten Argumenten und Pfaden zu laden. .ignore Sie automatisch Dateien, um bestimmte Dateien oder Verzeichnisse auszuschließen.CREATE TABLE basierend auf Ihrem bereitgestellten CSV -Inhalt.fs Moduls, das zusätzliche Methoden und vielversprechende Unterstützung bietet..ignore um Dateien ähnlich wie .gitignore .yargs . Stellen Sie vor der Installation sicher, dass Sie über Node.js und NPM (Node Package Manager) auf Ihrem System installiert sind. Sie können node.js von der offiziellen Website von node.js herunterladen und installieren.
Befolgen Sie die folgenden Schritte, um LLM-Vorversorgung zu installieren und zu verwenden:
Klonen Sie das Repository: Beginnen Sie zunächst das Repository mit der LLM-Vorbereitung an Ihre lokale Maschine.
git clone https://github.com/samestrin/llm-prepare/Navigieren Sie zum Stammverzeichnis Ihres Projekts und führen Sie aus:
npm installUm LLM-Vorversorgung von jedem Ort in Ihrem System zur Verfügung zu stellen, müssen Sie es global installieren. Sie können dies mit NPM tun.
Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus:
npm link Dadurch wird ein globales Symlink für Ihr Skript erstellt. Jetzt können Sie das Skript mit llm-prepare von überall in Ihrem Terminal ausführen.
Die bereitgestellten Installationsschritte sollten sowohl für MacOS- als auch für Linux-Plattformen funktionieren.
Stellen Sie für Windows sicher, dass Node.js während der Installation Ihrem Pfad hinzugefügt wird. Der npm link sollte auch in Windows PowerShell oder Eingabeaufforderung funktionieren, sodass Sie das Skript global ausführen können.
Um das Skript auszuführen, müssen Sie ein obligatorisches Argument vorlegen: den Pfad zum Projektverzeichnis ( --path-name oder -p ).
Dadurch werden alle Dateien im angegebenen Projektverzeichnis verarbeitet, die alle .ignore -Dateien respektieren und den konsolidierten Inhalt und die Struktur Ihrer Konsole ausgeben. Standardmäßig das Dateimuster zu "*"
llm-prepare -p " /path/to/project "oder
llm-prepare --path " /path/to/project " Dadurch werden alle JavaScript -Dateien im angegebenen Projektverzeichnis verarbeitet, die alle Dateien respektieren und den .ignore Inhalt und die Konsolenstruktur in Ihre Konsole ausgeben.
llm-prepare -p " /path/to/project " -f " *.js " Dadurch werden alle Dateien im angegebenen Projektverzeichnis verarbeitet, die alle .ignore -Dateien respektieren und den konsolidierten Inhalt und die Struktur für output.txt ausgeben.
llm-prepare -p " /path/to/project " -o " output.txt " Wenn Sie keinen Dateinamen spezifisch sind, werden alle Dateien im angegebenen Projektverzeichnis verarbeitet, wobei die .ignore respektieren und den konsolidierten Inhalt und die Struktur für project.txt ausgeben. Der Dateiname wird basierend auf dem obersten Verzeichnis in der Pfad-Namen-Variablen automatisch generiert.
llm-prepare -p " /path/to/project " -oSie können optional die Umgebungsvariable LLM_Prepare_Output_dir festlegen. Wenn die Umgebungsvariable llm_prepare_output_dir festgelegt wird, werden die Ausgabedateien in dieses Verzeichnis geschrieben.
Wenn Sie keine bestimmten Dateien oder Verzeichnisse einfügen möchten, können Sie die Regeln mithilfe von --custom-ignore-string angeben.
llm-prepare -p " /path/to/project " -o --custom-ignore-string " *docs*,*test* " Wenn Sie nicht bestimmte Dateien oder Verzeichnisse einfügen möchten, können Sie die Regeln mit einem externen und --custom-ignore-filename angeben. Verwenden Sie .Gitignore -Dateiformatierung.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Wenn Sie nicht bestimmte Dateien oder Verzeichnisse einfügen möchten, können Sie die Regeln mit einem externen und --custom-ignore-filename angeben. Verwenden Sie .Gitignore -Dateiformatierung.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Sie können eine JSON -Konfigurationsdatei verwenden, um die Argumente und Pfade in die Verarbeitung vorzulegen.
Beispiel config.json -Datei:
{
"args" : {
"output-filename" : " output.txt " ,
"compress" : true
},
"include" : [ " ./src/ " , " ./lib/ " ]
}So führen Sie das Skript mit einer Konfigurationsdatei aus:
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]"Während die Finetuning mit vollständigen Datensätzen immer noch eine leistungsstarke Option ist, wenn die Daten die Kontextlänge erheblich überschreiten, deuten unsere Ergebnisse darauf hin, dass Langkontext-ICL eine effektive Alternative darstellt-Handelsfintun-Zeitkosten für erhöhte Inferenzzeit-Computer.
- Massive Eingaben können die Feinabstimmung für LLMs übertreffen, finden Forscher
In-Context Learning (ICL) ermöglicht es einem großen Sprachmodell (LLM), Aufgaben durchzuführen, indem der Kontext ohne zusätzliches Training oder Feinabstimmung interpretiert wird. Dieser Ansatz unterscheidet sich signifikant von früheren Methoden, bei denen Modelle mit riesigen Datensätzen explizit in einer bestimmten Aufgabe geschult wurden. Stattdessen nutzt ICL die vorgebildete Wissensbasis des Modells-ein umfassendes Verständnis, das sich während seiner anfänglichen umfangreichen Trainingsphase angesammelt hat.
Da die Token -Größe - oder die Datenmenge, die ein LLM in einer einzigen Instanz verarbeiten und generieren kann - dramatisch erhöht hat, ist der Wert von ICL noch bedeutender geworden. Diese Erhöhung der Tokengröße ermöglicht es LLMs, längere und komplexere Eingänge und Ausgänge zu verarbeiten, was ihre Fähigkeit verbessert, ausgefeilte Text zu verstehen und zu erzeugen.
In-Context Learning (ICL) fordert ein großes Sprachmodell (LLM) bei der Ausführung von Aufgaben durch die Bereitstellung eines relevanten Kontextes innerhalb der Eingabeaufforderung. Diese Eingabeaufforderungen enthalten typischerweise Beispiele, Anweisungen oder Muster, die dem Modell helfen, zu verstehen, wie geeignete Antworten generiert werden. Hier sind einige Eigenschaften und Beispiele für ICL -Eingabeaufforderungen:
Beiträge zu diesem Projekt sind willkommen. Bitte geben Sie das Repository aus und senden Sie eine Pull -Anfrage mit Ihren Änderungen oder Verbesserungen.
Dieses Projekt ist unter der MIT -Lizenz lizenziert - Einzelheiten finden Sie in der Lizenzdatei.