Birlik 6 / 11

Kirish nazorati, tezkor shablon va suhbatni boshqarish

Daromadlar:

  • Foydalanuvchi vakolatlari asosida qidiruvni filtrlaydigan kirish boshqaruvini (ACL) sozlang
  • Kontekst va foydalanuvchi savolini to'g'ri joylashtiradigan qattiq shablonni yozish
  • Ko'p bosqichli suhbatlarda savol mustaqilligi va tarixni boshqarishni mashq qilish

Biz arxitekturani yaratdik; Keling, uni xavfsiz, izchil va suhbatdosh qilaylik. Bu boʻlimda uchta muhim mavzu mavjud: (1) foydalanuvchining vakolatiga koʻra qidiruvni filtrlaydigan kirishni boshqarish, (2) kontekst va savolni toʻgʻri joylashtiradigan ishonchli shablon, (3) koʻp davrali chatda savolning mustaqilligi va suhbatlar tarixini boshqarish. Ushbu uchtasi bo'lmasa, yordamchi ma'lumotlarni sizdiradi, nomuvofiq javoblar beradi yoki keyingi savollarga tushib qoladi.

Kirish nazorati: Ruxsatsiz ma'lumotlar hech qachon kelmasligi kerak

Korxona uchun eng katta xavf: foydalanuvchi ko'rmasligi kerak bo'lgan hujjat javobda sizib chiqadi. Yangi boshlanuvchilarning juda keng tarqalgan xatosi - bu "modelga "ko'rsatmada" yashirin hujjatlarni ko'rsatish "ni aytish." Bu xavfsiz emas. Model ko'rsatmalarni unutishi yoki tezkor in'ektsiya undan qochishi mumkin. To'g'ri joy - olish bosqichi: ruxsatsiz bo'lakni umuman olib kelmaslik kerak.

Buning yo'li qidiruv paytida filtr sifatida har bir qismga qo'ygan vakolat metama'lumotlarini (bo'lim, rol, maxfiylik darajasi) qo'llashdir. Siz dastur sathida foydalanuvchi kimligini (identifikatsiya va rollar) ishonchli tarzda aniqlaysiz va qo'ng'iroqqa ACL (Kirishni boshqarish ro'yxati) filtrini qo'shasiz.

# Vakolatli qidiruv (kontseptual) foydalanuvchi tomonidan filtrlangan = autentifikatsiya (sessiya) # ishonchli manbadan autentifikatsiya qilingan = user.roles + ["hamma"] # masalan. ["HR", "admin"]natija = vektor_db.search( vektor=embed(savol), top_k=20, filter={"permission_group": {"in": allow}, # faqat ruxsat etilgan "privacy" qismlari: {"lte": user.level}} # darajadan past)

Diqqat: Hech qachon modeldan vakolat so'ramang yoki ko'rsatmalarga tayanmang. Identifikatsiya va vakolat ilovaning ishonchli qatlamida aniqlanadi; Qidiruv filtri majburiydir, tezkor ko'rsatma shunchaki qo'shimcha qatlamdir. "Men buni taklifda yozganman" xavfsizlik emas.

Qattiq so'rov shabloni

Tezkor shablon kontekstni, foydalanuvchi savolini va qidiruvdan olingan xatti-harakatlar ko'rsatmalarini birlashtiradigan skeletdir. Yaxshi shablonning qismlari: rol/vazifa tavsifi, xatti-harakatlar qoidalari (asoslash, ruxsatni bilmayman, resurs so'rovi, ohang), kontekst, savol.

Siz korporativ HR yordamchisisiz. Sizning vazifangiz FAQAT quyidagi kontekst asosida xodimlarning savollariga javob berishdir. Qoidalar: - Agar javob kontekstda aniq bo'lmasa, "Men bu haqda hujjatlarda ma'lumot topa olmadim, HR jamoasi bilan tekshiring" deb yozing. Taxmin qilmang, tuzatmang.- Kontekstdagi manbalar ziddiyatli boʻlsa, rasmiy siyosatni asos qilib oling va qarama-qarshilikni ayting.- Har bir daʼvoning oxiriga oʻzingiz tayangan manbani [Manba: fayl, boʻlim] sifatida qoʻshing.- Qisqa, tushunarli va professional tilda javob bering. MAZMUNI:{numbered_parts}SAVOL: {user_question}

