You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Prompt-Engineering-Guide/pages/introduction/basics.ru.mdx

114 lines
5.8 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Основы промптинга
## Основные промпты
Вы можете достичь многого с помощью простых промптов, но качество результатов зависит от того, сколько информации вы предоставляете и насколько хорошо он составлен. Промпт может содержать информацию, такую как *инструкция* или *вопрос*, который вы передаете модели, и включать другие детали, такие как *контекст*, *входные данные* или *примеры*. Вы можете использовать эти элементы, чтобы лучше указать модели, что от нее требуется, и в результате получить лучшие результаты.
Давайте начнем с примера простого промпта:
*Промпт*
```
The sky is
```
*Результат:*
```
blue
The sky is blue on a clear day. On a cloudy day, the sky may be gray or white.
```
Как видите, языковая модель выводит продолжение строк, которое имеет смысл в контексте `"The sky is"`. Результат может быть неожиданным или далеким от задачи, которую вы хотите выполнить.
Этот простой пример также подчеркивает необходимость предоставления большего контекста или инструкций о том, что именно вы хотите достичь.
Давайте попробуем немного улучшить его:
*Промпт:*
```
Complete the sentence:
The sky is
```
*Результат:*
```
so beautiful today.
```
Уже лучше, не так ли? Вы сказали модели завершить предложение, поэтому результат выглядит гораздо лучше, так как он точно следует вашей инструкции ("Complete the sentence"). Такой подход к проектированию оптимальных промптов для указания модели выполнения задачи называется **промпт инжинирингом**.
Приведенный выше пример - это базовая иллюстрация того, что сегодня возможно с помощью LLM (Large Language Models). Современные LLM могут выполнять самые разные задачи, начиная от суммирования текста и математического рассуждения, и заканчивая генерацией кода.
## Форматирование промптов
Вы попробовали очень простой промпт выше. Стандартный формат промпта имеет следующую структуру:
```
<Question>?
```
или
```
<Instruction>
```
Вы можете отформатировать его в формат вопроса и ответа (QA), который является стандартным для многих наборов данных QA, следующим образом:
```
Q: <Question>?
A:
```
При применении такого форматирования промпта это также называется *промптингом без примеров* (zero-shot prompting), то есть вы напрямую запрашиваете ответ у модели без предоставления каких-либо примеров или демонстраций задачи, которую вы хотите выполнить. Некоторые большие языковые модели имеют возможность выполнять промптинг без примеров, но это зависит от сложности и знания задачи.
Учитывая стандартный формат выше, одна популярная и эффективная техника промптинга называется *промптинг с несколькими примерами* (few-shot prompting), где вы предоставляете примеры (т.е. демонстрации). Вы можете отформатировать промпты с несколькими примерами следующим образом:
```
<Question>?
<Answer>
<Question>?
<Answer>
<Question>?
<Answer>
<Question>?
```
В версии в формате вопроса и ответа (QA) это будет выглядеть так:
```
Q: <Question>?
A: <Answer>
Q: <Question>?
A: <Answer>
Q: <Question>?
A: <Answer>
Q: <Question>?
A:
```
Имейте в виду, что использование формата вопроса и ответа (QA) не является обязательным. Формат промпта зависит от задачи. Например, вы можете выполнить простую задачу классификации и дать образцы, демонстрирующие задачу, следующим образом:
*Промпт:*
```
This is awesome! // Positive
This is bad! // Negative
Wow that movie was rad! // Positive
What a horrible show! //
```
*Результат:*
```
Negative
```
Промпты с несколькими примерами позволяют учиться в контексте, что означает, что языковые модели могут обучаться задачам на основе нескольких демонстраций.