Auto Prompt — это инструмент, предназначенный для улучшения и доработки вашего приложения в соответствии с реальными сценариями использования.。
Рамка автоматически генерирует высококачественные, подробные инамекаты с учетом намерений пользователя. Он использует процесс уточнения (калибровки).,Итеративно создавайте сложный набор крайних случаев и реагируйте соответствующим образом. Этот метод не только снижает нагрузку на ручной труд в проекте.,И эффективно решал общие проблемы,Напримернамекатьчувствительность
иуникальныйизнамекатьдвусмысленность
вопрос。
Наша миссия:Используйте большие языковые модели(LLMs)изсила,Пользователи имеют возможность генерировать высококачественные и надежные изнамекать.
•намекать Инженерный вызов:LLMs из Качество во многом зависит отиспользоватьизнамекать。даже крошечныйиз Изменения также могут существенно повлиять на них.изпроизводительность。•Задача сравнительного анализа:для уровня производстванамекать Создание эталонов часто является трудоемким и отнимает много времени.。•Надежный:Auto Prompt Генерировать надежные и качественные намекать,использоватьнаименееизданныеи Комментарийшаг Обеспечить точностьипроизводительностьпродвигать。•Модульность и адаптируемость:Auto Prompt Благодаря модульности по своей сути, его можно использовать с LangChain、Wandb и Argilla Он легко интегрируется с другим популярным программным обеспечением с открытым исходным кодом и может использоваться для различных задач, включая синтез и миграцию.
Система, разработанная для реальных сценариев,Например, задачи аудита,Эти задачи часто подвержены дисбалансу.данныераспределенныйизиспытание。Система реализованаНа основании намерения изнамекать
Метод калибровки。процесс, предоставленный пользователемизисходныйнамекатьи Описание задачи начинается,При необходимости включите примеры пользователей。Процесс уточнения итеративно генерирует разнообразные выборки.、по пользователю/LLM Аннотируйте их и оцените намекать производительность, после LLM Предлагал бы улучшение изнамекать.
Сначала разработав рейтинг, намекать,Затем используйте эти знания для проведения ранжирования, намекать на оптимизацию.,Процесс оптимизации можно распространить на задачи генерации контента. оптимизация заканчивается при достижении бюджета или лимита итераций.
Этот метод совместного синтеза данных генерирует оптимизацию, требующую минимального количества итераций, выполняемых одновременно.,Лучше, чем традиционные методы。в насизбумага《На основании намерения изнамекатькалибровка:Улучшено за счет объединения краевых случаевнамекатьоптимизация
》(E. Levi и др., 2024), чтобы узнать больше.
использовать GPT-4 Турбо, эта оптимизация обычно выполняется за считанные минуты и стоит менее 1 Доллар。Чтобы управлять и GPT-4 LLM изжетониспользовать Связанныйизрасходы,рамка позволяет пользователям устанавливать ограничения бюджета на оптимизацию,Выражено в количестве токенов в долларах США.,Как показано здесь.
•Как установить (инструкция по установке)•пример намекатьоптимизации (вариант использования: классификация, генерация обзоров фильмов и обзор в чате)•Как это работает (объяснение конвейера)•Руководство по архитектуре (обзор основных компонентов)
•📝 Улучшите качество намекать с минимальным количеством изданных комментариев. •🛬 Предназначен для производственных сценариев использования, таких как модерация, классификация по нескольким меткам и создание контента. •⚙️ Обеспечивает плавную миграцию между версиями моделей и поставщиками LLM. •🎓 Поддержка намекать на экструзию. Объедините несколько правил в одно эффективное изнамекать.
git clone git@github.com:Eladlev/AutoPrompt.git
cd AutoPrompt
по твоемуиз Предпочтениеиспользовать Conda или pip。использовать Conda:
conda env create -f environment_dev.yml
conda activate AutoPrompt
использовать pip:
pip install -r requirements.txt
Обновив файл конфигурации config/llm_env.yml
Настройте свой OpenAI API ключ.
Если вам нужно помочь найти свой ключ API, посетите эту ссылку [1].
Мы рекомендуем использовать OpenAI из GPT-4 как LLM. Мы также поддерживаем других поставщиков и модели с открытым исходным кодом, подробности можно найти здесь[2].
Выберите метод аннотации для своего проекта. Мы рекомендуем начать с подхода, основанного на цикле вовлечения человека. Аргилла. в соответствии с Argilla из Инструкции по установке Конфигурация вашего сервера. или вы можете следовать этим настройкам Конфигурацияшаг. LLM как ваш из аннотатора.
По умолчанию из предиктора LLM (для оценки производительности намекать) ГПТ-3.5) в config/config_default.yml
из predictor Частичная конфигурация.
использовать max_usage
Параметры входной конфигурации yaml Определите свой бюджет в файле. для OpenAI Модель,max_usage
Установите максимальную выплату в долларах США. для других LLM, который ограничивает максимальное количество токенов.
Во-первых, редактируя config/config_default.yml
Конфигурация и тэги:
dataset:
label_schema: ["Yes", "No"]
дляКлассификационный конвейер,Введите следующую команду в соответствующем рабочем каталоге и терминале:
> python run_pipeline.py
если нет прямого ответа, как входные данные предоставляют начальные намеки описание миссии,Вам будет предложено предоставить эти данные. или человек,Укажите их в качестве аргументов командной строки:
> python run_pipeline.py \
--prompt "Does this movie review contain a spoiler? answer Yes or No" \
--task_description "Assistant is an expert classifier that will classify a movie review, and let the user know if it contains a spoiler for the reviewed movie or not." \
--num_steps 30
Вы можете использовать W&B
Панель мониторинга отслеживает ход оптимизации, а инструкции по настройке можно найти здесь[3].
Создание конвейера Чтобы запустить Создание конвейера, используйте следующий пример команды:
> python run_generation_pipeline.py \
--prompt "Write a good and comprehensive movie review about a specific movie." \
--task_description "Assistant is a large language model that is tasked with writing movie reviews."
Для получения дополнительной информации обратитесь к нашему примеру задачи генерации [4].
наслаждайтесь результатами。завершить этишагсгенерирую для васиз Задача по индивидуальному заказуизРафинирование (калибровка) намекать,и тест, содержащий сложные образцы из,хранится по умолчаниюсвалка
в пути。
В процессе оптимизации,намекатьиз Точность может колебаться. Определить лучший намекать,Мы рекомендуем висходный После создания базовой линии продолжайтеизусовершенствовать。использовать --num_steps
Установите количество итераций оптимизации, указав его в разделе набора данных. max_samples
для контроля генерации выборки. Например, установите max_samples: 50
и --num_steps 30
Ограничьте контрольный показатель до 50 выборки, предполагая, что каждая итерация 10 образцы, разрешено 25 дополнительные итерации уточнения.
Рамка поддерживает контрольно-пропускной пункт,спасти от последнегоиз Легко восстановить статусоптимизация。Он автоматически обновит последнююизоптимизация Статус сохраняется всвалкав пути。использовать --output_dump
Установите этот путь и используйте --load_path
Восстановление с контрольно-пропускного пункта.
Итерация включает в себя LLM Служба вызывалась несколько раз, из них длинные намеки LLM Генерируется относительно много запросов токенов. Это может занять некоторое время (особенно в задачах сборки) примерно. 1 минут, пожалуйста, подождите терпеливо.
Если возникли проблемы с подключениями/ошибками сервера Argilla, попробуйте перезапустить пространство.
Вы написали намекать на выявление спойлеров к фильму:
Просмотрите предоставленный контент,и укажите, содержит ли он какие-либо важные сюжетные линии или ключевые моменты.,Они раскрывают ключевые моменты, которые могут раскрыть важные элементы истории и ее результат. если Содержит такие спойлерыили Ключевая информация,Пожалуйста, ответьте «Да»,если не раскрываются ключевые элементы истории,Пожалуйста, ответьте «Нет».
использовать GPT-4 LLM, это намекать на ваш бенчмарк 81. Затем вы внесли небольшую модификацию:
Просмотрите текст и определите, содержит ли он важные детали истории.,Эти подробности представляют собой спойлеры. Ибо спойлеры есть,Пожалуйста, ответьте «Да»,за их отсутствие,Пожалуйста, ответьте «Нет».
Удивительно, но второй намекать набрал 72 балла, точность снизилась на 11%. Это иллюстрирует необходимость тщательного изнамекания инженерного процесса.
Проект AutoPrompt предоставляется «как есть» без каких-либо явных или подразумеваемых гарантий любого рода.
Наше мнение по поводу намекатьоптимизациииспользоватьиз:
AutoPrompt Основная цель — уточнить и усовершенствовать намекать посредством итеративного процесса калибровки для достижения высококачественных результатов. Это помогает уменьшить количество ошибок и улучшить LLM изPerformance. Однако эта рамка не гарантирует абсолютно правильных или объективных результатов в каждом случае.
AutoPrompt предназначен для улучшениянамекатьизнадежность и смягчение последствийчувствительностьвопрос,Но он не претендует на полное устранение подобных проблем.
Эта статья переведена и систематизирована по адресу: https://github.com/Eladlev/AutoPrompt. Если она вам понравилась, поставьте лайк, подпишитесь и перешлите.
[1]
Эта ссылка: https://openai.com/api/keys
[2]
здесь: https://github.com/Eladlev/AutoPrompt
[3]
здесь: https://docs.wandb.ai/guides/track
[4]
Пример создания задач: https://github.com/Eladlev/AutoPrompt