Kontekst qismlarini raqamlash ([1], [2], ...) modelga iqtibos keltirishni osonlashtiradi. Shuningdek, har bir qismning boshida manbani yozing, shunda model uni to'g'ri keltira oladi.

Maslahat: So'rov shablonini doimiy ravishda saqlang va har doim o'zgaruvchilarni (kontekst, savol) bir xil joylarda joylashtiring. Ruxsat etilgan shablon ba'zi tizimlarda tezkor keshlash tufayli sinov qobiliyatini oshiradi va xarajatlarni kamaytiradi.

MAZMUNI:[1] (Manba: ik_el_kitabi.pdf, 5.2-bo‘lim) Yillik haq to‘lanadigan ta’til 14 kun...[2] (Manba: ik_el_kitabi.pdf, 5.4-bo'lim) 5 yildan ortiq ish stajiga ega bo'lganlar uchun ta'til 20 kun...

Zaif taklif / Kuchli taklif

Zaif (tuproq yo'q, manba yo'q, identifikatsiya aralashtiriladi):

Ushbu hujjatlardan foydalaning va savolga javob bering: {parts}Foydalanuvchi: {question}# Muammo: model kontekstdan tashqariga chiqadi, tuzadi, manbalarga iqtibos keltirmaydi, # qarama-qarshilikda o'zboshimchalik bilan harakat qiladi.

Kuchli (rol + qoidalar + raqamlangan kontekst + manba majburiy):

Siz... Faqat CONTEXT ga ishoning. Aks holda, "Bilmayman" deb ayting. Qarama-qarshilikda rasmiy siyosatni tanlang. Har bir daʼvoga [Manba: ...] qoʻshing. MONTAJ: [1]... [2]... SAVOL: {question}# Natija: kontekstga sodiq, manbadan olingan va ziddiyatni toʻgʻri boshqaradigan javob.

Ko'p turli suhbatni boshqarish

Haqiqiy foydalanuvchi bitta savol bermaydi va uni yolg'iz qoldirmaydi; gapiradi. "Menda necha kun yillik ta'til bor?" → "6 yillik xodim haqida nima deyish mumkin?" → "Qanday qilib men unga murojaat qilaman?" Ikkinchi va uchinchi savollarning o'zi ma'nosizdir; oldingi kontekstga bog'liq.

Siz ikkita muammoni hal qilishingiz kerak. Birinchisi qidirish uchun: keyingi savolni mustaqil qiling (savolni qayta yozish). "6 yillik xodim haqida nima deyish mumkin?" → "6 yillik xodim necha kun yillik ta'tilga ega?" Siz ushbu mustaqil savol bilan qidirasiz. Ikkinchisi ishlab chiqarish uchun: siz ham suhbatlar tarixini modelga berasiz, shunda u izchil davom etadi.

# Ikki bosqichli: mustaqillashtirish → qidirish → tarix bilan yaratish (kontseptual) mustaqil = model.uret( "Savol o'z-o'zidan tushunarli bo'lishi uchun suhbat tarixidan foydalaning:\nTarix: {history}\nSavol: {follow_question}") kontekst = olish(mustaqil) # mustaqil savol javobi bilan qidirish = model.uret(tarix, kontekst)(quest)

Tarix o'sib borishi bilan (uzoq suhbat), barchasini bir vaqtning o'zida yuborish qimmatga tushadi va kontekst oynasini to'ldiradi. Yechim: oldingi turlarni umumlashtiring yoki oxirgi N turni saqlang va oldingilarini xulosaga qisqartiring. Shunday qilib, xarajatlar nazorat ostida qoladi va izchillik saqlanadi.

Status

muammo

Yechim

Keyingi savolda kontekst yo'q

Qidiruv qidiruvlari ma'nosiz

Savolni mustaqil qiling (qayta yozing)

uzoq suhbat

Narx va deraza shishiradi

O'tgan sayohatlarning qisqacha mazmuni

Foydalanuvchi mavzuni o'zgartirdi

Eski kontekst infektsiyalanadi

Yangi mavzuga o'tmishdagi ta'sirni kamaytiring

Vakolat turlar orasida farq qilishi mumkin

Oqish xavfi

Har bir turda ACL filtrini qaytadan qo'llang

Uchta mini korpus

1-holat – “Xavfsizlik” xatosi. Kompaniya har kim so'rashi mumkin bo'lgan yordamchiga maxfiy ish haqi hujjatlarini qo'ydi, lekin faqat "ish haqi haqida ma'lumot bermang" deb yozib qo'ydi. Foydalanuvchi savolni aylanma tarzda berganida, model ish haqi oralig'ini oshkor qildi. Qabul qilish uchun ACL filtri qo'shilganda (faqat HR roliga ish haqi qismlari), oqish butunlay yopildi; chunki bu qism boshqa hech qachon keltirilmaydi.

2-holat - Kontekstsiz ta'qib qilish. Yordamchi yordamchida foydalanuvchi "qaytish davri?" → "buzilgan mahsulot haqida nima deyish mumkin?" Tizim "buzilgan mahsulot" uchun ahamiyatsiz qismlarni olib keldi. Savolga mustaqillik qo'shilganda ("Buzilgan mahsulotning qaytish muddati qancha?"), to'g'ri javob darajasi 44% dan 90% gacha ko'tarildi.

3-holati - shishgan o'tmish. Yordamchi bilan suhbatning 30 raundida har bir qo'ng'iroq butun tarixni yubordi; Narx har bir tur uchun 3 marta oshdi va javoblar sekinlashdi. Oxirgi 6 raundni saqlagan va oldingilarini sarhisob qilgan tuzilmaga o'tganimizda, token narxi 62% ga tushib ketdi va izchillik saqlanib qoldi.

Umumiy xatolar

  • Vakolatni so'rovga qoldirish: Model unutadi/aylanib o'tadi; Qayta olishda ACL filtri majburiydir.
  • Kontekstni sanab o'tmaslik: Model to'g'ri manbani keltira olmaydi.
  • Kuzatuvchi savolni mustaqillashtirmaslik: Qidiruv ma'nosiz qidiruv.
  • Barcha tarixni ko'r-ko'rona yuborish: xarajat va kechikishda portlaydi; umumlashtirish.
  • Qarama-qarshilik qoidasini yozmaslik: Model ishonchsiz manbani rasmiy sifatida ko'rsatishi mumkin.

Xulosa

  • Kirish nazorati qidiruv bosqichida metadata filtri bilan amalga oshiriladi; Ruxsatsiz qismlarni hech qachon olib kelmaslik kerak.
  • Identifikatsiya va vakolat ishonchli dastur qatlamida aniqlanadi; Tezkor ko'rsatma shunchaki qo'shimcha himoya qatlamidir.
  • Kuchli tezkor shablon rolni, xatti-harakatlar qoidalarini (asoslash, ruxsatni bilmayman, manba, ziddiyat), raqamlangan kontekstni va savolni o'z ichiga oladi.
  • Ko'p davra suhbatida keyingi savollar ajratiladi va model tarixga mos keladigan javoblarni ishlab chiqaradi.
  • Uzoq tarixni sarhisob qilish orqali xarajat va kontekst oynasi nazorat ostida saqlanadi; ACL har raundda qayta qo'llaniladi.

Ilova vazifasi

(1) O'zingizning yordamchingiz uchun kamida uchta avtorizatsiya guruhini belgilang (masalan, hamma, bo'lim, menejer) va qaysi hujjat turi qaysi guruh uchun ochiqligini jadvalga yozing. (2) Yuqoridagi shablonni o'zingizning rolingiz va ohangingizga moslashtiring va yozing; Kontekstni raqamlangan va manbali qiling. (3) Uch davrali real suhbat stsenariysini yozing (savol → kuzatuv → kuzatuv) va har bir keyingi savolning mustaqil versiyalarini qo'lda yarating. (4) Ushbu stsenariyda nima uchun ACL filtrini har bir turda qayta qo'llash kerakligini bir jumla bilan tushuntiring.

nazorat ro'yxati

  • [ ] Men kirish filtri bilan kirishni boshqarishni amalga oshiraman, men shunchaki taklifga tayanmayman.
  • [ ] Men shablonga asoslanishni qo'shaman, ruxsat, manba va ziddiyat qoidasini bilmayman.
  • [ ] Kontekst qismlarini raqamlangan va havola qilingan holda beraman.
  • [ ] Qidirishdan oldin keyingi savollarni mustaqil tuzaman.
  • [ ] Men uzoq suhbatlar tarixini sarhisob qilish orqali narx va oynani boshqaraman.