Практычныя прытамулкі: Как я перастаў здагадваліцца і пачаў мерыць свой канал RAG
Практычныя прыказкі: як я перастаў здагадваліцца і пачаў мерыць свой канвей RAG: контракты, перакрычанні і месцы для коду для команд, якія викорыстоўваюць гэты патэрн.
У гэтым карыце парадоксальным чынам перакладзены ўсі элементы ад сыр'ёў да готовай системы для: «Як я перастаў здагадваліцца і пачаў мерыць свой канэкс 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)}
Полная рашытка
Этап «Полная рашыянка» працюе найкраща, калі яго спрыяваць як меравальную плошчу. Зберагачыце адны ідеальны прыемнік, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Храніце настройкі пазырочна ад коду прыемніка. Файлы сяродавішчыны, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць аудыт без неабяжнага чытання всіх дадзеных. Задавайце ліміты токэнаў на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; строгі ліміты не дазволяюць, каб дэманстрацыі ператварыліся на неспакоўныя рахункі. Этап «Полная рашыянка» працюе найкраща, калі яго спрыяваць як меравальную плошчу. Зберагачыце адны ідеальны прыемнік, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі які-небудзь крок не выйшае, неудача должна вказываць на адну адпаведную адпаведальнасць, а не на заплутаны ланцоўкі дзеянняў.
Чэрніцкі ліст аператыўных дзеянняў
Этап практычнай пералікі працюе найэфективней, калі яго спрыяваць як меравальную плошчу. Запісаўце адна ідеальная версія, адзін прыклад неудачы і запіс пра атрыбуцыю назад, перш чым расширваць масштабы.
Документавація успешнаг і варотнаг падходу трэба выконваць разам. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є частью продукту, а не наступным этапам дапрацоўкі.
Задаце бюджет на кожны раунд і кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўлівыя рахункі.
Указаце тыя часткі, якія фактычна сталі падставай для адпаведзення. Без цых цитатаў аператары не можуць разлічыць галюцинацію ад працявання індэксу.
Напісце кароткі посібнік: як зменяць кантрольныя клучы, як спрачыслаць чергу, як атрыбуціяць назад пасляльню інфармацыю.