одиниця 3 / 12

Створення відповідей із бази знань (Вступ до RAG)

Прибуток:

  • Розуміння логіки створення на основі знань (RAG) і чому воно зменшує галюцинації
  • Можливість змусити модель відповісти цитуванням лише на основі наданих вихідних документів
  • Можливість керувати питаннями, яких немає в джерелі, безпечно передаючи їх, не вигадуючи запитань

Мовна модель «знає» багато, але вона не знає поточної політики повернення вашої компанії, вашого поточного прайс-листа чи вашої угоди про доставку, яка змінилася вчора. Гірше того, коли він не знає, він часто вигадує і пише надзвичайно впевненим тоном. Це фатальна помилка в обслуговуванні клієнтів: модель говорить: «Повернення здійснюється протягом 30 днів», тоді як у вашій полісі може бути 14 днів. Підхід, який усуває цю прогалину, називається RAG: Retrieval-Augmented Generation, тобто «виробництво з доповненим пошуком».

Ідея проста: модель відповідає на запитання не на основі пам’яті, а з правильних вихідних документів, розміщених перед нею в цей момент. По-перше, правильна частина документа, що стосується запитання, є «витягом», потім модель «генерує» відповідь лише на основі цієї частини. У цьому розділі ви зрозумієте логіку RAG і дізнаєтесь, як контролювати модель, щоб вона дотримувалася лише перевіреного джерела, яке ви надаєте.

Примітка. Цей розділ вивчає робочу логіку та сторону підказок RAG. Системи автоматичного пошуку документів масштабу підприємства (векторна база даних тощо) вимагають технічного встановлення; Дисципліна тут є основою для правильної реакції цієї системи.

Чому RAG зменшує галюцинації?

Галюцинація - це коли модель видає нереальну інформацію, наче вона справжня. Модель запрограмована на створення відповіді, яка здається «можливою», коли вона бачить розрив; Не знає, правда це чи ні. RAG заповнює цю прогалину: ви надаєте моделі актуальний релевантний текст разом із запитанням і говорите «лише відповідь звідси». Таким чином модель не «потрібно» підганяти.

Є три компоненти:

  • База знань: надійні тексти, такі як поширені запитання, документи щодо політики, посібники з продуктів, прайс-листи.
  • Отримання: пошук фрагмента документа, що містить відповідь на запитання, і надання його моделі.
  • Обмежена серія: модель відповідає цитатою, яка базується лише на частині, що постачається.

Крок за кроком: вірна відповідь джерелу

  1. Підготуйте джерело. Знайдіть текст, на якому базуватиметься відповідь (політика, поширені запитання), у зрозумілому та актуальному форматі.
  2. Вставте джерело в підказку. Помістіть текст у такий тег, як <source>.
  3. Напишіть правило лояльності. «Використовуйте лише інформацію з джерела; не відходьте від джерела».
  4. Зробіть обов’язкове цитування. Нехай він/вона вкаже, на якому розділі ґрунтується відповідь.
  5. Визначте нересурсну поведінку. Якщо відповіді немає в джерелі, нехай скаже «у мене немає цієї інформації» і передає.
  6. Підтвердити. Підтвердіть відповідь, порівнявши її з вихідним реченням, на якому вона побудована.

Підказки, які можна копіювати

Підказка відповіді на основі основного джерела:

Роль: Ви помічник клієнтської підтримки. Дайте відповідь на запитання ТІЛЬКИ на основі інформації в блоці <джерело> нижче. Не додавайте жодної інформації, якої немає в джерелі, припускайте чи відповідайте на основі своїх загальних знань. Додайте розділ, на який ви спираєтесь, у кінці вашої відповіді у форматі «[Джерело: ...]». Якщо відповіді немає в джерелі, напишіть наступне: «У мене немає остаточної інформації з цього приводу, я пересилаю вас до офіційної особи, яка може дати правильну відповідь».<source>{{ policy_or_faq_text }}</source>Питання: {{ customer_question }}

