LLM-Prepare将复杂的项目目录结构和文件转换为单个平面文件或一组平面文件,从而促进了使用内在学习(ICL)提示的处理。
此NODE.JS工具根据提供的参数(至少一个目录)递归扫描项目目录。它生成了简化的布局视图,其中包括所有目录和匹配文件。此外,它将这种布局视图与整个项目的汇总文本内容结合在一起。默认情况下,汇总的文件内容被剥夺了注释和不必要的空格。该工具支持输出压缩以减少令牌使用,并可以通过分解输出来处理大型项目。包括示例提示以供指导。
内部文化学习(ICL)使模型能够通过解释提示中提供的上下文来执行任务,从而消除了需要进行其他培训或微调。
了解有关文章学习(ICL)的更多信息
--config选项加载包含预定义参数和包括的路径的JSON配置文件。 .ignore文件以排除特定的文件或目录。CREATE TABLE语句。fs模块的扩展,提供其他方法和承诺支持。.gitignore的.ignore文件。yargs提供实用方法。 在安装之前,请确保系统上安装了NODE.JS和NPM(节点软件包管理器)。您可以从node.js官方网站下载并安装node.js。
要安装和使用LLM-Prepare,请按照以下步骤:
克隆存储库:首先将包含llm prepare的存储库克隆到您的本地计算机。
git clone https://github.com/samestrin/llm-prepare/导航到项目的根目录并运行:
npm install要使系统上的任何位置提供LLM Prepare,您需要在全球安装它。您可以使用NPM执行此操作。
在项目目录中运行以下命令:
npm link这将为您的脚本创建一个全局符号链接。现在,您可以使用终端中任何地方的llm-prepare运行脚本。
提供的安装步骤应适用于MACOS和Linux平台。
对于Windows,请确保在安装过程中将Node.js添加到您的路径中。 npm link命令也应在Windows PowerShell或命令提示符中工作,使您可以在全球运行脚本。
要运行脚本,您需要提供一个强制性参数:项目目录的路径( --path-name或-p )。
这将处理指定的项目目录中的所有文件,尊重任何.ignore文件,并将合并的内容和结构输出到您的控制台。将文件模式默认为“*”
llm-prepare -p " /path/to/project "或者
llm-prepare --path " /path/to/project " 这将处理指定项目目录中的所有JavaScript文件,尊重任何.ignore文件,并将合并的内容和结构输出到您的控制台。
llm-prepare -p " /path/to/project " -f " *.js " 这将处理指定的项目目录中的所有文件,尊重任何.ignore文件,并将合并的内容和结构输出到output.txt 。
llm-prepare -p " /path/to/project " -o " output.txt "如果您不具体一个文件名,则将处理指定的项目目录中的所有文件,尊重任何.ignore文件,并输出project.txt的合并内容和结构。该文件名是根据路径名变量中的顶级目录自动生成的。
llm-prepare -p " /path/to/project " -o您可以选择设置llm_prepare_output_dir环境变量。如果设置了llm_prepare_output_dir环境变量,则输出文件将写入该目录。
如果您不想包含特定的文件或目录,则可以使用--custom-ignore-string指定规则。
llm-prepare -p " /path/to/project " -o --custom-ignore-string " *docs*,*test* " 如果您不想包含特定的文件或目录,则可以使用外部和--custom-ignore-filename指定规则。使用.gitignore文件格式。
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " 如果您不想包含特定的文件或目录,则可以使用外部和--custom-ignore-filename指定规则。使用.gitignore文件格式。
llm-prepare -p " /path/to/project " -o --custom-ignore-filename " /path/to/.ignorefile " 您可以使用JSON配置文件预先定义要包含在处理中的参数和路径。
示例config.json文件:
{
"args" : {
"output-filename" : " output.txt " ,
"compress" : true
},
"include" : [ " ./src/ " , " ./lib/ " ]
}用配置文件运行脚本:
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]“虽然使用完整数据集的芬口仍然是一个强大的选择,如果数据大大超过了上下文的长度,我们的结果表明,长篇小说ICL是一种有效的替代方案 - 增加推进时间计算的较高的交易登录时间成本。随着使用非常长的模型上下文长度的有效性和效率增加,我们相信长距离ICL将成为许多任务的强大工具。”
- 研究人员发现,很大的提示可以胜过LLM的微调
内部文化学习(ICL)允许大型语言模型(LLM)通过解释提示中提供的上下文而无需进行其他培训或微调来执行任务。这种方法与以前使用大量数据集对特定任务进行明确培训的模型的先前方法显着不同。取而代之的是,ICL利用该模型的预训练的知识库,这是在其最初广泛的培训阶段积累的全面理解。
由于令牌大小或LLM可以在单个实例中处理和生成的数据量显着增加,因此ICL的价值变得更加重要。令牌尺寸的增加使LLM可以处理更长,更复杂的输入和输出,从而增强其理解和生成复杂文本的能力。
在输入提示符中提供相关上下文,在执行任务中指导大型语言模型(LLM)提示指导大型语言模型(LLM)。这些提示通常包括示例,说明或模式,以帮助模型了解如何生成适当的响应。以下是ICL提示的一些特征和示例:
欢迎对该项目的贡献。请分配存储库,并提交带有更改或改进的拉动请求。
该项目是根据MIT许可证获得许可的 - 有关详细信息,请参见许可证文件。