Этот проект реализует автоматизированную систему для оптимизации подсказок ИИ с использованием генетических алгоритмов и методов машинного обучения. Он предназначен для развития и улучшения любой подсказки LLM. Пример в этом репо сфокусирован на скрининге запасов.
Узнайте больше об этом здесь.
Оптимизация подсказок с использованием этой структуры может быть очень дорогим! Я не принимаю ответственности за любые понесенные расходы. Если стоимость является соображением, пожалуйста, используйте местные LLM, такие как Ollama для оптимизации.
Чтобы увидеть результаты оптимизированной подсказки, ознакомьтесь с nexustrade.io. Nexustrade-это автоматизированная торговая и инвестиционная платформа с AI, которая позволяет пользователям создавать, тестировать, оптимизировать и развернуть алгоритмические стратегии торговли.
С помощью скрининга запаса вы можете задать любой из вопросов в каталоге GroundTruths, включая:
Любой вопрос о технических или фундаментальных данных, сценарист AI от Nexustrade может ответить. Попробуйте сегодня бесплатно!
Прежде чем запустить этот проект, убедитесь, что у вас установлены следующие предпосылки:
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 и your_model_name с вашим фактическим api -keys, к вашему применению Google, и Your_model_name с вашим фактическим api -keys, к вашему применению Google, и вашему обращению, и вашему обращению, и вашим имя. Вы можете изменить модель на модель с открытым исходным кодом от Ollama или одну из Anpropic, установив переменную среды MODEL_NAME .
Для местного 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:
matplotlibseabornpandasЧтобы установить MongoDB локально, следуйте этим шагам:
Загрузите MongoDB : перейдите в центр загрузки MongoDB и загрузите сервер сообщества MongoDB для вашей операционной системы.
Установите MongoDB :
.msi и следуйте инструкциям по установке.brew tap mongodb/brew
brew install [email protected]mongod в командной строке.brew services start mongodb/brew/mongodb-communitysudo systemctl start mongodmongoЭто должно открыть оболочку 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 , вы можете альтернативно использовать Anpropic для быстрого оптимизации.
Чтобы запустить сценарий TypeScript, вы можете использовать ts-node . Убедитесь, что у вас установлен ts-node , как описано выше, и затем запустите следующую команду:
ts-node main.tsВ качестве альтернативы, вы можете скомпилировать код TypeScript в JavaScript, а затем запустить его с помощью node.js:
tscnode dist/main.js Чтобы визуализировать подготовку к обучению и валидации в течение поколений, вы можете использовать сценарий Python graph.py . Этот скрипт генерирует графики, чтобы вы могли видеть, как изменилась производительность вашей подсказки с течением времени. Чтобы запустить скрипт, используйте следующую команду:
python graph.pyСледуя этим инструкциям, вы сможете оптимизировать любую произвольную подсказку, количественно оценить его производительность и визуализировать, как она улучшается с течением времени.