LLM-Prepare convierte estructuras y archivos de directorio de proyectos complejos en un solo archivo plano o conjunto de archivos planos, facilitando el procesamiento utilizando las indicaciones de aprendizaje en contexto (ICL).
Esta herramienta Node.js escanea recursivamente un directorio de proyectos basado en argumentos proporcionados (al menos un directorio). Genera una vista de diseño simplificada que incluye todos los directorios y archivos coincidentes. Además, combina esta vista de diseño con el contenido de texto agregado de todo el proyecto. De manera predeterminada, el contenido de archivo agregado se despide de comentarios y espacio en blanco innecesario. La herramienta admite la compresión de salida para reducir el uso del token y puede manejar grandes proyectos fragmando la salida. Se incluyen indicaciones de ejemplo para la orientación.
El aprendizaje en contexto (ICL) permite que un modelo realice tareas interpretando el contexto proporcionado dentro de un aviso, eliminando la necesidad de capacitación adicional o ajuste fino.
Obtenga más información sobre el aprendizaje en contexto (ICL)
--config para cargar un archivo de configuración JSON que contiene argumentos y rutas predefinidas para incluir. .ignore para excluir archivos o directorios específicos.CREATE TABLE basada en su contenido CSV proporcionado.fs estándar, proporcionando métodos adicionales y soporte de promesa..ignore similares a .gitignore .yargs . Antes de instalar, asegúrese de tener Node.js y NPM (Node Package Manager) instalados en su sistema. Puede descargar e instalar Node.js desde el sitio web oficial de Node.js.
Para instalar y usar LLM-Prepare, siga estos pasos:
Clone El repositorio: comience clonando el repositorio que contiene el LLM-Prepare a su máquina local.
git clone https://github.com/samestrin/llm-prepare/Navegue al directorio raíz de su proyecto y ejecute:
npm installPara que LLM-Prepare esté disponible en cualquier ubicación de su sistema, debe instalarlo a nivel mundial. Puedes hacer esto usando NPM.
Ejecute el siguiente comando en el directorio de su proyecto:
npm link Esto creará un enlace simbólico global a su guión. Ahora, puede ejecutar el script usando llm-prepare desde cualquier lugar de su terminal.
Los pasos de instalación proporcionados deben funcionar como es para plataformas MacOS y Linux.
Para Windows, asegúrese de que Node.js se agregue a su ruta durante la instalación. El comando npm link también debe funcionar en Windows PowerShell o un símbolo del sistema, lo que le permite ejecutar el script a nivel mundial.
Para ejecutar el script, debe proporcionar un argumento obligatorio: la ruta al directorio del proyecto ( --path-name o -p ).
Esto procesará todos los archivos en el directorio de proyectos especificado, respetando cualquier archivo .ignore , y emitirá el contenido y la estructura consolidados a su consola. Predeterminado el patrón de archivo a "*"
llm-prepare -p " /path/to/project "o
llm-prepare --path " /path/to/project " Esto procesará todos los archivos JavaScript en el directorio de proyectos especificado, respetando cualquier archivo .ignore , y emitirá el contenido y la estructura consolidados a su consola.
llm-prepare -p " /path/to/project " -f " *.js " Esto procesará todos los archivos en el directorio de proyectos especificado, respetando cualquier archivo .ignore , y emitirá el contenido y la estructura consolidados a salida.txt .
llm-prepare -p " /path/to/project " -o " output.txt " Si no especificó un nombre de archivo, esto procesará todos los archivos en el directorio de proyectos especificado, respetando cualquier archivo .ignore y emitirá el contenido y la estructura consolidados a Project.txt . El nombre de archivo se genera automáticamente en función del directorio de nivel superior en la variable de nombre de ruta.
llm-prepare -p " /path/to/project " -oOpcionalmente, puede establecer la variable de entorno LLM_PREPARE_OUTPUT_DIR . Si se establece la variable de entorno LLM_PREPARE_OUTPUT_DIR, los archivos de salida se escriben en ese directorio.
Si no desea incluir archivos o directorios específicos, puede especificar las reglas utilizando --custom-ignore-string .
llm-prepare -p " /path/to/project " -o --custom-ignore-string " *docs*,*test* " Si no desea incluir archivos o directorios específicos, puede especificar las reglas utilizando un nombre externo y --custom-ignore-filename . Use el formato de archivo .Gitignore.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Si no desea incluir archivos o directorios específicos, puede especificar las reglas utilizando un nombre externo y --custom-ignore-filename . Use el formato de archivo .Gitignore.
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " Puede usar un archivo de configuración JSON para predefinir los argumentos y rutas para incluir en el procesamiento.
Ejemplo config.json archivo:
{
"args" : {
"output-filename" : " output.txt " ,
"compress" : true
},
"include" : [ " ./src/ " , " ./lib/ " ]
}Para ejecutar el script con un archivo de configuración:
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]"Si bien la sintonización con conjuntos de datos completos sigue siendo una opción poderosa si los datos exceden enormemente la longitud del contexto, nuestros resultados sugieren que la ICL de contexto largo es una alternativa efectiva: el costo de tiempo de ficha de tiempo de intercambio para un aumento de la inferencia de tiempo.
- Las indicaciones masivas pueden superar el ajuste fino para los LLM, los investigadores encuentran
El aprendizaje en contexto (ICL) permite que un modelo de lenguaje grande (LLM) realice tareas interpretando el contexto proporcionado dentro del indicador sin capacitación adicional o ajuste fino. Este enfoque difiere significativamente de los métodos anteriores donde los modelos fueron capacitados explícitamente en una tarea específica utilizando grandes conjuntos de datos. En cambio, ICL aprovecha la base de conocimiento previamente capacitada del modelo, una comprensión integral acumulada durante su fase de entrenamiento extensa inicial.
Como el tamaño del token, o la cantidad de datos que un LLM puede procesar y generar en una sola instancia, ha aumentado drásticamente, el valor de ICL se ha vuelto aún más significativo. Este aumento en el tamaño del token permite a LLM manejar entradas y salidas más largas y más complejas, lo que mejora su capacidad para comprender y generar texto sofisticado.
Los indicaciones de aprendizaje en contexto (ICL) guían un modelo de lenguaje grande (LLM) para realizar tareas al proporcionar un contexto relevante dentro del indicador de entrada. Estas indicaciones generalmente incluyen ejemplos, instrucciones o patrones que ayudan al modelo a comprender cómo generar respuestas apropiadas. Aquí hay algunas características y ejemplos de indicaciones de ICL:
Las contribuciones a este proyecto son bienvenidas. Haga la bifurcación del repositorio y envíe una solicitud de extracción con sus cambios o mejoras.
Este proyecto tiene licencia bajo la licencia MIT; consulte el archivo de licencia para obtener más detalles.