LLM-Prepare는 복잡한 프로젝트 디렉토리 구조 및 파일을 단일 플랫 파일 또는 플랫 파일 세트로 변환하여 컨텍스트 내 학습 (ICL) 프롬프트를 사용하여 처리를 용이하게합니다.
이 node.js 도구는 제공된 인수 (적어도 디렉토리)를 기반으로 프로젝트 디렉토리를 재귀 적으로 스캔합니다. 모든 디렉토리와 일치하는 파일을 포함하는 단순화 된 레이아웃보기를 생성합니다. 또한이 레이아웃보기를 전체 프로젝트의 집계 된 텍스트 내용과 결합합니다. 기본적으로 집계 된 파일 컨텐츠는 주석과 불필요한 공백을 제거합니다. 이 도구는 출력 압축을 지원하여 토큰 사용을 줄이고 출력을 청킹하여 대규모 프로젝트를 처리 할 수 있습니다. 예제 프롬프트가지도를 위해 포함됩니다.
ICL (Context Learning)을 통해 모델은 프롬프트 내에서 제공된 컨텍스트를 해석하여 작업을 수행 할 수 있으므로 추가 교육 또는 미세 조정이 필요하지 않습니다.
텍스트 내 학습 (ICL)에 대해 자세히 알아보십시오.
--config 옵션을 사용하여 사전 정의 된 인수 및 포함 경로가 포함 된 JSON 구성 파일을로드하십시오. .ignore 파일을 자동으로 존중합니다.CREATE TABLE 문을 생성하십시오.fs 모듈의 확장으로 추가 방법 및 약속 지원을 제공합니다..gitignore 와 유사한 .ignore 파일을 처리하는 데 사용됩니다.yargs 위한 유틸리티 방법을 제공합니다. 설치하기 전에 시스템에 Node.js 및 NPM (Node Package Manager)이 설치되어 있는지 확인하십시오. 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 플랫폼 모두에서 AS-IS 작동해야합니다.
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 에 출력합니다. 파일 이름은 Path-Name 변수의 최상위 디렉토리를 기반으로 자동 생성됩니다.
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이 효과적인 대안-거래 시간 비용을 추론 시간 계산을위한 효과적인 대안-거래 시간 비용임을 시사합니다. 매우 긴 모델 컨텍스트 기간을 사용하는 효과와 효율성은 많은 작업을위한 강력한 도구가 될 것입니다."
- 거대한 프롬프트는 LLM의 미세 조정 능력을 능가 할 수 있다고 연구원들은
ICL (Context Learning)을 사용하면 LLM (Lange Language Model)이 추가 교육이나 미세 조정없이 프롬프트 내에서 제공된 컨텍스트를 해석하여 작업을 수행 할 수 있습니다. 이 접근법은 광대 한 데이터 세트를 사용하여 모델이 특정 작업에 대해 명시 적으로 교육 된 이전 방법과 크게 다릅니다. 대신 ICL은 모델의 미리 훈련 된 지식 기반을 활용합니다. 이는 초기 광범위한 교육 단계에서 축적 된 포괄적 인 이해입니다.
토큰 크기 또는 LLM이 단일 인스턴스에서 처리하고 생성 할 수있는 데이터의 양이 크게 증가함에 따라 ICL의 값이 훨씬 더 중요해졌습니다. 이러한 토큰 크기가 증가하면 LLM이 더 길고 복잡한 입력 및 출력을 처리하여 정교한 텍스트를 이해하고 생성하는 능력을 향상시킵니다.
ICL (Context Learning) 프롬프트는 입력 프롬프트 내에서 관련 컨텍스트를 제공하여 작업을 수행 할 때 LLM (Lange Language Model)을 안내합니다. 이러한 프롬프트에는 일반적으로 모델이 적절한 응답을 생성하는 방법을 이해하는 데 도움이되는 예제, 지침 또는 패턴이 포함됩니다. ICL 프롬프트의 몇 가지 특성과 예는 다음과 같습니다.
이 프로젝트에 대한 기여를 환영합니다. 저장소를 포크하고 변경 또는 개선 사항으로 풀 요청을 제출하십시오.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.