Галоўная / Артыкулы

Дыягностыкаваць RAG пашукам слупеня, яны не выканалі свою задачу.

Дыягностыраваць працэю RAG-пайплайну пашукам дзеўяльнага этапа, які не выканаў сваю задачу: запоўненне данымі, выкарыстоўванне даных, стварэнне тэксту чыясьці аперацыі. Пасля кожнага эксперымента выліковваецца адна чытка адначытая проблема.

3 хв чытання655 слоў

Калі асистэнт з ведамасцю дае паслабны адказ, простым рашэнням ёст тое, каб змянілі запит. Гэта корыстна толькі тады, калі модель отрымала адпрацоўваныя доказы, але не справілася з іхі аналізам.

Відсутны дакумент, непূরны аналіз інфармацыі і непадтрыманая заключэнне — гэта разныя прычыны неудач. Адночасна лікаванне іх у рамках аднаго показніка якосьты прыводзіць да спамячэння ў выкліканні прычын неудач, адтолькі ўжо таму, што гэты показнік не паказвае, калі самэй частцы трэба змяніць.

Практычны цикл ацэнкі павінен зберагаць весь шлях ад вачоўных матэрыялаў да адказа, які бачыў корыстнік.

Ствараюце прыклады з доказамі, а не толькі з адказамі

Для кожнага тэстовага запитання зафіксавайце фрагменты, якія падтрымліваюць приемлівы адказ. Уключыце умовы, якія адказ павінен сахраніць, і тэзы, якіх ён павінен утрымацца.

Ілюстратыўны прыклад можа выглядаць так:

{
  "question": "When should this deployment be rolled back?",
  "required_evidence": ["handbook-v3:section-8"],
  "must_include": ["the failed health-check condition"],
  "must_not_claim": ["every warning requires rollback"],
  "answerable": true
}

Эты запись ўжоць карысная, чым адна толькі апэктыўная запаведзь. Яна дазволяе даставіць кальколька чыста напісаных адказоў, захаваючы тыя умовы, якія робяць іх правильнымі.

Дадзіце запытанні, на якія корпус не можа даставіць адказ. Інакш система, якая завжды генеруе ўсё, можа здавацца сильнейшай, чым тая, якая правільна адзначае відсутнасць доказаў.

Спачатку пераканайцеся ў найранейшым бядах

Пачніце з адпаведнага джэрела. Чы існуюць неабходныя вядомасці ў індексаванам тексте, і чы яны належаць да згаданага дакумента? Якщо няма, паспрабуйце выправіць процес прыемкі джэрел.

Далей пераканайцеся ў процэсе адналёгчэння. Чы стосаваныя доказы патрапілі ў калекцыю кандыдатаў? Якщо так, чы яны перазсталі пасля фільтрацыі, переранжавання і складання контэксту? Это ўсе адналежыць да разных пунктав пераканання. Абаротк, знайдзеный праз пошук, але выдаленыя перад гэнераванням, не можа служыць падставай для фінальнага адказу.

У падзеці, перагляньце адпаведны ўтвар. Чы рэальна ён адбіў свядчыны, захаваў выключэнняі і ухіліўся ад непадтрыманых твэрджэнняў? Якщо контекст быў достатні, але адпаведны ўтвар не паспеў, тады поведанне падстаўкі чы генеравання стае разумным цэлям.

Такі порядак не дазволяе сильнаму модэлю маскаваць слабыя результаты на простых запытаннях, а пасля неспадзевана паспяліваць на запытаннях, на якія ён не можа адпавесць за дапамогою ранейшых ведомасцей.

Іспользуйце метрыкі, якія выявляюць разныя памылкі

Рекал з выбраным прагам мерыць частку пазначаных рэлевантных элементаў, якія былі знайдзены. Прыцэльнасць мерыць частку знайдзеных элементаў, якія є рэлевантнымі. Метрыка карыстоўнай шчыпкі спрашвае, чы з’явіўся хоць адны рэлевантны элемент; гэта слабейша, чым вярнуць усі свядчыны, неабходныя для адпаведзення на багатыя запытанні.

Паракаменты ранкінгу дапомагаюць адзначыць доказы, якія знаходзяцца на першай пазе, ад доказоў, якія знаходзяцца блізка да межы. Але атрыбуты рэлевантнасці трэба ставіцца адзінакова: адна частка можа згадваць тэму, тым часам іншая працоўна адпавядае на запытанне. Адносіць іх як аднакова корыстныя можа прызвесці да падтрымкі неправильнай дзеяльнасці.

Пры стварэнні тэкста трэба окрема ацэніць падтрымку, правильнасць, полноту і адпаведнасць цітатаў. Адпаведзь можа точна пераказваць застарэлы істочнік. Яна таксама можа мець правильную тэзу, якую наданыя доказы не падтрымліваюць. У такіх случаях трэба застосаваць разныя способы выправлення.

Зберагаць качэнне работы ў адным эксперыменте

Запісвайце час адпаведзі, неудачы і выкарыстоўванне рэсурсаў разам з ацэнкамі качэння. Зберагаюце версію корпусу, настройкі пошуку, версію запытання і ідэнтыфікатор моделі, каб парабянення былі зрозумелыя.

Падаючы ранг, трэба змяніць адную значныю зменную за раз. Напрыклад, парабялейце рэранкаванне з і без ўвёкленаў, заставаючы канстантным пул кандыдаў. Адночаснае змена частакавання, выкарыстоўвання дадзеных і формуліравання запита можа павысіць рэйтынг, але неясна заставіць прычыну.

Автаматызаваныя суддзі можу дапамагчы пераглянуць многа рэзультатаў, але неспакоенасці і чутлівыя крайнія прыклады трэба пераглядаць ручна. Рэйтынг суддзі — гэта ўсьмо толькі ўскладненне з мерыябрамі, а не замена чыткай шкалы оцэнкі.

Адмацавайце тое, што доходзіць да корыстніка

Нават правильная адпаведзь бэкенда можа праказацца пад неправым запитам, якщо інтэрфейс прыймае застарелыя запросы. Уключайце інтэраакцыю з пошукам у React у перагляды ад пачатку да канца.

Прыгодным рэзультатам ацэнкі ёсць конкрэтны наступны крок: выправленне процесу адгэтування інфармацыі, расшырэнне можлівасцей пошуку, збережэння контекста, перасмотраць процесу стварэння адпаведных рэспактов, або выправленне способу ўзнэсення рэспактов. Гэты рэзультат значна кращы, чым проста ведомае падзея, што адпаведны адказ «выглядаў некоректна».