Практычныя прытамулкі: Стварэнне каналу RAG для выправлення пытань і адказоў на YouTube: Чаго не хапіла
Практычныя прыказкі: стварэнне каналу RAG для выправлення проблем у YouTube Q&A: што паўзало – кантракты, перакрыцця та слоты для коду для команд, якія викорыстоўваюць гэты патэрн.
Наступныя прыміткі паказваюць практычны шлях для рэалізацыі «Стварання корэктыўнага каналу RAG для адпаведзення на запытанні ў YouTube: Чаго не хапяў і чаму?». Акцэнт ставіцца на кантракты, перакрычанняя і месцы для коду, а не на мотывацыйны падход. Калі працуеце на стадзіі агляду, спачатку запісайце кантракт: неабходныя вхідныя даны, сігнал успеху і тое, што выканаецца у разе частковага невыпання. Такі список перакрычанняя дапамагае заліцвачваць пазнейшыя змены ў кодзе. Спрэцьвачваюце гэтую стадзію як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы элементам, задаце критэрыя успеху і не падтрымайце частковае завершэння без адпаведных падтверджэнняў.
Разбіванне на часткі:
Этап чанкавання працюе найэфектывней, калі яго розглядаць як вимерную плошчу. Зафіксавце адны ідеальны прымер, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Запісвайце часы выканання і косты токенавання або запита праз адныя з функцыональных рэзультатаў. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спяльныя сераўы. Раздзеляйце правілы чанкавання і правілы выкарыстоўвання дадзеных. Змена адных не павінна вымагаць перапісвання іншых, калі змянююцца паказнікі якосці.
Модель імбеддавання:
Этап модэлю Embedding працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адну ситуацыю неудачы і прыметкі па поверненню да пачатковага стану пры расшырэнні масштаба. Зберагачце настройкі пазначынай з кодам прыемлена. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адрабатаваць без неабяжнага чытання всіх дадзеных. Задазвайце ліміт токэнаў на кожны раунд і на кожную сесію. Інструменты з агентным режымам актыўна расшырваюць контэкст; строгі ліміты запобегаюць таму, каб дэманстрацыі ператварыліся на неспакоючыя рахункі.
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=800, # Notice: 800 characters limit here (~200 tokens)
chunk_overlap=200,
length_function=len,
is_separator_regex=False,
)
docs = text_splitter.create_documents([text])
sentence_transformer = HuggingFaceEmbeddings(
model_name="sentence-transformers/all-MiniLM-L6-v2"
)
vector_store = Chroma(
collection_name=get_config("vectorDB_collection_name"),
embedding_function=sentence_transformer,
)
Стан LangGraph і ChromaDB:
Этапы LangGraph State і ChromaDB працуюць наякнайэфектывней, калі іх спрыяваць як меравальную паверхню. Зафіксавце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Дакументавайце як успішны, так і варыянт вярнэння да нормальнага стану. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не наступным этапам доработкі. Раздзеляйце правілы частковай обработкі дадзеных і правілы ўтрымання інформацыі. Змена адных не павинна вымагаць перапісву іншых, калі зменяюцыся паказателі якосці. Этапы LangGraph State і ChromaDB працуюць наякнайэфектывней, калі іх спрыяваць як меравальную паверхню. Зафіксавце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Спрыявайце этапу як кантракту межа вхіднымі дадзенымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і не падтрымвайце бяспечнае частковае завершэння задання.
app.aupdate_state(
config={
"configurable": {
"thread_id": thread_id,
"recursion_limit": 30,
"vector_store": vector_store, # Pass the Vector DB here
}
}
)
Асінхронная екзекуцыя і функцыя input( ):
Для фазы асінхроннай експанацыі і вводу неабяжна пазначыць даннэ вводу, адпаведальнага за шаг і критэрыя завершэння пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск шагу з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць час выконання і кост токена або запытку праз адзін час з функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі траекторыя пераходзіць з дэмаверсіі ў спакульнаныя среды. Указваць тые часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цых цітатаў аператары не можуць разлічыць галюцинацію ад прасоў у індэксаванні.
await app.aupdate_state(
config={
"configurable": {"thread_id": thread_id, "recursion_limit": 30}
}, # adjust as needed
values={
"user_query": user_query # Send the user inputs using the 'values' property
},
)
Локальная працэсаванне проты транскрыпціі на хмаре
Для ўрагану «Локальна версія проты Версія на хмаре» неабходна пазначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры перадзеі коду. Аперацыйныя працавнікі должны магчыма ўвайсці крок з вядомага пункта контролю, не спрабоўваючы з’ясаваць захаваны стан. Канфігурацыю трэба залічыць праза код аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь ланцуг задач. Паказваць трэба тыя часткі тексту, якія фактычна лежаць у падставе адпаведнай адказы. Без ціх цитатаў працавнікі не зможуць адразніць галюцинацыю ад працягу індэксавання.
Вывыкі:
У стадії выварацыя неабходна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перамены коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є частью продукту, а не дадатковым элементам пасляўпрацоўкі. Прыцытаваць часткі тексту, якія фактычна лежаць у падставе адпаведнай адказу. Без цітатаў аперацыйныя працавнікі не можу разлічыць галюцинацію ад прасоўкі індэксацыі. У стадії выварацыя неабходна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перамены коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяць гэтай стадіі як даговору межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назваць всі неабходныя элементы, узначыць критэрыя успеху і не прабаваць адмаўляць частковыя завершэння працы без адпаведных пазначэнняў.
Чек-ліст для аперацый
У стадії перагляду канцэларыі аперацыйяў неабходна практычна вызначыць даннэ, адпаведальную особу за кожны крок і крэтыніяты для завершэння працы перад зменым коду. Аперацыйныя працавнікі должны магчыма ўвайсці ў крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан.
Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы павінна вказываць на адзін конкрэтны элемент, а не на заплутаны ланцюг задач.
Наводзіце тыя часткі тексту, якія фактычна падтрымліваюць адпаведную адказ. Без цых цытатаў аперацыйныя працавнікі не зможуць адразніць галюцинацыю ад працягу індэксавання.
Напішыце кароткі посібнік: як роцыяваць канты, як спрачысніць чергу, як анулюваць пярэдніе дадзеныя.
Спрыятліва ставіцеся да гэтай стадії як да кантракту межа даннэмі і перакананымі выходнымі рэзультатамі. Называйце всі элементы, практычна вызначайце крэтыніяты успеху і адмовляйцеся ад тыхчасовага частковага завершэння.
Указаць тыя часткі тексту, які фактычна ляглі в основу адказу. Без цых цытатаў аператары не можаюць разлічыць галюцинацію ад прасоўкі ў індэксаванні.
Перш чым пераходзіць да наступнага крока, заморозіць версіі, зафіксаваць «золаты» транскрыпт для критычнага маршруту і паказаць способы абратнага запуску. У спільных средах неабходны ліміты частоты запуска, перакананні ў правах на викорыстоўванне ресурсаў і чысткі власнік для змены секрэтных даных. Лепш выбіраць простую надзеянасць на стабільнасць, чым хітрыя експерыментальныя прыклады.
Прымітка для 93e5d15be033: не клаці ключы прадаўцаў у репазітары, задаць максімальны тэрмін дзейнасці токена на кожную сесію і зберагчыць транскрыпты рядом з фіксатамі для ацэнкі, каб пазнейшыя змены моделей заставаліся порównанымі.
Для стадіі 0 прыема забезпечэння надзеі неабяжна практычная ваказка: перад зменым коду трэба адзначыць вхідныя данні, адпаведальнага за крок і критэрыя завершэння. Аперацыйныя працавнікі должны магчыма ўвайсці гэты крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Дакладныя ваказкі забезпечэння надзеі 0/813: памерыць час выканання, класію адказоў і колькасць выкорыстоўваных токеноў для гэтай ваказкі, а пасля, на аднойчынных критэрыях, а не на індывідуальных спостарожэннях, вырашыць, чы робіцца змена.
Калі працуеце над першым этапам зміцнення, спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае заліцвачваць пазнейшыя змены коду. Спрэтавайцеся да гэтага этапу як да контракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыкулам, задаце критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Дзеянне зміцнення 1/813: вымерыце час выканання, класію памылак і колькасць викорыстоўваных токенав для гэтага пункту, а потым выявіце, чы хацеце застаўіць змену на адной пазначанай базе пытанняў, а не на адной лячбе.
Этап зміцнення 2 працюе лепей, калі яго спрэтавацца як да вимерыванай плошчы. Запісайце адну ідеальную транскрыпцыю, адзін прыклад невыпання і запіску пра адвярненне перад расшырэнням масштаба. Зберагайце настройкі праз адна месца, не ў кодзе прыемлівача. Файлы сераўіса, хранільнікі секрэтных данных і флагі функций павінны знаходзіцца ў адной локалізацыі, куды аператары можуць аудытаваць іх, не чытаючы весь граф.
Дзеянне паўжчання 2/813: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змены.
Для 3-й стадзіі паўжчання неабходна перад змянай коду чытка апісаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыяныя працавнікі павінны магчымае перадзванаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехарактернага рэзультата павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач.
Дзеянне паўжчання 3/813: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змены.
Калі працюеце над 4-й стадзіяю практыкы забезпечэння безпекі, спачатку запісайце умовы кантракту: неабяжлівыя данні, сігнал успеху і тое, што выходзіць па частым неудачам. Такі список контроля дапамагае заліцварыць пазнейшыя змены ў кодзе.
Запісвайце час выканання, а таксама вартасць токенаў чы роезыкаў па боку ад функцыйнаых рэзультатаў. Візуабельнасць вартасцей з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне забезпечэння безпекі 4/813: вымерайце час выканання, класію памылак і витрату токенаў для гэтай практыкі, а потым выберайце, чы прымусіць змену на адной пазнаковай базе, а не на аснове індывідуальных спазыроў.