Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 26

RAG — модел плюс собствени документи

Как моделът отговаря по вашия учебник: нарязване на парчета, вектори, търсене по близост и вмъкване в промпта — с цитиран източник.

Защо моделът не знае вашите неща

Моделът е обучен върху текстове до определена дата и не съдържа учебника ви, правилника на училището или документацията на вашата фирма. Попитан за тях, той ще произведе правдоподобен, но измислен отговор — точно както видяхме в урок 21.

Има три изхода: да дообучим модела (скъпо и бавно), да залепим целия документ в промпта (не се побира и струва скъпо) или да намерим само нужните няколко абзаца и да ги подадем. Третото се нарича RAG.

RAG (retrieval-augmented generation)

Подход, при който преди отговора системата намира подходящи откъси от собствените документи и ги вмъква в промпта.

база с векторивъпростърсене3 парчетапромптотговорМоделът не се дообучава — просто получава нужния текст в промпта.R (retrieval) — намиране · A (augmented) — обогатяване · G (generation) — генериране
Пет стъпки, от които само последната е работа на езиковия модел.

Подготовка на документите

Нарязване

Документите се режат на парчета от няколкостотин думи. Твърде голямо парче носи шум и запълва прозореца; твърде малко губи контекста и става неразбираемо самостоятелно.

  • Режете по естествени граници — абзац, подзаглавие, — а не на сляпо по брой символи.
  • Правете леко припокриване между съседните парчета, за да не се разкъса изречение по средата.
  • Пазете при всяко парче откъде е дошло: файл, страница, заглавие. Това е източникът в отговора.

Вектори

Всяко парче се превръща във вектор (урок 20) и се записва във векторна база. При малка колекция това може да е обикновен списък в паметта; при голяма — специализирана база.

Отговарянето

  1. Въпросът на потребителя се превръща във вектор със същия модел.
  2. Намираме 3–5 парчета с най-голяма близост.
  3. Строим промпт: „Отговори САМО по текста по-долу. Ако го няма там, кажи, че не знаеш.“ + парчетата + въпросът.
  4. Изпращаме на модела и получаваме отговор.
  5. Показваме отговора заедно с източниците на използваните парчета.

Цитатът не е украса

Показването на източника позволява на потребителя да провери и превръща системата от „уверен чатбот“ в инструмент, на който може да се разчита. Без него RAG губи половината си стойност.

Къде се къса веригата

  • Търсенето не е намерило нужното — най-честият проблем. Моделът не може да отговори по текст, който не е получил.
  • Парчето е разкъсано — таблица или списък, срязани по средата, объркват отговора.
  • Противоречиви източници — стар и нов правилник; моделът няма как да знае кой е в сила, ако не му кажем.
  • Моделът игнорира текста и отговаря от своите знания. Срещу това помага изричното указание и въпрос с искане за цитат.

Как се проверява кое се е счупило

Отпечатайте намерените парчета, преди да ги дадете на модела. Ако верният текст не е сред тях, проблемът е в търсенето, не в модела — и се поправя другаде: по-добро нарязване, повече намерени парчета, добавяне на търсене по ключови думи.