이 프로젝트는 유전자 알고리즘과 기계 학습 기술을 사용하여 AI 프롬프트를 최적화하기위한 자동화 된 시스템을 구현합니다. LLM 프롬프트를 발전시키고 개선하도록 설계되었습니다. 이 repo의 예는 AI 중심 재고 심사에 중점을 둡니다.
그것에 대해 자세히 알아보십시오.
이 프레임 워크를 사용하여 프롬프트를 최적화하면 비용이 많이들 수 있습니다! 나는 발생한 비용에 대해 책임을지지 않습니다. 비용이 고려 사항이라면 최적화를 위해 Ollama와 같은 로컬 LLM을 사용하십시오.
최적화 된 프롬프트의 결과를 보려면 nexustrade.io를 확인하십시오. Nexustrade는 AI 기반 자동 거래 및 투자 플랫폼으로 사용자가 알고리즘 거래 전략을 생성, 테스트, 최적화 및 배포 할 수 있습니다.
재고 스크리너를 사용하면 GroundTruths 디렉토리 내의 질문을 다음을 포함하여 다음을 요청할 수 있습니다.
기술적 또는 기본 데이터에 대한 질문이라면 Nexustrade의 AI 재고 스크리너가 대답 할 수 있습니다. 오늘 무료로 시도하십시오!
이 프로젝트를 운영하기 전에 다음과 같은 전제 조건이 설정되어 있는지 확인하십시오.
node.js : node.js가 설치되어 있는지 확인하십시오. nodejs.org에서 다운로드 할 수 있습니다.
inputs.ts
: inputs.ts
파일을 다음 형식으로 생성하고 채우십시오.
const inputs = [
{
text : "<Question to ask the model>" ,
foldername : "foldername_for_the_input_output" ,
} ,
] ;
export default inputs ;
additionalSystemPrompts.ts
: additionalSystemPrompts.ts
파일을 생성하고 채우십시오. const additionalSystemPrompts = [
"System Prompt 1" ,
"System Prompt 2" ,
"System Prompt 3" ,
"System Prompt 4" ,
"System Prompt 5" ,
] ;
export default additionalSystemPrompts ;
.env
파일을 작성하고 다음 환경 변수를 추가하십시오. ANTHROPIC_API_KEY=your_anthropic_api_key
OPENAI_API_KEY=your_openai_api_key
OLLAMA_SERVICE_URL=http://localhost:11434
GOOGLE_APPLICATION_CREDENTIALS_JSON=path_to_your_google_application_credentials_json
CLOUD_DB=your_cloud_db_connection_string
LOCAL_DB=your_local_db_connection_string
MODEL_NAME=your_model_name
your_anthropic_api_key
, your_openai_api_key
, path_to_your_google_application_credentials_json
, your_cloud_db_connection_string
, your_local_db_connection_string
및 실제 API 키를 사용한 your_model_name
, your_model_name, your_model_name을 대체하십시오. 이름. MODEL_NAME
환경 변수를 설정하여 모델을 Ollama의 오픈 소스 모델 또는 Anthropic의 Open-Source 모델로 변경할 수 있습니다.
로컬 DB의 경우 다음과 같이 채울 수 있습니다.
LOCAL_DB="mongodb://127.0.0.1:27017/promptoptimizer"
기본적으로 시스템은 process.env.LOCAL_DB
에 지정된 로컬 데이터베이스를 사용합니다. 클라우드 데이터베이스를 사용하려면 process.env.CLOUD_DB
가 채워지고 필요에 따라 사용하도록 코드를 수정하십시오.
필요한 node.js 종속성을 설치하려면 프로젝트의 루트 디렉토리에서 다음 명령을 실행하십시오.
npm install
TypeScript 파일을 직접 실행하려면 ts-node
설치해야합니다. 다음 명령을 사용하여 전체적으로 설치할 수 있습니다.
npm install -g ts-node
또는 프로젝트에 DEV 종속성으로 추가 할 수 있습니다.
npm install --save-dev ts-node
필요한 파이썬 종속성을 설치하려면 Python을 설치 한 다음 프로젝트의 루트 디렉토리에서 다음 명령을 실행하십시오.
pip install -r requirements.txt
다음 Python 패키지를 설치합니다.
matplotlib
seaborn
pandas
MongoDB를 로컬로 설치하려면 다음 단계를 따르십시오.
MongoDB 다운로드 : MongoDB 다운로드 센터로 이동하여 운영 체제의 MongoDB 커뮤니티 서버를 다운로드하십시오.
MongoDB 설치 :
.msi
설치 프로그램을 실행하고 설치 지침을 따르십시오.brew tap mongodb/brew
brew install [email protected]
mongod
실행하여 수동으로 시작할 수 있습니다.brew services start mongodb/brew/mongodb-community
sudo systemctl start mongod
mongo
MongoDB 쉘을 열어야하며 MongoDB가 올바르게 설치되어 실행 중임을 나타냅니다.
원하는 동작을 향해 모델을 조종하려면 모델이 광범위한 입력에 응답하기를 원하는 방법을 정확히 알아야합니다. 이를 위해서는 모델을 이해하려는 파일 이름 및 입력으로 파일 input.ts
업데이트합니다. 그런 다음 스크립트 populateGroundTruth.ts
실행합니다. 이 스크립트를 사용하면 반자동이 된 방식으로 근거 진실을 만들 수 있습니다.
일부 방법 (예 : 큰 언어 모델)을 사용하려면 원하는 출력에 출력이 얼마나 가까운 지 정량화 할 수 있어야합니다. 리포 내에서 LLM 기반 "프롬프트 평가자"를 사용하여이를 수행 할 수 있습니다. "프롬프트 평가자"는 모델의 출력과 예상 출력을 취하고 점수를 반환합니다.
Ollama를 OpenAI의 대안으로 사용하려면 다음을 수행하십시오.
Ollama 다운로드 : Ollama.com/download로 이동하여 운영 체제에 적합한 버전을 다운로드하십시오.
모델 다운로드 : Ollama.com/library/llama3.1을 방문하여 사용하려는 모델을 다운로드하십시오.
환경 변수 설정 : .env
파일에서 다음 환경 변수를 설정하십시오.
OLLAMA_SERVICE_URL=http://localhost:11434
ANTHROPIC_API_KEY
가있는 경우 신속하게 최적화를 위해 Anthropic을 사용할 수 있습니다.
TypeScript 스크립트를 실행하려면 ts-node
사용할 수 있습니다. 위에서 설명한대로 ts-node
설치 한 다음 다음 명령을 실행하십시오.
ts-node main.ts
또는 TypeScript 코드를 JavaScript로 컴파일 한 다음 Node.js를 사용하여 실행할 수 있습니다.
tsc
node dist/main.js
세대에 걸쳐 교육 및 검증 체력을 시각화하려면 Python Script graph.py
사용할 수 있습니다. 이 스크립트는 그래프를 생성하므로 시간이 지남에 따라 프롬프트의 성능이 어떻게 변경되는지 확인할 수 있습니다. 스크립트를 실행하려면 다음 명령을 사용하십시오.
python graph.py
이 지침을 따르면 임의의 프롬프트를 최적화하고 성능을 정량화하며 시간이 지남에 따라 개선 방법을 시각화 할 수 있습니다.