Прибыль:
- Понимание логики генерации знаний (RAG) и того, почему она уменьшает галлюцинации
- Возможность получить ответ модели с цитированием, основываясь только на предоставленных исходных документах.
- Возможность управлять вопросами, которых нет в источнике, путем их безопасной передачи, без составления вопросов.
Языковая модель «знает» многое, но она не знает сегодняшнюю политику возврата вашей компании, текущий прайс-лист или соглашение о доставке, которое изменилось вчера. Хуже того, когда он не знает, то часто выдумывает и пишет крайне уверенным тоном. Это фатальный недостаток в обслуживании клиентов: в модели указано «Возврат средств осуществляется в течение 30 дней», тогда как срок действия вашего полиса может составлять 14 дней. Подход, закрывающий этот пробел, называется RAG: Retrival-Augmented Generation, то есть «производство, дополненное поиском».
Идея проста: модель отвечает на вопрос не по памяти, а на основе правильных исходных документов, находящихся перед ней в данный момент. Сначала правильная часть документа, имеющая отношение к вопросу, — это «извлечение», затем модель «генерирует» ответ только на основе этой части. В этом модуле вы поймете логику RAG и узнаете, как обуздать модель, чтобы она придерживалась только проверенного источника, который вы предоставляете.
Примечание. В этом модуле изучаются рабочая логика и подсказки RAG. Системы автоматического поиска документов масштаба предприятия (векторная база данных и т. д.) требуют технической установки; Дисциплина здесь является основой для правильной реакции этой системы.
Почему RAG уменьшает галлюцинации?
Галлюцинация — это когда модель выдает нереальную информацию, как если бы она была реальной. Модель запрограммирована на выработку реакции, которая кажется «возможной», когда она видит пробел; Не знает, правда это или нет. RAG заполняет этот пробел: вы даете модели актуальный текст вместе с вопросом и говорите: «Ответ только отсюда». Таким образом, модель не «должна» подходить.
Есть три компонента:
- База знаний: надежные тексты, такие как часто задаваемые вопросы, политические документы, руководства по продуктам, прайс-листы.
- Поиск: поиск фрагмента документа, содержащего ответ на вопрос, и передача его модели.
- Ограниченная серия: модель ответит ценой только на поставляемую деталь.
Шаг за шагом: правдивый ответ источнику
- Подготовьте исходник. Найдите текст, на котором будет основан ответ (политика, FAQ) в понятном и актуальном формате.
- Вставьте источник в подсказку. Поместите текст в тег типа <source>.
- Напишите правило лояльности. «Используйте только информацию из источника; не отклоняйтесь от источника».
- Сделайте ссылку обязательной. Пусть он/она укажет, на каком разделе основан ответ.
- Определите нересурсное поведение. Если ответа нет в источнике, пусть скажет «У меня нет этой информации» и передаст дальше.
- Проверять. Подтвердите ответ, сравнив его с исходным предложением, на котором он основан.
Копируемые подсказки
Подсказка ответа на основе основного источника:
Роль: Вы помощник службы поддержки клиентов. Отвечайте на вопрос ТОЛЬКО на основе информации в блоке <source> ниже. Не добавляйте никакой информации, которой нет в источнике, не догадывайтесь и не отвечайте на основе ваших общих знаний. Добавьте раздел, на который вы полагаетесь, в конце своего ответа в формате «[Источник: ...]». Если ответа нет в источнике, напишите следующее: «Я не обладаю точной информацией по этому вопросу, передаю вас должностному лицу, которое сможет дать правильный ответ».
В случае нескольких источников будет предложено указать, на каком документе он основан:
Есть несколько ресурсов, пронумерованных ниже. Отвечая на вопрос, укажите номер источника, который вы использовали, например [Источник 2]. Если вам противоречит более одного источника, четко скажите об этом и укажите, что вам следует спросить, какой из них более актуален.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Вопрос: {{ customer_question }}
Подсказка, которая безопасно решает вопрос, не связанный с источником:
Если ответ на вопрос ЧАСТИЧНО найден в источнике: ответьте только на ту часть, которая раскрыта в источнике, а на оставшуюся часть скажите «этой детали нет в источнике». Никогда не заполняйте недостающую часть путем догадок.
Подсказка, которая переводит ответ на язык клиента, но сохраняет верность источнику:
Переведите официальное/техническое выражение в источнике на простой язык, понятный клиенту, но НЕ МЕНЯЙТЕ смысл и числовые значения (день, сумма, курс). Например, округление «14 календарных дней» до «около двух недель»; сохранить полную стоимость.
Слабая подсказка/Сильная подсказка
Слабая подсказка
Мощная подсказка
«Расскажите нам о нашей политике возврата»
Встраивает исходный код + «ответить только здесь» + запрашивает цитату
Ответ по памяти модели (может неправильно)
Ответ из текущего документа
Если этого нет в источнике, он это выдумывает.
Он говорит: «У меня нет этой информации» и передает ее дальше.
Может округлять и искажать числа
Точно поддерживает день/сумму/ставку
Разница в том, что сильная подсказка дает модели привязку (исходный текст) и запрет (исход из исходного текста). Модель больше говорит не по памяти, а из реальности перед собой.
Три мини-кейса
Случай 1. Старая политическая ловушка. «Возврат принимается в течение 30 дней», — сообщил бот одного магазина, работая без кредита; Однако компания сократила срок до 14 дней. Когда обновленный текст политики добавляется в источник при установке RAG, бот теперь отвечает «14 календарных дней [Источник: Политика возврата, статья 2]». Споры о возврате средств, возникающие из-за ложных обещаний, были сброшены.
Случай 2 — Уловить противоречие. Клиент спросил о стоимости доставки. Как старые, так и новые прайс-листы были введены в систему в качестве источников. Благодаря подсказке из нескольких источников модель сказала: «Два источника дают разные цены (49 турецких лир и 59 турецких лир); мне нужно подтвердить текущую» и передала проблему человеку. Вместо того, чтобы сообщить клиенту неверную сумму, он честно сообщил о неопределенности.
Случай 3. Наказание за частичное реагирование. «Отправляете ли вы товар за границу и кто платит таможенную пошлину?» В вопросе источник лишь сообщил, что отгрузка была осуществлена, о том, кто заплатил налог, ничего не говорилось. Модель сказала: «Да, доставка осуществляется за границу [Источник: Cargo FAQ]. Однако в этом документе не указано, кто платит таможенную пошлину; я передаю вас чиновнику, чтобы он это разъяснил». Вместо полуправдивого, полусфабрикованного ответа он дал честный и уверенный результат.
Совет: Сохраняйте самую актуальную и единственную версию своей базы знаний. Наличие одной и той же информации (например, периода возврата), записанной по-разному в трех отдельных документах, является самым большим врагом RAG; Модель реагирует по-разному в зависимости от того, на что она смотрит. Сначала выполните дедупликацию документов, а затем автоматизируйте их.
Проверка: не расслабляйтесь только потому, что источник существует
ТРЯП значительно уменьшает галлюцинации, но не сбрасывает их. Иногда модель может неправильно истолковать источник, перепутав два предложения или сделав «вывод», которого нет в источнике. Вот почему требование цитирования имеет решающее значение: откройте раздел, на котором якобы основан ответ, и проверьте, действительно ли там так сказано. Этот контроль не подлежит обсуждению, особенно в ответах, содержащих числа (день, сумма, ставка) и условия (исключение, условие).
Внимание: если сам источник неправильный или устаревший, RAG добросовестно повторяет эту ошибку. Сказать «модель говорит из источника» не означает «модель говорит правильно»; Вы несете ответственность за актуальность и точность вашего источника.
Поддержание базы знаний в готовности к реагированию
Качество RAG во многом зависит от того, как написан исходный текст. Модель дает гораздо более точный ответ, чем хорошо структурированные, озаглавленные, однотемные тексты. Практический совет: пишите свою политику в коротких разделах с заголовками, а не в длинных вложенных абзацах; Пусть каждый раздел отвечает на один вопрос («Сколько дней составляет срок возврата?», «Какие товары нельзя вернуть?»). Сохранение часто задаваемых вопросов (FAQ) в формате вопросов и ответов облегчает модели поиск нужной детали. Указывайте такие значения, как дата, сумма и курс, четко и в одном месте в тексте; Написание одного и того же числа по-разному в разных разделах запутывает модель.
Еще одна важная привычка — поддерживать базу знаний. Политика, цены и рекламные акции различаются; Если исходник не обновляется, модель продолжает благополучно повторять старую истину. При каждом изменении политики обновляйте источник и повторно задавайте модели несколько тестовых вопросов по измененной теме, чтобы убедиться, что она дает правильный ответ. Это небольшое, но регулярное техническое обслуживание не дает системе RAG «тихо выйти из строя» с течением времени.
Распространенные ошибки
- Сказать «объясните нашу политику», не скрывая источник и полагаясь на запоминание модели.
- Отсутствие определения границы «только ответ от источника» и поведения, не связанного с источником.
- Не запрашивать цитату/ссылку на источник и оставлять ответ непроверяемым.
- Хранение конфликтующих версий одной и той же информации в нескольких документах базы знаний.
- Разрешение модели округлять/интерпретировать числовые значения.
- Забывание обновить источник, в результате чего модель точно повторяет старую информацию.
В заключение
- RAG означает, что модель выдает ответ из текущего исходного документа, а не из памяти.
- Самый практичный способ уменьшить галлюцинации: закопать источник, сказать «отвечать только здесь», попросить ссылку.
- Если ответа нет в источнике, модель не подходит; Он должен сказать: «У меня этого нет» и передать.
- Сообщите модели о конфликтующих источниках; Числовые значения вы сохранили в точности.
- Точность RAG зависит от своевременности вашего источника; Всегда подтверждайте предложение.
Задача приложения
Возьмите актуальный текст политики (возврат, доставка или членство) вашего собственного бизнеса и вставьте его в качестве источника в базовое приглашение RAG выше. Затем задайте три вопроса: (1) вопрос, ответ на который ясен в источнике, (2) вопрос, ответа на который вообще нет в источнике, (3) вопрос, ответ на который в источнике лишь неполный. Убедитесь, что модель отвечает правильно, говорит «У меня этого нет» и честно отмечает частичный ответ и пропущенный ответ соответственно. Исправьте девиантное поведение, усилив в подсказке правила лояльности и нересурсности.
контрольный список
- [ ] Я встроил в подсказку текущий источник, на основе которого будет основан ответ.
- [ ] Я добавил правило «Только ответ от источника, не выходите за рамки».
- [ ] Я указал ссылку на источник/цитирование.
- [ ] Я определил поведение делегирования, если ответ недоступен в источнике.
- [ ] Я потребовал, чтобы числовые значения сохранялись точно.
- [ ] Я подтвердил ответ из исходного предложения, на котором он основан.