У разі кількох джерел, підказка показати, на якому документі він заснований:

Існує кілька ресурсів, пронумерованих нижче. Відповідаючи на запитання, вкажіть номер джерела, яке ви використали, наприклад [Джерело 2]. Якщо кілька джерел суперечать вам, скажіть це чітко та вкажіть, що ви повинні запитати, яке з них є більш актуальним.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Запитання: {{ customer_question }}

Підказка, яка безпечно керує питанням, що не є джерелом:

Якщо відповідь на запитання ЧАСТКОВО міститься в джерелі: дайте відповідь лише на частину, охоплену джерелом, а для решти скажіть «цієї деталі немає в джерелі». Ніколи не заповнюйте пропущену частину, вгадуючи.

Підказка, яка перекладає відповідь на мову клієнта, але залишається вірною джерелу:

Перекладіть офіційний/технічний вираз у джерелі на зрозумілу клієнту мову, але НЕ змінюйте значення та числові значення (день, сума, курс). Наприклад, округлення «14 календарних днів» до «близько двох тижнів»; зберегти повну вартість.

Слабка підказка / Сильна підказка

Слабка підказка

Потужна підказка

«Розкажіть нам про нашу політику повернення»

Вбудоване джерело + "лише тут відповідати" + запити цитати

Відповідь по пам'яті моделі (можливо неправильна)

Відповідь із поточного документа

Якщо цього немає в джерелі, він це вигадує

Він каже: «Я не володію цією інформацією» і передає її далі.

Може округляти і спотворювати числа

Точно зберігає день/суму/ставку

Різниця полягає в тому, що сильна підказка дає моделі прив’язку (вихідний текст) і заборону (відхід від джерела). Модель більше не говорить з пам'яті, а з реальності перед ним.

Три міні-чохли

Випадок 1 — стара політична пастка. «Повернення приймається протягом 30 днів», — сказав бот одного магазину, працюючи без кредиту; Однак компанія скоротила термін до 14 днів. Коли оновлений текст політики додається до джерела в інсталяції RAG, бот тепер відповідає «14 календарних днів [Джерело: Політика повернення, стаття 2]». Спори про відшкодування, пов’язані з помилковими обіцянками, скинуто.

Випадок 2 — Вловлення протиріччя. Клієнт запитав про вартість доставки. Як вихідні в систему були введені як старий, так і новий прайс-листи. Завдяки підказці з кількох джерел модель сказала: «Два джерела надають різні ціни (49 TL і 59 TL); мені потрібно підтвердити поточну», і передала проблему людині. Замість того, щоб повідомити клієнту неправильну суму, він чесно повідомив про невизначеність.

Випадок 3 — Часткова дисциплінарна відповідь. «Ви відправляєте товар за кордон і хто сплачує мито?» У запитанні джерело лише повідомило, що відправка була здійснена, про те, хто сплатив податок, нічого не було. Модель сказала: «Так, доставка здійснюється за кордон [Джерело: Cargo FAQ]. Однак у цьому документі не вказано, хто сплачує митні збори; я передаю вас до офіційної особи, щоб уточнити це». Замість напівправдивої, напіввигаданої відповіді він дав чесний і впевнений результат.

Порада: зберігайте найновішу та єдину правдиву версію вашої бази знань. Наявність тієї самої інформації (наприклад, період повернення), написаної по-різному в трьох окремих документах, є найбільшим ворогом RAG; Модель реагує по-різному залежно від того, на кого вона дивиться. Спочатку видаліть дублікати своїх документів, а потім автоматизуйте їх.

Підтвердження: не розслабляйтеся лише тому, що джерело існує

