AI savollar seriyasi 11: RAGni qanday optimallashtirish kerak?
RAGni optimallashtirish bir bosqichni sozlash emas, balki to'liq zanjirni optimallashtirish jarayonidir. Quyida men ma'lumotlar indekslash tomoni, qidiruv tomoni, generatsiya tomoni, baholash tomoni kabi to'rt o'lchovdan tizimli optimallashtirish strategiyalarini keltiraman va intervyuda aytish mumkin bo'lgan amaliy tajribalarni qo'shaman.
1. Ma'lumotlar indekslash tomonini optimallashtirish ("Bilimlar bazasi" sifatini oshirish)
Bu eng ko'p e'tibordan chetda qoladigan, ammo eng tez natija beradigan joy.
| Sozlash nuqtasi | Muammo | Usul | Ko'rsatkich |
|---|---|---|---|
| Hujjatni tahlil qilish | PDFdagi jadvallar, sxemalar e'tiborsiz qoldiriladi yoki matn shifrlangan, tartib buzilgan. | Yaxshiroq tahlil kutubxonasiga o'tish (masalan, unstructured, pypdf ning layoutni saqlash rejimi); jadvallar uchun pandas yordamida chiqarib, Markdown ga o'tkazish. |
Recall +5-15% |
| Matn bo'lagi o'lchami | chunk juda kichik bo'lsa kontekst yo'qoladi (masalan, "uning bu yilgi daromadi o'sdi"dagi "uning" havolasi yo'qoladi); chunk juda katta bo'lsa qidiruv shovqini ko'payadi. | Turli chunk o'lchamlarini sinab ko'rish (256/512/768 token), overlap 10-20%; uzun hujjatlar uchun semantik chegara (paragraf/sarlavha) bo'yicha kesish, sobit uzunlik emas. | Hit rate / Faithfulness |
| Metama'lumot qo'shish | Tegishli paragraflar topilgan, lekin manba yoki vaqtni kuzatish mumkin emas, yoki soha bo'yicha filtrlash kerak. | Har bir chunk ga metama'lumot qo'shish: source (fayl nomi/URL), timestamp, page_num, doc_type. Qidirishda filtrdan foydalanish (masalan doc_type == 'legal'). |
Filtr aniqligi |
| Embedding modelini tanlash | Umumiy embedding vertikal sohalarda (tibbiyot, kod, huquq) yomon ishlaydi. | Sohaga moslashtirilgan modellardan foydalanish (BGE‑large‑zh, GTE‑Qwen2‑7B‑instruct); yoki o'z embedding modelingizni mikroslash (triplet loss bilan). | Qidiruv MRR@10 +10-20% |
2. Qidiruv tomonini optimallashtirish ("Kitob varaqlash"ni aniqroq qilish)
Qidiruv LLM ga beriladigan "ma'lumotnoma" sifatini belgilaydi.
| Sozlash nuqtasi | Muammo | Usul | Natija |
|---|---|---|---|
| Aralash qidiruv | Vektorli qidiruv aniq terminlarni (masalan, mahsulot modeli ABC-123) topa olmaydi, kalit so'zli qidiruv sinonimlarni tushunmaydi. |
Bir vaqtning o'zida vektorli qidiruv (semantik) va BM25 (kalit so'z) dan foydalanish, vaznli (masalan, 0.7vektor + 0.3BM25) yoki rerank bilan birlashtirish. | Recall +10-25% |
| Qayta tartiblash (Rerank) | Vektorli qidiruvning birinchi natijalari eng mos bo'lmasligi mumkin, 10-chi eng yaxshi bo'lishi mumkin. | Cross‑encoder modelidan (masalan, BGE‑reranker-v2, Cohere Rerank) foydalanib, nomzodlar to'plamini (masalan, birinchi 20) qayta baholash va top‑K ni olish. |
Hit rate sezilarli oshadi (ayniqsa top‑1) |
| So'rovni qayta yozish | Foydalanuvchi savoli noaniq yoki ko'p bosqichli suhbatda havola aniq emas ("uning narxi qanday?"). | LLM yordamida asl savolni qidiruv uchun mosroq shaklga o'zgartirish (masalan, "iPhone 15 ning narxi qancha?"); yoki suhbat tarixidan to'ldirish. | Recall +5-15% |
| HyDE | Foydalanuvchi savoli juda qisqa yoki mavhum (masalan, "fotosintez haqida gapirib bering"), to'g'ridan-to'g'ri qidiruv yomon ishlaydi. | Avval LLM ga faraziy javob yaratish va keyin ushbu javob bilan hujjatlarni qidirish. | Ochiq sohalar uchun mos, ammo faktik aniq savollar uchun mos emas |
| Top‑K sonini sozlash | K juda kichik bo'lsa muhim ma'lumot qoldiriladi; K juda katta bo'lsa token sarfi va shovqin ortadi. | K=3/5/10 ni sinab ko'rish, Recall va javob aniqligi muvozanatini kuzatish. | Samaradorlik va natija oʻrtasidagi trade‑off |
3. Generatsiya tomonini optimallashtirish (LLM ga ma'lumotnomalardan yaxshi foydalanish imkonini berish)
Qidiruv qanchalik aniq bo'lmasin, prompt yomon yoki model kuchsiz bo'lsa foyda yo'q.
| Sozlash nuqtasi | Muammo | Usul | Natija |
|---|---|---|---|
| Prompt muhandisligi | LLM qidiruv natijalarini e'tiborsiz qoldiradi yoki uydirma ma'lumot yaratadi. | Aniq ko'rsatma: "Faqat quyidagi ma'lumotnomalarga asoslanib javob bering. Agar ma'lumot yetarli bo'lmasa yoki mos kelmasa, 'Ma'lumot yetarli emas' deb javob bering." Manbalardan qanday foydalanishni ko'rsatadigan few‑shot examples qo'shing. | Faithfulness +20-40% |
| Kontekstni siqish | Qidirilgan ma'lumot juda uzun (model kontekst oynasidan oshib ketadi) yoki asosan shovqin. | LLMLingua yoki Tanlab kontekst yordamida siqish, eng mos jumlalarni saqlab, keyin LLM ga berish. |
Ma'lumot yo'qotish xavfini kamaytirish |
| LLM modelini yangilash | Kichik model (7B) murakkab mulohaza yurita olmaydi yoki uzoq kontekstni eslab qololmaydi. | Kuchliroq modelga o'tish (GPT‑4o, Claude 3.5 Sonnet, Qwen2.5‑72B). | Mulohaza aniqligi sezilarli oshadi |
| Oqim va iqtibos | Foydalanuvchi javob ishonchliligini tekshira olmaydi. | Yaratish jarayonida LLM ga [citation:1] chiqarishni buyurish, bu qidiruv hujjatining raqamiga mos keladi. Orqa tomonda asl havolani ilova qilish. |
Foydalanuvchi ishonchi + disk raskadrovka |
| Javobni rad etishni sozlash | Model javob bermasligi kerak bo'lganda uydirmalik qiladi yoki javob berishi kerak bo'lganda bilmayman deydi. | O'xshashlik chegarasi o'rnatish: agar top‑1 chunk bilan savol orasidagi kosinus o'xshashlik 0.7 dan past bo'lsa, LLM ga "Ma'lumot mos kelmaydi" deb aytish. | Hallusinatsiya darajasini pasaytirish |
4. Baholash va iteratsiya tomoni (qayerda sozlashni bilish)
O'lchov bo'lmasa, optimallashtirish mumkin emas.
| Sozlash nuqtasi | Usul | Ko'rsatkich |
|---|---|---|
| Baholash to'plamini yaratish | 100-300 ta haqiqiy foydalanuvchi savoli + standart javob + to'g'ri qidiruv hujjati ID larini tayyorlash. | Turli qiyinchilik va maqsadlarni qamrab olish. |
| Avtomatik baholash | RAGAS (Faithfulness, Answer Relevance, Context Recall) yoki TruLens dan foydalanish. | Uch asosiy ko'rsatkich: Faithfulness, Answer Relevance, Context Recall. |
| Inson bahosi | Haftada 20 ta yomon holatni tanlab, xato turlarini tahlil qilish (qidiruv muvaffaqiyatsizligi / generatsiya xatosi / bilimlar bazasi yetishmasligi). | Yaxshilash ustuvorliklarini belgilash. |
| A/B test | Ishlab chiqarish muhitida turli qidiruv strategiyalarini (masalan, BM25 vs aralash qidiruv) segmentlarga ajratib sinash. | Onlayn ko'rsatkichlar: foydalanuvchi qoniqishi, javob yo'qligi darajasi. |
5. Intervyuda aytish mumkin bo'lgan "Amaliy tajribalar" (qo'shimcha ball)
"Men mas'ul bo'lgan RAG loyihasida, dastlabki asosiy hit rate 67% edi. Men uchta narsa qildim:
1. Fiksirlangan 1024 o'lchamidan dinamik semantik bo'laklarga o'tish (sarlavha+paragraf bo'yicha), hit rate 74% ga ko'tarildi;
2. Aralash qidiruv (vektor + BM25) va kichik rerank modelini qo'shish, hit rate 83% ga ko'tarildi;
3. Promptni optimallashtirish va[O'xshash ma'lumot topilmadi]majburlash, hallusinatsiya darajasi 22% dan 5% gacha tushdi.Bundan tashqari, biz doimiy baholash quvurini yaratdik, har bir o'zgarishdan oldin 200 ta savol bo'yicha RAGAS ballini hisoblab, yomonlashish yo'qligini ta'minladik."
Yakuniy xulosa: To'liq RAG optimallashtirish yo'li xaritasi
Ma'lumotlar qatlami ─→ Hujjatlarni tozalash, bo'laklarni optimallashtirish, metama'lumotlarni kuchaytirish, soha embedding
Qidiruv qatlami ─→ Aralash qidiruv, rerank, so'rovni qayta yozish, HyDE, Top-K sozlash
Generatsiya qatlami ─→ Promptni kuchaytirish, ko'rsatma talablari, siqish, iqtibos, rad etish chegarasi
Baholash qatlami ─→ Baholash to'plami, RAGAS, inson tahlili, A/B eksperiment
评论
暂无已展示的评论。
发表评论(匿名)