Галоўная / Артыкулы / Практычныя прытамулкі: Паўнайшы план розвітку RAG: ад «Што гэта?» да прыемлівання

Практычныя прытамулкі: Паўнайшы план розвітку RAG: ад «Што гэта?» да прыемлівання

Практычныя прытамулкі: Паўнайшы план розвітку RAG: ад «Што гэта?» да прыемлівання: контракты, перакрыцчы і месца для коду для команд, якія викорыстоўваюць гэты патэрн.

2070 слоў

Існавайце гэта як перапрацоўаны варіянт ідэй з кнігі «The Complete RAG Roadmap: From “What Is It?” to Production» для працавальнікаў: чыстыя этапы, аранжаваныя блакіты коду і прыметкі па вяснаванню, якія застаюцца пасля перадачы заданняў. Этап Апглед ўсё лепш працюе, калі яго розглядаць як вимерны элемент. Запісайце адна ідеальная транскрыпцыя, адзін прыклад неудачы і прыметкі па атрыбуцыі да пачатковага стану прычымо расшырэнню масштаба. Запісвайце часы выканання і косты токеноў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае паказанне костаў з’являецца перашкоду неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спакульнаныя сераўысы.

Спачатку — версія ў аднай лініі

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

Для каго праграма

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

Форма базовай системы RAG

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

План дзеяння

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

Частка 1 — Фундаменты: чаму воўсе існуе RAG

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

Частка 2 — Прыем і разбіўка на часткі

Калі працуеце над часткаю 2, стадзіяю Ingestion, спачатку запісайце умовы кантракту: неабяжлівыя данні, сигнал працэздольнасці і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканаецца, каб пазнейшыя змены коду былі чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыполнення павінна вказываць на адзіну адпаведальнасць, а не на заплутаны ланцюг задач. Замерайце рэкалі на фіксаваным наборе запитаў прычым тэюнінгу прамптав. Частыя змены прамптав рэдка калі выправляюць слабую систему пошуку. Калі працуеце над часткаю 2, стадзіяю Ingestion, спачатку запісайце умовы кантракту: неабяжлівыя данні, сигнал працэздольнасці і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканаецца, каб пазнейшыя змены коду былі чыстымі. Запісвайце час выканання і кост токенав або запытаў праза функцыйнае рэзультат. Відкрытыя данні пра косцы з самага пачатку запобегаюць неспакойным рахункам, калі працэ пераходзіць з дэмавайнага режыма ў спакульнае сераўеравая сэрвіса.

Частка 3 — Эмбеддынгі і вектарныя базы дадзеных

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

Частка 4 — Адзячэнне і генераванне

Частка 4 «Адмініструванне запрашэння і стадыя» працюе найкраща, калі яе розглядаць як вимерную паверхню. Зафіксуйце адны «золаты» транскрыпт, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументавайце як шлях успеху, так і шлях вярнэння да нормальнага стану разам. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не наступным этапам дорабкі. Раздзеліце правілы частковай обработкі даных ад правілаў запрашэння. Змена адных не павинна вымагаць перапісву іншых, калі зменяюцыся паказатэлі якосці.

Частка 5 — Адзякаванне

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

Частка 6 — Развітая выкарыстоўвання інфармацыі

Для стадіі адвансаванага выкарыстання дакументаў у Частцы 6 неабходна падчас змены коду адзначыць вхідныя даны, адпаведальнага за этап і крэтыяры завершэння. Аператары должны магчымае перадзеісцаваць этап з вядомага пункта контролю, не спрабоўваючы з’ясаваць захаваны стан. Конфігурацыю трэба залічыць паза кодам прыемленае. Файлы сераўнавання, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь ланцуг задач. Паказваць трэба тыя часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цых цітатаў аператары не можаць разлічыць галюцинацію ад прасоўкі ў індэксаванні.

Частка 7 — Адвансаванае індэксаванне

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

Частка 8 — Агентны і самакорэктуючыся RAG

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

Частка 9 — Мультімодальны RAG

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

Частка 10 — Продакцыя

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

Адны спосаб разбіркі, який дапамагае усёму застацца ў памяці

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

Што не будзе робіцца ў гэтай серыі

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

Як следзіць за процесам

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

Чэрніця кантролю эксплуатацыі

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

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

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

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

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

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

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

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