Галоўная / Артыкулы / Практычныя прытамулкі: Чым ёсць RAG? Апаведзенне пра тэхналогію Retrieval-Augmented Generation

Практычныя прытамулкі: Чым ёсць RAG? Апаведзенне пра тэхналогію Retrieval-Augmented Generation

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

1736 слоў

Наступныя прыміткі паказваюць практычны падход да тэмы «Што такое RAG? Історія заўантажвання дадзеных для паўтаральнай гэнеравання тэксту і чаму гэта назаўсёды змяніла штучны інтэлект». Акцэнс ставіцца на контракты, перакананняя та шаблоны коду, а не на мотывацыйныя аспекты. Калі працуеце на стадзіі агляду, спачатку запісайце контракт: неабходныя даны, сігнал успеху та тое, што вядзецца праз частковыя невыконанні. Такі список контроля дапамагае заставіць пазнейшыя змены коду чыстымі. Документавайце як успешны, так і варыянты восстанавлення працы. Практыка падзеяў, перагляд з боку людзей та обробка некоректных паведамленняў є частью продукту, а не елементамі пазнейшай дапрацоўкі.

Введэнне

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

Чаму большым мовным моделям былі патрэбны зовнішнія знання?

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

Параметрычная памяць проты непараметрычной памяці

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

До RAG: Эвалюцыя методаў пошуку інформацыі

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

Адзыскванне ўжоўткнутых пасункоў (DPR): Ад кан’юнктурных слоў да большага

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

Адпаведзенне на запытанні ў відкрытых доменах

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

Палітура.

Адыякшыя работа RAG (2020)

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

RAG-Sequence проты RAG-Token

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

Абмежэнні первачальной архітектуры RAG

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

Як эвалюаваўся RAG

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

Заключныя меркі

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

Чэрніця кантролю

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

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

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

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

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

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

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

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

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

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

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

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

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

Дзеянне прыемкі з паўнейшага захавання 2/770: замеры часу выканання, класаў паказакоў і витрачання токенаў для гэтай прыемкі, пасля чаго вынікніце рашэнне пра тое, чы хацеце застаўіць змену на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.

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

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