Защо моделът не знае вашите неща
Моделът е обучен върху текстове до определена дата и не съдържа учебника ви, правилника на училището или документацията на вашата фирма. Попитан за тях, той ще произведе правдоподобен, но измислен отговор — точно както видяхме в урок 21.
Има три изхода: да дообучим модела (скъпо и бавно), да залепим целия документ в промпта (не се побира и струва скъпо) или да намерим само нужните няколко абзаца и да ги подадем. Третото се нарича RAG.
RAG (retrieval-augmented generation)
Подход, при който преди отговора системата намира подходящи откъси от собствените документи и ги вмъква в промпта.
Подготовка на документите
Нарязване
Документите се режат на парчета от няколкостотин думи. Твърде голямо парче носи шум и запълва прозореца; твърде малко губи контекста и става неразбираемо самостоятелно.
- Режете по естествени граници — абзац, подзаглавие, — а не на сляпо по брой символи.
- Правете леко припокриване между съседните парчета, за да не се разкъса изречение по средата.
- Пазете при всяко парче откъде е дошло: файл, страница, заглавие. Това е източникът в отговора.
Вектори
Всяко парче се превръща във вектор (урок 20) и се записва във векторна база. При малка колекция това може да е обикновен списък в паметта; при голяма — специализирана база.
Отговарянето
- Въпросът на потребителя се превръща във вектор със същия модел.
- Намираме 3–5 парчета с най-голяма близост.
- Строим промпт: „Отговори САМО по текста по-долу. Ако го няма там, кажи, че не знаеш.“ + парчетата + въпросът.
- Изпращаме на модела и получаваме отговор.
- Показваме отговора заедно с източниците на използваните парчета.
Цитатът не е украса
Показването на източника позволява на потребителя да провери и превръща системата от „уверен чатбот“ в инструмент, на който може да се разчита. Без него RAG губи половината си стойност.
Къде се къса веригата
- Търсенето не е намерило нужното — най-честият проблем. Моделът не може да отговори по текст, който не е получил.
- Парчето е разкъсано — таблица или списък, срязани по средата, объркват отговора.
- Противоречиви източници — стар и нов правилник; моделът няма как да знае кой е в сила, ако не му кажем.
- Моделът игнорира текста и отговаря от своите знания. Срещу това помага изричното указание и въпрос с искане за цитат.
Как се проверява кое се е счупило
Отпечатайте намерените парчета, преди да ги дадете на модела. Ако верният текст не е сред тях, проблемът е в търсенето, не в модела — и се поправя другаде: по-добро нарязване, повече намерени парчета, добавяне на търсене по ключови думи.