RAG може да звучи вярно и пак да търси грешния документ

|Автор: Редакционният екип на QUASA|6 мин. четене
RAG може да звучи вярно и пак да търси грешния документ

За да установите къде греши RAG система, измервайте отделно дали е намерила нужните откъси, дали твърденията в отговора следват от тях и дали отговорът е верен за зададения въпрос. Документацията на NVIDIA разграничава релевантност на контекста, опора на отговора в него и точност спрямо еталонен отговор. Така убедителният тон не прикрива пропуск в търсенето.

Тестът се нуждае от въпроси с известни правилни документи и очаквани факти, както и от запазени резултати на търсенето и генерирани отговори. Обзорът на оценяването на RAG разглежда извличането и генерирането като отделни компоненти с показатели за релевантност, точност и вярност към контекста. Това разделение е решаващо при корпоративни документи с няколко редакции: отговорът може да е подкрепен от извлечен текст, но този текст да е от стара политика.

Съставете набор с известен правилен документ

За всеки въпрос запишете идентификатора на нужния документ или раздел, неговата версия и фактите, които задължително трябва да присъстват в отговора. Отбележете и дали потребителят има право да получи тази информация. Ако отговор в допустимия корпус липсва, запишете очакван отказ вместо измислен еталонен текст.

Следният условен набор показва как може да изглежда това за вътрешен архив с политики за командировки. Документите и въпросите са примерни, а реалният регресионен тест трябва да използва идентификаторите и редакциите от собствения корпус:

  • „Какъв е лимитът за хотел при командировка?“ — нужна е действащата политика и точната стойност от съответния раздел.
  • „Промени ли се лимитът спрямо предишната редакция?“ — нужни са двете редакции и сравнение между стойностите им.
  • „Покриват ли се такси за паркиране?“ — нужен е разделът за допустими разходи, а не само документ с общо заглавие за командировки.
  • „Какъв е лимитът за държава, която политиката не споменава?“ — очаква се призната липса на данни, без добавена стойност.

Включете кратки фактически въпроси, сравнения между версии, случаи с повече от един необходим откъс и въпроси без отговор. Публикацията за Ragas описва автоматично оценяване на отделните части на RAG и без човешки еталонни анотации. За регресионен набор все пак е полезно малка група въпроси да бъде означена ръчно: така има независима основа, по която да се провери дали автоматичният оценител е приел грешна редакция за релевантна.

Запазвайте за всяко изпълнение самите извлечени откъси, реда им и генерирания отговор. Само крайният текст не показва дали правилният документ е бил достъпен за модела. Ако разделянето на документите на откъси се промени, сравнявайте и стабилния идентификатор на документа и раздела, за да не отчетете промяна на границите на откъса като загубен документ.

Измерете извличането преди отговора

Recall@5 е броят на предварително означените нужни откъси, намерени сред първите пет резултата, разделен на общия брой нужни откъси за въпроса. В условния въпрос за сравнение между две редакции намирането само на едната дава 1/2. Изчислявайте този показател само за въпроси с наличен отговор; при останалите отбелязвайте отделно дали търсенето е подало подвеждащ или недопустим откъс.

Precision@5 е броят релевантни резултати сред първите пет, разделен на пет, когато системата действително връща пет резултата. Ако връща по-малко, уточнете предварително дали ще делите на броя върнати резултати, или ще броите липсващите позиции като нерелевантни. Запазете същото правило при сравняване на версии. Високият recall показва, че нужният материал е попаднал в контекста; precision показва колко от подадения материал е полезен за въпроса.

Тези две прости формули не отчитат къде в списъка стои правилният откъс. Метриката context precision на Ragas отчита позициите на релевантните откъси и оценява по-високо класиране пред нерелевантните. Не смесвайте нейната стойност с простата Precision@5 в един и същ регресионен ред.

Когато нужният откъс липсва, проверката започва от индексирането, разделянето на документи, филтрите за достъп и класирането. Ако вместо действащата редакция е извлечена старата, вижте дали версията присъства в метаданните и дали правилото за актуалност е приложено при търсенето. Успешно познат факт в крайния отговор не поправя липсата на правилния източник.

Проверете опората и точността поотделно

Разделете отговора на проверими твърдения. Вярност към контекста се изчислява като броя твърдения, които следват от извлечените откъси, разделен на общия брой твърдения. Дефиницията за faithfulness на Ragas използва точно тази проверка спрямо подадения контекст. Твърдение, което е вярно по друга причина, но няма опора в извлечените откъси, остава неподкрепено в този тест.

След това оценете точността на отговора спрямо предварително записаните задължителни факти и допустимата версия на документа. За собствен регресионен тест може да използвате двоично правило: въпросът получава 1 само ако всички нужни факти присъстват и няма неверни добавки; иначе получава 0. Общата точност е броят издържани въпроси, разделен на броя оценени въпроси. Това е предложено работно правило, а не универсална формула на Ragas или NVIDIA.

При въпрос без отговор проверете отказа отделно: дали системата е посочила липсата на информация, без да представя предположение като факт. За празен отказ няма твърдения, по които да се изчисли дробта за вярност към контекста. Отбележете я като неприложима, а правилността на отказа включете в оценката за крайния отговор.

Разминаването между оценките локализира грешката. Отговор по стара, но действително извлечена политика може да е изцяло подкрепен от контекста и едновременно с това да е неверен за действащото правило. Ако правилният откъс присъства, но отговорът добавя неподлежащо на проверка условие, проблемът вече е в генерирането. Ако отговорът е непълен, установете дали липсващият факт е отсъствал от контекста, или моделът го е пропуснал.

Задайте праг и разрешавайте спорните случаи

Прагът има смисъл само върху един и същ набор и при еднакви правила за оценяване. Като условен начален праг за 20 въпроса с наличен отговор може да изискате поне 18 случая, в които всички нужни откъси са сред първите пет резултата, поне 19 отговора без неподкрепено твърдение и поне 17 напълно верни отговора. Добавете отделни въпроси без наличен отговор и изискайте правилен отказ за всеки от тях. Числата са пример за аларма при регресия, а не публикуван стандарт за качество.

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

При спорен резултат отворете оригиналния документ и посочете точния раздел, който подкрепя или опровергава отговора. Разграничете дали спорът е за релевантността на откъса, за това дали твърдението следва от него, или за правилния отговор към потребителя. Ако двама проверяващи не са съгласни, уточнете еталонния запис и правилото за оценяване преди следващото изпълнение. Така промяната в оценката ще отразява поведението на системата, а не променена преценка за същия документ.

Прочетете също:

Споделяне:

Абонирайте се за нашия бюлетин

Получавайте най-новите новини за Web3, AI и криптовалути директно във входящата си поща.

0