Оптимизация результата модели с помощью инженерии подсказок
Подсказка
Дополнительные сведения см. на вкладке "Текст и изображения ".
Наиболее доступным способом оптимизации производительности модели является разработка запросов. Проектирование запросов — это процесс разработки и уточнения запросов на повышение качества, точности и релевантности ответов, генерируемых языковой моделью. Для этого не требуется дополнительная инфраструктура или обучающие данные, и вы можете сразу же начать экспериментировать.
Понимание компонентов запроса
При взаимодействии с языковой моделью качество вопроса напрямую влияет на качество ответа. Хорошо созданный запрос помогает модели понять, что вам нужно, и создать более полезный ответ.
Запросы для моделей завершения чата обычно включают следующие компоненты:
- Системное сообщение: инструкции, определяющие поведение модели, роль и ограничения.
- Сообщение пользователя: вопрос или ввод от пользователя.
- Сообщение помощника: предыдущие ответы модели, используемые в многопользовательских беседах.
- Примеры: примеры пар входных и выходных данных, демонстрирующие ожидаемый формат отклика.
Структура и объединение этих компонентов определяет, насколько эффективно модель реагирует.
Разработка эффективных системных сообщений
Системное сообщение — это набор инструкций, предоставляемых модели для управления ответами. Системные сообщения обычно появляются в беседе и действуют как набор инструкций верхнего уровня. Вы используете их для:
- Определите роль и границы помощника.
- Задайте тон и стиль общения.
- Укажите форматы выходных данных, такие как JSON или точки маркера.
- Добавьте ограничения безопасности и качества для вашего сценария.
Системное сообщение может быть таким же простым, как:
You are a helpful AI assistant.
Кроме того, он может включать подробные правила и требования к форматированию. Например, приложение чата агентства путешествий может использовать:
You are a friendly travel advisor for Margie's Travel.
Answer only questions related to travel, hotels, and trip planning.
Use a warm, conversational tone.
If you don't have enough information to answer, ask a clarifying question.
Format hotel recommendations as a bulleted list with the hotel name, location, and price range.
Это важно
Системное сообщение влияет на модель, но не гарантирует соответствие требованиям. Необходимо протестировать и вносить изменения в системные сообщения, а также комбинировать их с другими мерами, такими как фильтрация контента и оценка.
При разработке системного сообщения следуйте этому контрольным списку:
- Начните с роли помощника: укажите роль и ожидаемый результат для типичного запроса.
- Определите границы: список разделов, действий и типов контента помощнику следует избегать.
- Укажите выходной формат: если вам нужен определенный формат, оставьте его обычным образом и сохраните его согласованно.
- Add a "when unsure" policy: сообщите модели, что делать, когда запрос пользователя неоднозначен, вне области действия или когда модели не хватает информации.
Примените шаблоны запросов
Эффективные запросы используют шаблоны, помогающие модели создавать лучшие ответы. Ниже приведены некоторые распространенные шаблоны, которые можно использовать:
Образец Персоны
Указать модели принять определенную перспективу или роль. Например, просьба к модели отвечать как опытный специалист по маркетингу дает другие результаты по сравнению с отсутствием какой-либо персоны.
| Нет персоны | В режиме персонажа | |
|---|---|---|
| Системное сообщение | Нет | Вы опытный маркетинговый профессионал, пишущий для технических клиентов. |
| запрос пользователя | Опишите в одном предложении продукт CRM. | Опишите в одном предложении продукт CRM. |
| Ответ | Продукт CRM — это программное средство, предназначенное для управления взаимодействием компании с клиентами. | Простое управление отношениями с клиентами с помощью CRM, предназначенное для упрощения операций и повышения роста продаж с помощью надежной аналитики. |
Форматирование шаблона
Укажите шаблон или структуру в запросе на получение выходных данных в определенном формате. Например, если вам нужен структурированный ответ об отеле:
Format the result to show:
- Hotel name
- Location
- Star rating
- Price range per night
Этот шаблон обеспечивает согласованные упорядоченные ответы, которые легко проанализировать в приложении.
Шаблон цепочки мысли
Попросите модель объяснить свое рассуждение шаг за шагом. Этот метод, называемый цепочкой мысли, снижает вероятность неточных результатов и упрощает проверку логики модели.
Например, вместо запроса "Какой отель лучше всего подходит для семьи из четырех?", можно побудить:
Which hotel is best for a family of four? Take a step-by-step approach:
consider room size, amenities for children, location, and price.
Связанная методика заключается в том, чтобы разбить задачу на явные подэтапы , прежде чем модель отвечает, вместо того чтобы просить модель обдумать все сразу. Например, вы можете сначала попросить модель извлечь ключевые факты из текста, а затем в следующем запросе попросить её ответить на вопрос на основе этих фактов. Разложение работы таким образом уменьшает ошибки в сложных, многокомпонентных задачах.
Замечание
Цепочка размышлений как техника для моделей, не обладающих способностью к рассуждению. Пошаговые модели, такие как модели o-серии, обрабатывают пошаговую логику внутри системы.
Шаблон обучения с малым количеством примеров
Укажите один или несколько примеров требуемых входных и выходных данных, чтобы помочь модели определить нужный шаблон. Этот метод называется обучением с малым числом примеров (или обучением с одним примером для одного примера). Если примеры не указаны, это называется обучение с нуля .
Например, чтобы классифицировать запросы клиентов:
Classify the following customer messages:
Message: "I need to change my flight to Rome"
Category: Booking change
Message: "What's the weather like in Bali in March?"
Category: Travel information
Message: "Can I get a refund for my cancelled tour?"
Category:
Модель узнает шаблон классификации из примеров и правильно завершает последнюю запись.
Использование четкого синтаксиса и разделителей
Если запрос содержит несколько разделов, таких как инструкции, исходный текст и примеры, используйте разделители, такие как ---заголовки Markdown или XML-теги, чтобы разделить их. Четкие границы помогают модели различать инструкции от содержимого и уменьшать вероятность неправильной интерпретации.
Подсказка
Модели могут быть подвержены предвзятости, что означает, что текст ближе к концу запроса может иметь больше влияния, чем текст в начале. Если модель не соответствует вашим инструкциям последовательно, попробуйте повторить ключевую инструкцию в конце запроса.
Настройка параметров модели
Помимо текста запроса, можно настроить параметры модели, которые управляют тем, как модель создает ответы:
- Температура: управляет случайностью выходных данных. Более высокое значение (например, 0,7) создает более творческие и разнообразные ответы, в то время как более низкое значение (например, 0.2) создает более ориентированные и детерминированные ответы. Используйте более низкие значения для фактических задач и более высоких значений для творческих.
-
Top_p: также управляет случайностью, но по-другому. Она ограничивает модель подмножеством наиболее вероятных следующих маркеров. Например, значение
top_p0,9 означает, что модель рассматривает только первые 90% вероятных токенов.
Подсказка
Общая рекомендация заключается в настройке либо температуры, либо top_p, но не обоих одновременно.
Для сценария туристического агентства вы можете использовать низкую температуру (0,2) при ответе на фактические вопросы об удобствах отеля, но более высокая температура (0,7) при создании творческих предложений маршрута путешествий.
Когда разработка подсказок достаточна
Проектирование подсказок является правильной отправной точкой для любых усилий по оптимизации модели. Это эффективно, когда вам нужно:
- Руководите тоном, форматом и поведением модели.
- Укажите конкретные инструкции для задачи.
- Быстрое итерацию результатов без изменений инфраструктуры.
- Держите затраты на низком уровне, так как не требуется дополнительного обучения или хранения данных.
Однако инженерия запросов имеет ограничения. Если у модели нет access необходимых сведений (например, каталога отелей вашей компании) или если она постоянно не поддерживает определенное поведение, несмотря на подробные инструкции, необходимо рассмотреть дополнительные стратегии.