Две системи в една
RAG има две части, които се провалят по различни причини: извличането (намери ли верния текст) и генерирането (използва ли го правилно). Ако мерите само крайния отговор, не знаете коя от двете да поправяте.
Правилото
Първо се мери извличането. Ако верният текст не е бил намерен, никакъв промпт няма да спаси отговора.
Наборът от заявки
Набор за оценка на търсенето
Списък от реални заявки, за всяка от които е записано кой запис е верният отговор.
- Съберете 30–50 реални въпроса — от потребители, от съученици, от собствения си опит.
- За всеки намерете ръчно верния документ или парче.
- Включете и трудни случаи: синоними, съкращения, правописни грешки, въпроси без отговор.
- Запишете набора във файл и не го променяйте, докато настройвате системата.
Не съставяйте въпросите от документите
Ако прочетете парче и напишете въпрос по него, въпросът ще съдържа същите думи и търсенето ще изглежда отлично. Реалните потребители питат с други думи. Затова въпросите се събират отвън.
Мерките
| Мярка | Какво казва | Кога е важна |
|---|---|---|
recall@k | верният документ сред първите k ли е | най-важната за RAG — моделът вижда само първите k |
precision@k | каква част от върнатите k са уместни | когато излишният контекст обърква модела |
MRR | на кое място средно се появява верният отговор | когато редът има значение за човек |
брой без отговор | колко заявки не намират нищо | показва дупки в колекцията |
Как се смятат
recall@5 = за колко от заявките верният документ е сред първите 5, делено на броя заявки. MRR = средното от 1 / мястото на верния отговор (0, ако го няма).
Какво k да изберем
Големината на k се определя от промпта: ако подавате 5 парчета на модела, мерите recall@5. Няма смисъл да се хвалите с recall@50, ако моделът вижда пет.
Какво да поправяме според числата
| Наблюдение | Вероятна причина | Какво да опитаме |
|---|---|---|
| нисък recall при всички заявки | лошо нарязване или неподходящ модел за вектори | по-малки парчета със заглавие; друг модел |
| нисък recall само при кратки заявки с кодове | липсва търсене по ключови думи | хибридно търсене |
| верният е намерен, но на 12-о място | класирането е слабо | пренареждане на кандидатите |
| нищо не се намира за цели теми | документът липсва в колекцията | допълване на данните, не настройка |
| recall е добър, отговорите — лоши | проблемът е в промпта или в модела | работа по генерирането, урок 20 |
Мярка за самите отговори
След като извличането е наред, се мери и отговорът. Три въпроса на отговор:
- Основава ли се изцяло на подадения текст (без добавени твърдения)?
- Отговаря ли на въпроса, който е зададен?
- Посочен ли е верният източник?
Проверката се прави от човек върху малка извадка и с модел-съдия върху останалите — както в урок 31 от 11. клас.