Промт инжиниринг - страница 7
Понедельник: 2 чашки
Вторник: 1 чашка
Среда: 2 чашки
Четверг: 3 чашки
Сегодня четверг. Исходя из предоставленных данных, оцени, сколько чашек кофе я, скорее всего, выпил этим утром.
Теперь модель может ответить, используя переданные данные. Она больше не ограничена отсутствием знаний о вашем утре, потому что вы сами предоставили ей нужную информацию.
Применение в работе с внутренними данными
Этот метод можно применять для любых данных. Например, если у вас есть конфиденциальные документы, с которыми вы хотите работать, вы можете (при условии, что это безопасно) включить их текст в начало промта и сказать:
Вот информация, которую ты не знал. Теперь ответь на мой вопрос, основываясь на этих данных.
Использование промптов для введения новой информации играет важную роль в развитии языковых моделей. В будущем многие приложения будут основываться на:
Поиске информации в базах данных
Интеграции найденных данных в промт
Генерации ответа с учётом этих данных
Пример: влияние скрытого контекста
Также важно предоставлять модели достаточно информации для корректных рассуждений. Она не может видеть окружающий мир и не знает вашего контекста. Поэтому если в ваших данных есть скрытые допущения, они тоже должны быть включены в промт.
Например
У меня есть умная кофе-машина, которая автоматически варит кофе каждое утро в 7:00. Если я не отменяю таймер, она всегда готовит кофе.
Теперь, если вы зададите вопрос:
Сколько чашек кофе я выпил сегодня утром?
модель сможет учесть, что кофе был сварен автоматически, и сделать соответствующий вывод.
Вывод
Ключевой принцип таков: если языковая модель не знает чего-то, что важно для вашего запроса, просто добавьте эту информацию в промт. Мы не переобучаем модель, не меняем её алгоритмы, а просто даём ей новые данные для обработки. Это основной метод расширения возможностей языковых моделей в работе с новыми знаниями.
Ограничение длины промта
Очень важно понимать, что промт – это, по сути, ввод, который мы даём модели, и у нас есть ограничение на размер промта, который мы можем создать. Мы не можем создать промт неограниченного размера. Каждая большая языковая модель имеет фундаментальное ограничение на объём информации, который мы можем передать ей за один раз.
Это важный момент, который нужно учитывать при проектировании промтов. Сейчас я покажу вам быстрый пример на ChatGPT. Я вставлю статью из Википедии, связанную с устройством фотосинтеза у растений. Я вставил огромное количество текста из этой статьи. Что ответил ChatGPT?
Сообщение, которое вы отправили, было слишком длинным. Пожалуйста, перезагрузите разговор и отправьте что-то покороче.
Этот пример демонстрирует важный принцип: мы не можем просто передавать модели неограниченное количество информации.
Теперь, если вернуться к ранее обсуждавшимся аспектам промтов, один из способов использования промта – это введение новой информации, которой у ChatGPT или другой языковой модели не было во время обучения. Если мы хотим предоставить новую информацию, мы должны учитывать, что существует ограничение на её объём.
Допустим, у нас есть новые данные, которые мы хотели бы передать ChatGPT. Мы не можем просто вставить всё подряд и сказать: «Теперь рассуждай об этом». Это не так работает. Наша задача как пользователей – отбирать и использовать только ту информацию, которая действительно необходима для выполнения поставленной задачи. Мы не можем просто взять и загрузить в модель всё, что найдём, и ожидать, что она сама разберётся.