RAG значно зменшує галюцинації, але не скидає їх. Модель іноді може неправильно інтерпретувати джерело, змішуючи два речення або роблячи «висновок», якого немає в джерелі. Ось чому вимога до цитування є критичною: відкрийте розділ, на якому нібито ґрунтується відповідь, і перевірте, чи насправді це сказано. Цей контроль не підлягає обговоренню, особливо у відповідях, що містять числа (день, сума, ставка) та умови (виняток, умова).

Застереження: якщо саме джерело неправильне або застаріле, RAG сумлінно повторює цю помилку. Сказати «модель говорить з джерела» не означає «модель говорить правильно»; Ви несете відповідальність за актуальність і точність вашого джерела.

Підтримуйте базу знань у готовності до реагування

Якість RAG значною мірою залежить від того, як написаний вихідний текст. Модель повертає набагато точнішу відповідь, ніж добре структуровані тексти з назвою й однотемою. Практична порада: пишіть свою політику в коротких розділах із заголовками, а не в довгих вкладених абзацах; Нехай кожен розділ відповідає на одне запитання («Скільки днів триває повернення?», «Які товари не можна повернути?»). Зберігання поширених запитань (FAQ) у форматі запитань і відповідей полегшує моделі пошук потрібної частини. Чітко та в одному місці тексту вказуйте такі значення, як дата, сума та курс; Різне написання того самого номера в різних розділах заплутує модель.

Ще одна важлива звичка — підтримувати базу знань. Політика, ціни та акції відрізняються; Якщо джерело не оновлюється, модель продовжує безпечно повторювати стару істину. З кожною зміною політики оновлюйте джерело та повторно ставте моделі кілька тестових запитань щодо зміненої теми, щоб підтвердити, що вона дає правильну відповідь. Це невелике, але регулярне технічне обслуговування запобігає системі RAG від «тихого виходу з ладу» з часом.

Поширені помилки

  • Сказати «поясніть нашу політику», не ховаючи джерело й не покладаючись на запам’ятовування моделі.
  • Не визначено межу «відповідь лише з джерела» та поведінку без джерела.
  • Не запитувати цитату/посилання на джерело та залишати відповідь неперевіреною.
  • Зберігання суперечливих версій однієї інформації в кількох документах бази знань.
  • Дозволяє моделі округлювати/інтерпретувати числові значення.
  • Забути оновити джерело, в результаті чого модель точно повторює стару інформацію.

Підсумовуючи

  • RAG означає, що модель створює відповідь із поточного вихідного документа, а не з пам’яті.
  • Найпрактичніший спосіб зменшити галюцинації: заховати джерело, сказати «відповідай лише тут», попросити цитати.
  • Якщо відповіді немає в джерелі, не слід підганяти модель; Треба сказати «нема» і віддати.
  • Повідомити модель про суперечливі джерела; Ви точно зберегли числові значення.
  • Точність RAG залежить від своєчасності вашого джерела; Завжди підтверджуйте ціну.

Аплікаційне завдання

Візьміть фактичний текст політики (повернення, доставка або членство) з вашої компанії та вставте його як джерело в базову підказку RAG вище. Потім поставте три запитання: (1) запитання, відповідь на який є чіткою в джерелі, (2) запитання, відповіді на яке взагалі немає в джерелі, (3) запитання, відповідь на який у джерелі лише неповна. Переконайтеся, що модель відповідає правильно, говорить «У мене його немає» і чесно позначає часткову відповідь і пропущену відповідно. Виправте девіантну поведінку, посиливши правила лояльності та нересурсних правил у підказці.

контрольний список

  • [ ] Я вставив у підказку поточне джерело, на якому базуватиметься відповідь.
  • [ ] Я додав правило «Відповідь лише з джерела, не виходьте за рамки».
  • [ ] Я поставив вимогу щодо посилання на джерело/цитування.
  • [ ] Я визначив поведінку делегування, якщо відповідь недоступна в джерелі.
  • [ ] Я вимагав точного збереження числових значень.
  • [ ] Я підтвердив відповідь вихідним реченням, на якому вона заснована.