Практычныя прытамулкі: Полная кніга па адзінкуваннях для інжынераў AI (Частка 1): Чаму RAG
Практычныя прыказкі: Полная кніга практык для спэцыястаў з AI ў адборах на работу (Частка 1): Чаму RAG: контракты, перакрыцчы і слоты для коду для команд, якія выкарыстоўваюць гэты патэрн.
Існавайце гэта як перапрацоўаны варыянт ідэй з кніги «Паўны практычны даведнік для спэцыястаў з AI (Частка 1): Чаму системы RAG не функціонуюць» для аператараў: чыстыя этапы, аранжаваныя блакі для коду і прыметкі з восстанавлення, якія застаюцца пасля перадачы задання. Этап агульнага аналізу работае найэфектывней, калі яго розглядаць як мерыябельную паверхню. Запісаце адна ідеальная транскрыпцыю, адзін прыклад неудачы і прыметкі з вярнення да пачатковага стану прычаму расшырэння масштаба. Разглядайце гэты этап як кантракт між вхіднымі даннымі і пераканаўцамі выходных рэзультатаў. Дайце назвы артыфактам, задаце критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння задання.
1. Калі система RAG разумее дакумент, але ўсё раву не розумее сутнасі
Для першага, калі ўжо є стадія RAG, неабходна пазначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перадзеіснавленні коду. Аператары должны магчыма ўвайсці крок з вядомага пункта контролю, не спрабоўваючы здогадвацца пра схованы стан. Запісвайце час выконання і вартасьць токеноў або запытаў разам з функцыйнальнымі рэзультатамі. Візуабельнасьць вартасцей з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спакульную. Указвайце тыя часткі тексту, якія фактычна сталі падставай для адпаведнага адказу. Без ціх цитатаў аператары не можаць розразліць галюцинацію ад прычын, зв’язаных з недастаткам індэксацыі.
Практычны падход
Для стадіі «Прагматык адзінакоў» неабходна перад змянай коду вызначыць даны, адпаведальную особу за этап і крэтыры завершэння. Аператары должны магчымае перадзягнуць этап з вядомай точкі контролю, не падозрываючы прыхованы стан. Конфігурацыю трэба залічыць параду ад коду прыемлікі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцый крануцца на аднай пазе, дзе аператары можаць аудытаваць іх, не чытаючы весь лянцуг. Паказваць трэба тые часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цых цітатаў аператары не можаць разлічыць галюцинацію ад прасоўкі ў індэксаванні.
2. Чаму система RAG, якая працавала пад час разработкі, не функцыонуе ў працэсе вырабоцтва
Для стадіі 2 Why a RAG неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры змяне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Паказваць часткі тексту, якія фактычна лежаць у падставе адпаведнай адказы. Без ціх цитатаў аперацыйныя працавнікі не можуць розразліці галюцинацыю ад прасоў у індэксаванні. Для стадіі 2 Why a RAG неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры змяне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяць гэтай стадіі як кантракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даць назвы артыфактам, узначыць крэтыры успеху і не прабоўваць прыймаць часткова завершаныя рэзультаты без паведамлення.
Праблэмы, якія выяўляюцца пад час адбору
Калі працюеце над стадзіяй «Перспектыва адзінкавання», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Запісвайце часы выканання і кост токеноў або запытаў праза функцыйнае рэзультат. Відкрытыя даны пра косцы з’являюцца рана, таму не будзе неспакою, калі процес пераходзіць з дэмаверсіі ў спяльныя среды. Перад налаштаваннем запрошэнняяў пераканайцеся, як система адпавідае на фіксованыя наборы запытаў. Частае змены запрошэнняяў рэдка калі выправляюць слабую спроможнасць системы да адзінкавання.
3. Калі система адзінкавання знаходзіць правыя дакументы, але LLM все равно дае некоректную адпаведзь
Калі працюеце над стадзіяй «3 When Retrieval Finds», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўвае чыстасць пазнейшых змян у кодзе. Зберагайце настройкі параду ўнутры коду аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабяжлівага чытання всей структуры. Зберагайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача таго ж самога прамэра ёсць частым выклікам зношвання ресурсаў.
Праблэмы, якія вартуе адзначыць пад час адбавання інтэрв’ю
Калі працюеце на стадыі «Перспектыва адзінкавання», спачатку запісайце угоду: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканальвае залічваць пазнейшыя змены коду адкрыта і чыста.
Заключэнне
Этап вынікнення рэшынкі працюе найэфектывней, калі яго спрыяваць як меравальную плошчу. Запісайце адна ідеальная версія рэшынкі, адзін прыклад неудачы і запіс працэй з вярненням да пачатковага стану, прычым расширюючы сферу дзеяння. Запісвайце часы выконання і косты токеноў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае прадставленне костаў запобегае неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды. Раздзеляйце правілы частковай обработкі дадзеных і правілы ўтрымання інформацыі. Змена адных не павінна вымагаць перапісвання іншых, калі змянююцыся паказателі якосці.
Чэрніца кантролю
Калі працуеце над этапам чэрніцы кантролю, спачатку запісайце умовы кантракту: неабходныя данні, сігнал успеху і тое, што выканаецца у разы частковай неудачы. Такая чэрніца дапамагае заліцвачыць пазнейшыя змены ў кодзе.
Вядомей выбірайце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, неудача павінна вказваць на адную адпаведальнасць, а не на заплутаны ланцоўкі дзеяння.
Зьвярзіце рэкалі на фіксаванай сэтке запытаў прычымо да налагоджэння прамптав. Часта змена прамптав рэдка калі лечыць слабую систему аднаходжэння інфармацыі.
Зафіксавайце версіі залежнасцей і запісаўце сумарны атрыбут зображэння, якое было выкаранае пад час дамоў. Возможнасць перапрыявлення рэзультатаў лепша за традыцыйныя знання.
Спрыятлівае ставленне да гэтага этапу як да кантракту межа вхіднымі дадзеннямі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задацьце критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Зьвярзіце рэкалі на фіксаванай сэтке запытаў прычымо да налагоджэння прамптав. Часта змена прамптав рэдка калі лечыць слабую систему аднаходжэння інфармацыі.
Перш чым пераводзіць стэк, зафіксавайце версіі, запісаўце „золаты“ транскрыпт для критычнага маршруту і паказвайце крокі для адвярнення змян. У спакульнаваных средах патрэбны ліміты частоты, перакананні ў прыналежнасці і чысткі власнік для ротацыі секрэтных дадзенняў. Валіце надтаямну надзейнасць працы над крэатывнымі, але разовымі дамоў.
Запіска параграфу 6217c17249fc: не трэба кантрацеўваць ключы прадастоўніка ў репазітары, задаць максімальную кантроль на токены за сесію, а таксама зберагчы транскрыпціі праза фіксатуры адлічэння, каб пазнейшыя замены моделей заставалі пораўняннымі.
Для запіскі параграфу 0 пра зміцнэнне: перад зменай коду неабходна апісаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыёныя працавнікі должны магчымае перадзваначыць крок з вядомага пункту контролю, не спрабоўваючы здагадвацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест аб’емных скрыптов. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес.
Дзеянне зміцнэння 0/771: памеры часу выканання, класаі бягаў і выкарыстаных токеноў для гэтай запіскі, пасля чаго трэба вырашыць, чы рашыцца застаўляць змяну на адной фіксованай сэтцы пытанняў, а не на асобістых спазыраннях.
Калі працуеце над першым этапам зміцнення, спачатку запісайте умовы кантракту: неабяцковыя даны, сігнал успеху і тое, што выходзіць пад частковыя неудачы. Такі список дапамагае заліцварваць будучыя змены коду. Празначайце час выканання задачі, а таксама вартасць токена чыя запиту празмаўляючы з рэзультатамі функцыянальнай працы. Візуабельнае прадставленне вартасцей з’являецца неспадзянанні па час пераходу з дэмовай среды ў спільныя сераверы.
Дзеянне зміцнення 1/771: вымерайце час выканання, класы памилак і витрату токена для гэтага пункту, а потым выберайце, чы робіць змену на адной пазначанай базе пытанняў, а не на адной лічбе прыкладаў.
Этап зміцнення 2 працюе лепей, калі яго спрыяваць як меравальную плошчу. Запісайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Дакументавайце як успішны, так і вярнэнчы паты. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжасткі 2/771: звярніце увагу на час выканання, класы паказчыкаў і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля вырашыце, чы робіць змяну на аднойчы зафіксаванай сэтце пытанняў, а не на аднойчы спазірнай інформацыі.
Для 3-й стадзіі паўжасткі неабходна перад змянай коду адначасова визначыць вхідныя даны, адпаведальнага за выкананне крока і критэрыяы завершэння. Аперацыйныя працавнікі павінны магчымае перадзванаць гэты крок з вядомага пункта контролю, не прымусваныя здагадвацца пра схованы стан. Штуючы гэту стадзію, трэба спрацавваць яе як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назвіце всі неабходныя элементы, визначыце критэрыя успеху і не падтрымвайце частковае завершэння без паведамлення.
Дзеянне паўжасткі 3/771: звярніце увагу на час выканання, класы паказчыкаў і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля вырашыце, чы робіць змяну на аднойчы зафіксаванай сэтце пытанняў, а не на аднойчы спазірнай інформацыі.
Калі працуеце над 4-й стадзіяю прыемкі з павышэння безпекі, спачатку запісайце умовы кантракту: неабяжлівыя данні, сігнал успеху і тое, што выходзіць на частым неудачам. Такі список контроля дапамагае заліцвачыць пазнейшыя змены ў кодзе. Зберагайце настройкі параду ўнутры коду прыемкі. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабяжлівага чытання всей структуры.
Дзялённе прыемкі з павышэння безпекі 4/771: вымерайце час выканання, класію каштоўкаў і выкарыстанне токенаў для гэтай прыемкі, а пасля выберайце, чы хацяце застаўіць змену, стварыўшы фіксаваны набор пытанняў, а не на базе індывідуальных спазыроў.
4-я стадзія прыемкі з павышэння безпекі работае лепей, калі яе спрыямаць як меравальную плошчу. Зберагайце адны ідеальны прыклад выканання, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес.
Дзеянне паўжасткі 5/771: звярніце увагу на час выканання, класы памылак і колькасць токенаў, выкорыстаных для гэтага запісу, а пасля, на аднойчынай базе фіксаваных пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацца застаўляць змяну.
Для 6-й стадзіі паўжасткі неабходна перад змянай коду чытко визначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыяныя працавнікі должны магчымае перадзвануць гэты крок з вядомай точкі контролю, не прабуючы спадарацца прыватнага стану. Запісвайце час выканання і колькасць токенаў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра витраты запобегае неспакойным рашчыткам, калі працэс пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне паўжасткі 6/771: звярніце увагу на час выканання, класы памылак і колькасць токенаў, выкорыстаных для гэтага запісу, а пасля, на аднойчынай базе фіксаваных пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацца застаўляць змяну.
Калі працуеце над 7-й стадзіяю прыемкі з павышэння безпекі, спачатку запісайце угоду: неабяжлівыя данні, сігнал успеху і тое, што выходзіць пад частковы нявыплэн. Такі список контролю дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў ёсць частью продукту, а не пазнейшым дапрацоўкам.
Дзялей 7/771 прыемкі з павышэння безпекі: вымерайце час выканання, класыя ошибакі і витрату токенав для гэтай прыемкі, а пасля выберайце, чы робіць змены на адной пазначанай базе пытанняў, а не на адной лічбе прыкладаў.
7-я стадзія прыемкі з павышэння безпекі работае лепей, калі яе спрыямаць як вымеральную плошчу. Зафіксавайце адну ідеальную транскрыпцыю, адзін прыклад нявыплэну і прыемку для абраткаў перад расшырэнням масштаба. Спрыяйце гэтай стадзіі як угоды межа даннімі і перакананымі выходамі. Дайце назвы артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння.
Дзеянне паўжасткі 8/771: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.
Для 9-го этапа паўжасткі неабходна перад змянай коду чытко апісаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымае перадзванаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Канфігурацыю трэба зберагчы параду коду прыкладнення; файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь код.
Дзеянне паўжасткі 9/771: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.
Калі працуеце над 10-ю стадзіяй ударожэння, спачатку запісайце шаблон кантракта: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць пад частковым неудачам. Такі список контроля дапамагае залічыць пазнейшыя змены ў кодзе чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач.
Дзеянне ударожэння 10/771: звярніце увагу на час выканання, класы каштоўкаў і витрату токенаў для гэтай стадзіі, а пасля вырашыце, чы робіць змены на адной фіксаванай базе пытанняў, а не на адной лічбе прыкладаў.
11-я стадзія ударожэння працюе лепей, калі яе спрыямаць як меравальную плошчу. Запісайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку па аброшчэнні змян, перш чым расширваць сферу дзеяння. Запісвайце часы выканання і вартасць токенаў або запыткаў разам з функцыйнальнымі рэзултатамі. Відкрытая інформацыя пра вартасці запобегае неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя сераўы.
Дзеянне паўжырання 11/771: звярніце увагу на час выканання, класыя ошибак і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчыне з фіксаваным наборам пытанняў, а не на асобістых спазырах, вынікніце рашэнне пра тое, чы робіць змяны.
Для 12-го этапу паўжырання неабходна з’явіць вакулпныя данні, адпаведальную особу за кожны крок і критэрыя завершэння пры змяне коду. Аперацыйныя працавнікі павінны магчымае перадзвігнуць крок з вядомага пункта контролю, не прыпускаючы стану, які ўтрымліваецца у секрэте. Неабходна аддзержаць дакументацыю як пра успішны ход задачы, так і пра способы ўстранення проблем. Практыка павторных спробы, людзкія перакрыцчы і адарожэнне некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжырання 12/771: звярніце увагу на час выканання, класыя ошибак і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчыне з фіксаваным наборам пытанняў, а не на асобістых спазырах, вынікніце рашэнне пра тое, чы робіць змяны.
Калі працуеце над стадзіяй 13 з адаптавання, спачатку запісайце контракт: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцьваты змяны ў кодзе чыстымі. Спрэцьвачайце гэтую стадзію як контракт межа данымі і перакананымі выходамі. Дайце назвы элементам, задаце критэрыя успеху і не прымайце часткова завершэння без паведамлення.
Дзеянні адаптавання 13/771: звярніце увагу на час выканання, класы каштоўкаў і витрату токенав для гэтай стадзіі, а пасля вырашыце, чы робіць змяну на аднойчы заданых критэрыях, а не на падставе індывідуальных спостарэнняў.
Стадзія 14 з адаптавання працюе лепей, калі яе спрэцьвачваюце як меравальную плошчу. Запісайце адны ідеалны прыклад работы, адзін кейс нявыпання і прыказку па адкатаванні, перш чым расширваце сферу дзейснення. Зберагайце настройкі параду ўнутры коду прыемлівалкі. Файлы сяродавішча, хранільнікі секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, куды аператары можаць аудытаваць іх, не чытаючы весь код.
Дзеянне паўжасткі 14/771: звярніце увагу на час выканання, класы памылак і колькасць выкорыстоўваных токенаў для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырах, вынікніце рашэнне пра тое, чы робіць змяны.
Для 15-го этапу паўжасткі неабходна з’явіць вхідныя даны, абавесця крока і критэрыі завершэння пры перамены коду. Аперацыйныя працавнікі павінны магчымае перадзваніць крок з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехацкага рэзультата павінна вказываць на адную абавесцю, а не на заплутаны ланцужок задач.
Дзеянне паўжасткі 15/771: звярніце увагу на час выканання, класы памылак і колькасць выкорыстоўваных токенаў для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырах, вынікніце рашэнне пра тое, чы робіць змяны.