RAG може да звучи точно и кога греши: мерете retrieval и одговор одделно

|Автор: Уредувачки тим на QUASA|5 мин. читање| 1
RAG може да звучи точно и кога греши: мерете retrieval и одговор одделно

Точноста на RAG проверувајте ја во две фази: дали пребарувањето го донело пасусот што го содржи потребниот доказ и дали одговорот е точен и поткрепен со пасусите што моделот ги добил. За секое прашање зачувајте ги пронајдените пасуси, нивниот редослед и конечниот одговор. Трудот за Ragas ги издвојува квалитетот на пронајдениот контекст, верното користење на тој контекст и квалитетот на генерирањето како различни димензии на оценување.

Почнете со мал сет прашања за кои човек однапред ги проверил изворниот пасус и очекуваниот одговор. Ако доказот не стигнал до моделот, прво испитајте го пребарувањето; ако стигнал, а одговорот е погрешен, испитајте го составувањето на одговорот. Една вкупна оценка не ја покажува оваа разлика, а уверливиот тон на одговорот не кажува ништо за тоа дали е поткрепен.

Направете сет во кој доказот може да се најде

Изберете прашања од задачите што навистина ги добива вашиот систем. Вклучете едноставен факт, прашање што бара поврзување на повеќе пасуси, двосмислена формулација и прашање за кое во документите нема одговор. За секое прашање со одговор, рачно утврдете кој текст ги содржи задолжителните факти. Ако документите имаат повеќе верзии, забележете која важи: стар пасус може да биде релевантен по тема, а сепак да води до погрешен одговор.

Минимален CSV-шаблон е „query,reference,reference_chunk_id,grading_notes“. Во „query“ стои прашањето; „reference“ е проверениот одговор; „reference_chunk_id“ го означува пасусот со доказот; „grading_notes“ кажува кои факти се задолжителни и што би било неприфатливо дополнително тврдење. Ако еден одговор бара повеќе пасуси, запишете ги сите потребни идентификатори. За прашање без одговор, оставете го идентификаторот празен и во белешките наведете дека достапните документи не даваат доволно основа за конкретен одговор.

Туторијалот на Ragas покажува CSV со прашања и белешки за оценување, метрика што враќа „pass“ или „fail“ и експеримент што го зачувува одговорот и резултатот во нов CSV. Тој пример ја оценува содржината на одговорот според белешките. За да го лоцирате потеклото на грешката, во сопствениот експеримент зачувајте ги и идентификаторите, текстот и редоследот на пасусите што биле испратени до моделот.

Оценете го пребарувањето пред одговорот

Пуштете ги прашањата низ истиот индекс, филтри и број вратени пасуси што ги користи апликацијата. Означете „retrieval_pass“ само кога во контекстот што моделот навистина го примил има доволен доказ за очекуваниот одговор. Совпаѓање со насловот или идентификаторот на документот не е доволно ако потребниот факт стои во друг пасус. Зачувајте ја позицијата на првиот корисен пасус, за да видите дали рангирањето го турка доказот надвор од доставениот контекст.

Документацијата за Context Precision ја опишува метриката за рангирање на релевантните пасуси пред нерелевантните; примерот со референтен одговор ги споредува пронајдените пасуси со тој одговор. Кога веќе имате рачно проверена референца, таа е соодветната основа за овој дел од тестот. Варијантата Context Utilization ги споредува пасусите со генерираниот одговор и е наменета за случаи без референца; поради тоа нека не биде единствениот доказ дека пребарувањето успеало.

Падот на „retrieval_pass“ го стеснува прегледот на индексот и пребарувањето. Проверете дали точниот пасус воопшто е внесен, дали филтерот го исклучил, дали поделбата на документот го отсекла потребниот факт и дали рангирањето му дало предност на друг пасус. Кај прашање за кое во корпусот нема одговор, овој исход оценува дали доставениот контекст содржи доволен доказ, а не дали системот успеал да пронајде однапред означен пасус.

Раздвојте ја точноста од верноста на одговорот

За прашањата со успешно пронајден доказ, оценете два услова. „content_pass“ значи дека одговорот ги содржи задолжителните факти од проверената референца, со дозволена парафраза. „faithfulness_pass“ значи дека фактичките тврдења во одговорот можат да се поткрепат со пасусите што моделот навистина ги примил. Одговор што го наведува очекуваниот факт, но додава непоткрепен рок или услов, може да помине на содржина и да падне на верност.

Овие исходи откриваат различни грешки. Условно, ако моделот верно прераскаже застарен пронајден пасус, одговорот може да биде верен на доставениот контекст, но неточен според проверената, важечка референца. Ако го погоди очекуваниот факт од сопственото знаење, иако фактoт го нема во доставените пасуси, содржината може да биде точна, но поткрепеноста да падне. Во двата случаи прегледајте го конкретниот ред, наместо да го сведете исходот на една оценка.

За прашање без доказ, „content_pass“ бара јасно признание дека доставените документи не даваат одговор. Измислен конкретен факт паѓа и на содржина и на верност. Ако изворниот корпус има одговор, но пребарувањето не го донело, раздвојте го тој случај од прашање чиј одговор воопшто не постои во корпусот; инаку истото воздржување на моделот би прикрило промашување во пребарувањето.

Повторете го експериментот со исти услови

Во резултатот за секој ред чувајте ги прашањето, референцата, пронајдените пасуси, конечниот одговор и одделните исходи за пребарување, содржина и верност. За споредба на промени, задржете го истиот тест-сет и истите правила за оценување. Ако испитувате нови инструкции или друг модел за генерирање, пуштете ги со истите зачувани пасуси; ако испитувате пребарување, задржете ја истата поставка за генерирање.

Правилата „pass“ и „fail“ нека бидат врзани за фактите во секој ред, наместо за еден произволен праг. Кај прашање со повеќе задолжителни факти, одговор што содржи само дел од нив паѓа на содржина. Автоматскиот LLM-судија дава повторлива проценка, но не е човечки утврдена вистина: прегледајте ги неуспешните случаи и примерок од автоматски успешните, особено кога исходот зависи од верзија на документ или од јазична нијанса. Така следната промена може да се поврзе со конкретен добиток или пад во пребарувањето или во одговорот.

Прочитајте и:

Сподели:

Претплатете се на нашиот билтен

Добивајте ги најновите вести за Web3, AI и крипто директно во вашето сандаче.

0