Практычныя прытамулкі: пошук вектараў, семантычны пошук і RAG: як штучны інтэлект знаходзіць
Практычныя прыказкі: Пошук вектарамі, семантычны пошук і RAG: як штучны інтэлект знаходзіць контракты, перакрыцці і шаблоны коду для команд, якія выкарыстоўваюць гэты патэрн.
У гэтым керавану практычна адбудова пацёгу ад сыр'ёчных матэрыялаў да рабочай системы для: пашуку за вектарамі, сэмантычнага пашуку і RAG: як ШІ знаходзі правы контэкст. Акцэнт ставяцца на практычныя крокі, чыстае перакананне і код, які можна проста дадаць у репазітарый без неабяснення меты. У стадзіі агляду неабяжна з'явіць вхідныя даны, адпаведальнага за крок і критэрыя завершэння прычыму перад зменай коду. Аператары должны магчымае перадзначыць крок з вядомай точкі контролю без неабяснення схованага стану. Конфігурацыю трэба залічыць паза кодам прыкладнення. Файлы сераўіса, хранілішча секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядзець без неабяснення всіх аспектаў.
Проблема пашуку за ключоўымі словамі
Калі працуеце над стадзіяй з ключовымі словамі, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад часты няудача. Такі список пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некоректных паведамленняў ёсць частью продукту, а не пазнейшым дапрацоўкам. Змяркуйце рэткасць на фіксаваным наборы пытанняў прычым регулюванні запрошэнняў. Частае змена запрошэнняў рэдка калі вялікі эфект на слабую систему аднаходжэння інформацыі.
Асновная ідея: ператварыць значэння на цифры
Калі працюеце над стадзіяй «Асэнс центральнай ідэі», спачатку запішыце контракт: неабяжлівыя даны, сігнал успеху і тое, што выканаецца у разе частковага нявыпалення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок нявыпалецца, прычына нявыпалення павінна вказваць на адну адпаведальнасць, а не на заплутаны ланцужок задач. Перад налаштаваннем запитоў пераканайце рэкалі на фіксаваным наборы пытанняў. Частае змена запитоў рэдка калі-небудзь выправляе слабую систему адналёгчэння інфармацыі.
cat → [0.20, -0.40, 0.70]
dog → [0.60, 0.10, 0.50]
Семантычны пошук і векторны пошук: у чым разлік?
Калі працуеце над стадзіяй семантычнага пошуку і вектарных тэхналогій, спачатку запісайце контракт: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканаецца, каб пазнейшыя змены коду былі чыстымі. Спрэцьвуйце да гэтай стадзіі як да контракту межа даннемі і перакананымі выходамі. Дайце назвы артыфактам, задаце правіла пераканання успеху і адмовіцеся ад тыхоўага частковага завершэння. Замерайце рівень вярнага аднаходжэння на фіксаванай сэтцы запытаў прычым регулювання прапаза. Частая змена прапаза рэдка калі вярнайце слабую базу аднаходжэння. Калі працуеце над стадзіяй семантычнага пошуку і вектарных тэхналогій, спачатку запісайце контракт: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканаецца, каб пазнейшыя змены коду былі чыстымі. Зберагаеце настройкі за межамі коду прыемліка. Файлы сераўіса, храненнія секрэтных дадзенаў і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Як працюе процес RAG з векторным пошукам
Этап «Як працюе процес RAG з векторным пошукам» працюе найкраща, калі яго розглядаць як мэркаваную плошчу. Зафіксавайце адны ідеальны прыклад, адну ситуацыю неудачы і прыметкі па поверненню да пачатковага стану пры расшырэнні масштаба. Дакументавайце як правільны, так і альтернатывны шляхы рашырання. Практыка павторных спроб, кантроль з боку людзей і обработка некоректных паведамленняў ёсць часткая продукту, а не элементы пазнейшай дапрацоўкі. Раздзеляйце правілы фрагментавання і правілы адзысквання дакументаў. Змена адных не павінна вымагаць перапісвання іншых, калі змянююцца паказателі якосці.
Фаза 1: Стварэнне хранілыша вектораў
Этап 1: стварэнне сцэны працюе найкраща, калі яго розглядаюць як вимерную паверхню. Запісаўце адна «золатая» транскрыпцыю, адин прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны процес. Раздзеляйце правілы часткавання і правілы выявлення. Змена адных не павінна прыводзіць да перапісву іншых, калі змянююцца паказатэлі якосці.
Этап 2: Адпаведзь на запытанне пользователя
Этап «Answer a» фазы 2 працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адну справу з бягамі та прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Разглядзайце гэты этап як кантракт межа вхіднымі даннымі та пераканаленымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху та не падтрымайце безсловесна часткова завершэння задання. Раздзеліце правілы частковай обробкі данных ад правілаў ўзяць іх. Змена адных не павінна вымагаць перапісву іншых, калі зменяюцца паказнікі якосці. Этап «Answer a» фазы 2 працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адну справу з бягамі та прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Зберагачце настройкі праза код аплікацыі. Файлы сяродавішняе сераўісу, хранілішчы секрэтных данных та флагі функцый должны знаходзіцца ў аднам месцы, куда аператары можуць аудытаваць іх без неабяжнага чытання всіх дадзеных.
User question
→ question embedding
→ vector database similarity search
→ top matching chunks
→ LLM with question + context
→ grounded answer
Што робіць база дадзеных вектароў?
Для вектарных стадзіяў неабходна прадзефінаваць вхідныя даны, абоўязкі виконавца крока і крэтыяры завершэння пры змены коду. Аперацыйныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Неабходна аддзеўнаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцці і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Паказваць трэба тыя часткі тексту, якія фактычна лежаць у падставе адпаведнай адказы. Без ціх цитатаў аперацыйныя працавнікі не зможуць адразніць галюцинацыю ад прасоў у індэксаванні.
Вектарныя базы дадзеных проты традыцыйных баз дадзеных
Для баз дадзеных Vector у працэвушчы з традыцыйнымі падходамі неабяжна перад зменай коду адзначыць вхідныя даны, адпаведальнага за кожны крок і критэрыя завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы прыхованы стан системы. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выконваецца, прычына неудачы павінна вказываць на адзін конкрэтны элемент, а не на заплутаную структуру процеса. Прытамульвайце тыя часткі тексту, якія фактычна лежаць у падставе адпаведнай адказы. Без ціх праменаванняў аператары не зможаць розразліць галюцинацыю ад працэзу індексавання.
Чаму гэта важліва для RAG
Ёнколі гэта мае значэнне для данага этапу, перад змянайом код неабходна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце таму, каб гэты этап быў схожы на контракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, узначыць критэрыя успеху і не прабоўваць прыймаць часткова завершаныя рэзультаты без падтверджэння. Цітуйце тыя часткі тексту, якія фактычна лежаць у падставе адпаведнай адказы. Без цітатаў аператары не можуць розразліць галюцинацію ад прычыны, вызванай недастаткам інфармацыі. Ёнколі гэта мае значэнне для данага этапу, перад змянайом код неабходна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Храніце настройкі праза код аплікацыі. Файлы сераўіса, сховішчы секрэтных даных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можуць пераглядаць, не чытаючы весь код.
Тры прыклады практычнага выкарыстання ў бізнесе
Калі працуеце над трыма прыкладамі практычнага выкарыстання ў бізнесе, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што вядзецца пад частым нявыпаннем задачы. Такі список контроля дапамагае заліцьваты змяны ў кодзе. Запісуйце адночасна шлях успеху і шлях вярнення да нормы. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не дадатковыми правкамі пазнейшае. Перад налаштаванням запитоў пераканайцеся, наскількі эфектыва працуе система з фіксаваным наборам запитанняў. Змена запитоў рэдка калі вярнайце слабкую эфектывнась запошуку.
1. Внутрашній асистэнт з ведамасцямі
Калі працюеце над 1-ым этапам внутрэньга асистента знаёмасцей, спачатку запішыце контракт: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць пад частым неудачам. Такі список пераканаецца падтрымліваць чыстасць пазнейшых змен у кодзе. Валіце малыя, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну адпаведную адпаведальнасць, а не на заплутаны ланцужок задач. Перад налаштаваннем запитоў пераканаецца рэкалі на фіксаванай сэтке запытаў. Частае змена запытаў рэдка калі лечыць слабую спроможнасць выкарыстоўвання інформацыі.
2. Пошук у службе падтрымкі кляўэнтаў
Калі працуеце над 2-м ўрадзамом пошуку падтрымкі для кляўэнтаў, спачатку запісайце кантракт: неабходныя даны, сігнал успеху і тое, што выходзіць, калі адбываецца частковая нявыплата. Такі список пераканаецца дапамагае залічыць пазнейшыя змены ў кодзе. Спрэцьвачайце гэты ўрадзам як кантракт межа данымі і перакананымі выходамі. Дайце назву артыфактам, задацьце перакананні успеху і адмовіцеся ад тыхоўкага частковага завершэння. Замерайце рівень адзыскання на фіксаванай сэтке запытаў прычым налаштаванні прапаза. Частая змена прапаза рэдка калі лячыць слабую систему адзыскання. Калі працуеце над 2-м ўрадзамом пошуку падтрымкі для кляўэнтаў, спачатку запісайце кантракт: неабходныя даны, сігнал успеху і тое, што выходзіць, калі адбываецца частковая нявыплата. Такі список пераканаецца дапамагае залічыць пазнейшыя змены ў кодзе. Зберагайце налаштаванні за межамі коду прыемленае. Файлы сяродавішча, хранілішча секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
3. Памяць і артыкулы AI-агента
Памяць і стадіі роботы AI-агента працуюць наяўней, калі іх спрыяваць як меркаваныя параметры. Запісаўце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да поперадняе стану перш чым расширваць сферу дзеяння. Дакументаваць трэба як успішны, так і вярнучыся шляхы роботы. Перапрыбуткі, кантроль з боку людзя і обработка некоректных паведамленняў є часткай продукту, а не элементамі пазнейшага доўнелення. Раздзеляйце правілы часткавання дадзеных і правілы ўтрымання іх. Змена аднаго з яных не должна вымагаць перапісвання другога, калі зменяюцыся показнікі якосці.
Выборы па адбудове, якія вплываюць на якосць
Выборы парадыгмай адканалення, якія вплываюць на этапы роботы, найэфектывнейшая калі іх расследваць як меравальную вялічыню. Запісаце адна ідеальная версія, адзин случай неудачы і прыметкі па поверненню да пачатковага стану пры расшырэнні масштаба. Валіце маленькія, тэставальныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Раздзеляйце правілы часткавання інфармацыі ад правіл яе выявлення. Змена адных не павінна прымусваць перапісванне іншых, калі змянююцца паказателі якосці.
Просты вывад
Простыя этапы аналізу працуюць наўжоўды, калі іх спрыяваць як меркаваную плошчу. Зафіксуйце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Спрыяйце гэтым этапам як кантракту межаў вхідных дадзеных і перакананых выходных рэзультатаў. Дайце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Раздзеліце правілы часткавага аналізу і правілы выкарыстоўвання дадзеных. Змена адных не павінна прымусваць перапісванне іншых, калі змянююцыся показнікі якосці. Простыя этапы аналізу працуюць наўжоўды, калі іх спрыяваць як меркаваную плошчу. Зафіксуйце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Зберагаюце настройкі праза код аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх дадзеных.
Чэк-ліст для эксплуатацыі
Этап перагляду канцэлкі працоўных процедурах работае наяўней, калі яго спрыяваць як мерыемую велічыну. Запісаце адна ідеальная версія, адзін прыклад неудачы і запіс пра можлівасць вярнуцься назад, прычаму расшырваеце сферу дзейнасці.
Запісвайце часы выканання і косты токеноў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае паказанне костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спакульнаныя сераверы.
Раздзеліце правілы частковага обробкі дадзеных ад правіл выкарыстоўвання іх. Змена аднаго з іх не павінна вымагаць перапісву другога, калі зменяюцца паказнікі якосці.
Калі дозволяе бюджет, дадзіце тэст на працясцю критычнага маршруту ў системе CI з викорыстоўванням фіксатываў, а не рэальных платных API.
Зберагачыце настройкі парадульна ад коду прыемлівача. Файлы среды, хранільнікі секрэтных дадзеных і флагі функцыйяў павінны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць аудыт, не чытаючы весь код.
Неабяжнае правіле чанкавання і правіле адгэтування. Зменшэнне або збільшэнне паракетара якога-небудзь з іх не павінна прымусваць перапісванне другога, калі зменшуюцца або зростаюць паказнікі ясноцы.
Перш чым пераводзіць систему на новы рэверс, заморажаваюць версіі, фіксуюць ідеальны транскрыпт для критычнага маршруту і паверачваюць способы адвярнення проблем. У спільных средах неабходны ліміты частоты запытоў, перакананні ў правільнасці адпаведальных особ і чыстае вакалванне для змены секрэтных даных. Лепш выбіраць простую надзеянасць на стабільнасць, чым крэатывныя, але еднакратныя дамы.
Прымітка для 715e311303f5: не кладзіце ключы прадастоўніка ў репазітарый, задаце ліміт токена на кожную сесію і зберагаце транскрыпты празаўсёды разам з фіксатарамі для ацэнкі, каб празьледнейшыя замены модэляў заставаліся пораўнанымі.