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

Як я перастаў гадаць і пачаў вымяраць свой RAG-канвеер

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

Выдавец: REACTAPP.TOP4 хв чытання986 слоў

Крыніцы: How I Stopped Guessing and Started Measuring My RAG Pipeline (LLM Zoomcamp 2026, Module 4)

У гэтым карыце парадоксальным чынам перакладзены ўсі элементы ад сыр'ёў да готовай сістэмы для: «Як я перастаў здагадваліцца і пачаў мерыць свой канэкс RAG (LLM Zoomcamp 2026, Модуль 4)». Акцэнт ставіцца на практычныя крокі, чыстае перакананне ў правільнасці дзействаў і код, які можна проста падключыць у рэпазітарый без неабясненых спадзяванняў. У этапы агульнага адгляду неабходна з'явіць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння пры перадзеўранні коду. Аператары должны магчымае перадзеўваць крок з вядомай точкі контролю, не падозрываючы прыхованы стан сістэмы. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехарактэрнага рэзультата должна быць чыстаю, без плутання ў всій структуры канэксу.

Чаму ацэнка ёсцца найменш цянюваным элементам RAG

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

Стварэнне набора дадзеных з правдай

Калі працюеце над стадзіяй «Стварэнне базы правды», спачатку запісайце умовы кантракту: неабяжлівыя даныя, сігнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі спіс контроля дапамагае заліцьварыць змяны ў кодзе чыстымі. Запісвайце час выканання і кост токенаў або запытаў праза функцыйнае рэзультат. Відкрытыя даныя пра косцы з’являюцца раніце, таму не будзе неспакою, калі працэс перэйдзе з дамовай версіі ў спяльныя сераўы. Зберагачвайце стабільныя інструкцыі сістэмы і схемы інструментаў. Перадача тых самых прамэрных даных зноў і зноў — частая прычына некалькіх разоў выкарыстоўвання рэсурсаў.

Две важлівыя метрыкі

Калі працуеце над стадзіяй «Две метрыкі», спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частковыя неудачы. Такі спіс контроля дапамагае заліцваліць пазнейшыя змены коду. Зберагаеце настройкі за межамі коду прыемліка. Файлы сераўнавання, храненні секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аўдыт без неабяжлівага чытання всей структуры. Кэшавайце стабільныя інструкцыі сістэмы і схемы інструментаў. Перадзесланне ідэнтычных даных — частая прычына вітрацы рэсурсаў. Калі працуеце над стадзіяй «Две метрыкі», спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частковыя неудачы. Такі спіс контроля дапамагае заліцваліць пазнейшыя змены коду. Вядзеце прывязку да маленькіх, тэставаных елементаў замест большых скрыптов. Калі якісь крок не выйшаў, неудача должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны працэс.

Рэзультаты, якія мене здзівілі

Этап «Рэзултаты, якія здзівілі» працюе найэфектыўней, калі яго спрыяваць як мерыемую паверхню. Запісаце адна «золатая» транскрыпцыя, адын прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Спрыявайце гэты этап як кантракт межа вхіднымі данымі і паверынутымі выходамі. Даўце назвы артыфактам, задаце крытэрыя успеху і адмовіцеся ад тыхоўскага частковага завершэння. Задаце бюджэт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расшырваюць кантэкст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.

Функцыя evaluate(), якая зменяе все

Функцыя адзьякавання, якая працуе на данай стадыі, дае найлепшыя рэзультаты, калі яе спрыяваць як меравальную паверхню. Запісайце адны ідэальны прыклад, адну сітуацыю неудачы і прыметкі па поверненню да пачатковага стану пры расшырэнні масштаба. Запісвайце часы выканання і кост токеноў або запытаў праза функцыйнае рэзультат. Відкрытыя даныя пра косцы з’являюцца рана, таму не будзе неспакою з рахункамі, калі працэс перэйдзе з дэмавайнага рэжыма ў спяльныя сервісы. Задайце бюджэт токеноў на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расшырваюць кантэкст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакойныя рахункі.

def evaluate(search_func, ground_truth):
    hit_rates, mrrs = [], []
    for record in ground_truth:
        results = search_func(record["question"])
        relevance = compute_relevance(record, results)
        hit_rates.append(hit_rate(relevance))
        mrrs.append(mrr(relevance))
    return {"hit_rate": sum(hit_rates)/len(hit_rates),
            "mrr": sum(mrrs)/len(mrrs)}

Полная рашытка

Этап «Полная рашыянка» працюе найкрашча, калі яго спрыяваць як меравальную плошчу. Зберагачыце адны ідэальны прыемнік, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Храніце настройкі пазырочна ад коду прыемніка. Файлы сяродавішчыны, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць аўдыт без неабяжнага чытання всіх дадзеных. Задавайце ліміты токэнаў на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расшырваюць кантэкст; строгі ліміты не дазволяюць, каб дэманстрацыі ператварыліся на неспакоўныя рахункі. Этап «Полная рашыянка» працюе найкрашча, калі яго спрыяваць як меравальную плошчу. Зберагачыце адны ідэальны прыемнік, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі які-небудзь крок не выйшае, неудача должна вказываць на адну адпаведную адпаведальнасць, а не на заплутаны ланцоўкі дзеянняў.

Чэрніцкі ліст аператыўных дзеянняў

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

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

Задаце бюджэт на кожны раунд і кожную сесію. Інструменты-агенты агрэсывна расшырваюць кантэкст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўлівыя рахункі.

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

Напісце кароткі посібнік: як зменяць кантрольныя клучы, як спрачыслаць чэргу, як атрыбуціяць назад пасляльню інфармацыю.