Практычныя прытамулкі: Канал RAG як будовальныя елементы: семь способаў, якімі формуецца адпаведзь.
Практычныя прытамулкі: Канал RAG як будовальныя елементы: семь способаў, якімі формуецца адпаведзь: контракты, перакананні та слоты для коду для команд, якія викорыстоўваюць гэты патэрн.
Наступныя прытамлівкі паказваюць практычны падход да разумэння тэкста «The RAG Pipeline as Building Blocks: Seven Ways an Answer Goes Wrong». Акцэнт ставіцца на кантракты, пераконтроўкі і месца для коду, які можна легка заменіць, а не на мотывацыйныя аспекты.
TL;DR
Калі працуеце над часткай TL DR, спачатку запісуйце кантракт: неабяжныя вхідныя даны, сігнал успеху і тое, што выканаецца у разы частковага невялікога браку. Такі чарт дапамагае залічыць пазнейшыя змены ў кодзе. Храніце настройкі парадульна ад коду прыемлівача. Файлы сераўіса, сховішчы секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можу працаваць без неабяжнага чытання всіх элементаў системы. Перад налагоджэньем запрошэнняў (prompts) пераканайцеся, што система правільна адпавядае на фіксованы набор запытанняў. Частае змены запрошэнняў рэдка калі вялікі парадокс у процесе адзысквання інформаціі.
Неверны адпаведзь не паказвае, дзе выйшла проблема
Калі працуеце над этапамі, дзе можа быць няправильны адказ, спачатку запісайте умовы: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список контроля дапамагае заліцварыць пазнейшыя змены ў кодзе.
Семь неудач, тры этапы
Калі працуеце з семью стадіямі бяспекавых падэнняў, спачатку запісайце умовы кантракту: неабходныя даны, сігнал успеху і тое, што выходзіць на частым падэнні. Такі список контроля дапамагае залічыць змяны ў кодзе пасля таго. Валіце маленькія, можна перапытваць элементы замест большых скрыптаў. Калі якісь крок падводзіць, падэнне должна вказваць на адную адпаведальнасць, а не на заплутаны ланцуг задач. Перад налаштаваннем запитоў пераканайцеся, як працуея система з фіксаваным наборам запитанняў. Частае змена запитоў рэдка калі вярнайце слабую эфектыўнасць пошуку.
Прыем дадзеных: нехватка кантэнту
Калі працюеце над стадзіяй усунення нехваткі контэнту, спачатку запісайце кантракт: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладзець пазнейшыя змены коду ў правільным напрамку. Спрэцьвуйце да гэтай стадзіі як да кантракту межа даннэмі і перакананымі выходамі. Дайце назву артыфактам, задаце критэрыя успеху і не падзеўляйцеся частковым завершэнням без паведамлення. Змяркуйце рэкалі на фіксаванай сэтке запытаў прычым регулювання прамптав. Частае змена прамптав рэдка калі выправляе слабую систему пошуку.
Пошук і контэкст: не было знайдзена, даннэ адмовіліся перад прамптам, была прынята некоректная значэнне
Калі працуеце на стадыі адзьявлення даных і формавання контэкста, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Запісвайце час выканання і кост токена або запыту праза функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спяльнаныя сераўеры. Зберагайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадзявленне ідэнтычных даных — частая прычына збытка ресурсаў. Калі працуеце на стадыі адзьявлення даных і формавання контэкста, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Дакументавайце як успешны, так і вярнучы паты. Перапрыбуткі, людзкія контрольныя пункты і обработка неканальных паведамленняў є часткай продукту, а не чыставаючымі елементамі.
Адказ: неправильны формат, неправія сфера, непашыто
Этап адказу з неправільным форматам работае наяўней, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідеальная транскрыпцыю, адзін прыклад неудачы і прыметку па адвярненню перад расшырэнням сферы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача павінна вказваць на адную адпаведальнасць, а не на заплутаны ланцужок задач. Раздзеляйце правілы часткавання і правілы выявлення. Змена адных не павінна прыводзіць да перапісву іншых, калі змянююцца паказателі якосці.
Як працюе дыягназ
Этап «Як працюе дыягназ» работае наўсёй краща, калі яго розглядаць як вимерную плошчу. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Разглядзайце гэты этап як кантракт межа вхіднымі даннымі і паверыранымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задачы. Раздзеліце правілы часткавага апрантавання дадзеных ад правіл ўзяць іх зборам. Змена адных не должна прымусіваць перапісванне іншых, калі змянююцыся показнікі якосці.
Зявіце лог-запісы пра чатыры рэчы за кожны запит
Метод «Запісваць чатыры рэчы на кожны ўражак» працуе найкраща, калі яго спрыяваць як мерыемую плошчу. Зберагачыце адны ідеальны прыклад роботы, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Запісвайце час выканання і вартась токенаў або запытак праза функцыйнае рэзультат. Відразлівае паказанне вартасей з’являецца прычынай таго, што не будзе неспакойных рахунков, калі процес пераходзіць з дэмаверсіі ў спяльныя среды. Раздзеляйце правілы часткавання дадзеных і правілы ўзяць іх. Змена аднаго з іх не должна вымагаць перапісвы другога, калі зменяюцца паказнікі якосці. Метод «Запісваць чатыры рэчы на кожны ўражак» працуе найкраща, калі яго спрыяваць як мерыемую плошчу. Зберагачыце адны ідеальны прыклад роботы, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументавайце як успішны, так і вярнучыся шляхы роботы разам. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадацца пазней.
# The retrieved list and the prompt list stay separate. Collapsed into one,
# a chunk lost at ranking and a chunk lost at the token budget leave the
# same record, and no later reading of the log can separate them.
log_request({
"question": question,
"retrieved": [
{"chunk_id": c.chunk_id, "doc_id": c.doc_id,
"version": c.version, "score": c.score}
for c in candidates
],
"in_prompt": [c.chunk_id for c in context],
"answer": answer,
})
Адны тэст, тры рэзультаты
Для стадіі трохі змагань One test three outcomes неабяжна падзець вводных даных, адміністратара крока і крэтэрыяў завершэння пры перадзеі коду. Аперацыйныя працавнікі павінны магчымае перадзеі крок з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшае, прычына неудачы павінна вказываць на адзіну адпаведальнасць, а не на заплутаны ланцюг задач. Наводзіце тыя часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цых цітатаў аперацыйныя працавнікі не зможуць адразліць галюцинацыю ад працявання з непаштоўным індэксам.
Дзе зупінаюцца семеро
Для стадіі «Дзе сябро стоп» неабходна прадварыццае адзначэнне вхідных дадзеных, адпаведнага власніка крока і крэтарыяў завершэння працы перад зменым коду. Аперацыйныя працавнікі павінны магчымае перазапускаць крок з вядомай точкі контролю, не падозрываючы прыхованага стану. Спрыяйце гэтай стадіі як даговору межа вхіднымі дадзенымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, адзначыце крэтарыяў успеху і не прымайце тыхню частковую завершэнна працы. Цітуйце тыя часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цітаў аперацыйныя працавнікі не зможуць адразніць галюцинацыю ад прасоўкі ў індэксаванні.
Пашыльныя падступкі
У стадії «Звычныя падачкі» неабходна ясная ваказка пра вхідныя даны, адміністратара крока і крэтэрыя завершэння перад змінайом коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрюючы пра схованы стан. Запісвайце час выконання і вартась токенаў або запытак праза функцыйнае рэзультат. Відразліва візуалізацыя вартасей запобегае неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спакульную. Указвайце тыя часткі тексту, якія фактычна лежалі в основе адпаведнай адказу. Без цых цітатаў аператары не можаюць разлічыць галюцинацію ад прасоў у індэксаванні. У стадії «Звычныя падачкі» неабходна ясная ваказка пра вхідныя даны, адміністратара крока і крэтэрыя завершэння перад змінайом коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрюючы пра схованы стан. Аддзейнавайце дакументацыю пра «успешны» і «восстанавліваючы» шляхі. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных запытак є часткай продукту, а не пасляднім дапрацоўкам.
Абсалютна сума
Калі працюеце на стадыі «Абсалютная сума», спачатку запішыце умовы контракту: неабяжлівыя данні, сигнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераконтроўкі дапамагае залічыць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, прычына нявыполнення павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцужок задач. Перад налаштаваннем запитоў пераканайцеся, як система адпавідае на фіксаваны набор запитанняў. Частае змены запитоў рэдка калі вярнуюць слабкую эфектыўнасць адзысквання інформаціі.
Чек-ліст для эксплуатацыі
На стадыі «Чек-ліст для эксплуатацыі» перад зменай коду задаце данні, адпаведальную особу за крок і критэрыя завершэння. Аперацыйныя працавнікі павінны магчымае перазапускаць крок з вядомай точкі контролю, не падозрэўаючы пра схованы стан системы.
Зберагаюце канфігурацыю праза ў кодзе прыемліка. Файлы сяродавішча, храненні секрэтных дадзенаў і флагі функцыйяй должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжнага чытання всіх дадзенаў.
Указваюце тыя часткі, якія насправдзе ляглі воснова для адпаведнай адказы. Без ціх цитатаў аператары не можуць разлічыць галюцинацію ад працягу індексавання.
Напісце кароткі путаводзік: як зменяць клучы, як спрабаваць апустошыць чергу, як вярнуць стан да пярэднега кроку.
Документавацыя успішнага і восстанавліваючага падхода должна быць аднойчы. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Указваюце тыя часткі, якія насправдзе ляглі воснова для адпаведнай адказы. Без ціх цитатаў аператары не можуць разлічыць галюцинацію ад працягу індексавання.
Перш чым запускать стак, заморозьце версіі, зафіксавце «золаты» транскрыпты для критычнага шляху і паказвце способы абяроны. У спільных средах неабходны ліміты частоты запытанняў, пераконтроўкі прав на выкарыстоўванне ресурсаў і чысткі власнік для змены секрэтных даных. Валіце простую надзейнасць працы над крэатывнымі, адзінразовымі дамаваннямі.
Прыметкі для 2cae16e3a91c: не кладзіце ключы прадаўцаў у репазітарый, задаце верхнюю межу токенав на сесію і зберагачыце транскрыпты празаўседы ў фіксы для ацэнкі, каб пазнейшыя замены моделяў заставаліся пораўнанымі.