AI Siri Soalan Temuduga 11: Bagaimana Menyempurnakan RAG?
Penyempurnaan RAG bukanlah pelarasan satu bahagian, tetapi proses pengoptimuman rantaian penuh. Seterusnya, saya akan memberikan strategi pengoptimuman sistematik dari empat dimensi: sisi indeks data, sisi carian, sisi penjanaan, dan sisi penilaian, serta menyertakan pengalaman praktikal yang boleh disebut dalam temuduga.
1. Pengoptimuman Sisi Indeks Data (Meningkatkan Kualiti "Pangkalan Pengetahuan")
Ini adalah bahagian yang paling mudah diabaikan tetapi paling cepat memberi kesan.
| Titik Pengoptimuman | Masalah | Tindakan | Metrik Kesan |
|---|---|---|---|
| Penghuraian Dokumen | Jadual dan carta alir dalam PDF diabaikan, atau teks kacau, tertib salah. | Gunakan pustaka penghuraian yang lebih baik (contohnya mod pengekalan susun atur unstructured, pypdf); untuk jadual, ekstrak dengan pandas dan tukar ke Markdown. |
Kadar ingat semula +5~15% |
| Saiz Cakera Teks | Chunk terlalu kecil hilang konteks (misalnya rujukan "dia" dalam "pendapatannya tahun ini meningkat"); chunk terlalu besar menyebabkan banyak bunyi carian. | Eksperimen dengan saiz chunk berbeza (256/512/768 token), tetapkan pertindihan 10~20%; untuk dokumen panjang, bahagi mengikut sempadan semantik (perenggan/tajuk) daripada panjang tetap. | Kadar capai / ketepatan |
| Lampiran Metadata | Perenggan yang dicapai tidak dapat dikesan sumber atau masa, atau perlu ditapis mengikut domain. | Tambah metadata untuk setiap chunk: source (nama fail/URL), timestamp, page_num, doc_type. Gunakan penapis semasa carian (misalnya doc_type == 'legal'). |
Ketepatan penapisan |
| Pemilihan Model Benaman | Benaman umum menunjukkan prestasi buruk dalam domain khusus (perubatan, kod, undang-undang). | Gunakan model yang dilaras domain (BGE‑large‑zh, GTE‑Qwen2‑7B‑instruct); atau laraskan model benaman sendiri (dengan triplet loss). | MRR@10 carian +10~20% |
2. Pengoptimuman Sisi Carian (Membuat "Membuka Buku" Lebih Tepat)
Carian menentukan kualiti "bahan rujukan" yang diberikan kepada LLM.
| Titik Pengoptimuman | Masalah | Tindakan | Kesan |
|---|---|---|---|
| Carian Hibrid | Carian vektor tidak dapat memadankan istilah tepat (misalnya model produk ABC-123), carian kata kunci tidak dapat memahami sinonim. |
Gunakan carian vektor (semantik) dan BM25 (kata kunci) secara serentak, gabungkan dengan pemberat (contohnya 0.7vektor + 0.3BM25) atau rerank. | Kadar ingat semula +10~25% |
| Penyusunan Semula (Rerank) | Hasil teratas carian vektor belum tentu paling relevan, yang ke-10 mungkin terbaik. | Gunakan model cross‑encoder (misalnya BGE‑reranker-v2, Cohere Rerank) untuk menilai semula set calon (misalnya 20 teratas), ambil top‑K. |
Peningkatan ketara kadar capai (terutamanya top‑1) |
| Penulisan Semula Pertanyaan | Soalan pengguna kabur atau rujukan tidak jelas dalam dialog berbilang pusingan ("Berapa harganya?"). | Gunakan LLM untuk menulis semula soalan asal ke bentuk yang lebih sesuai untuk carian (misalnya "Berapa harga iPhone 15?"); atau lengkapkan menggunakan sejarah dialog. | Kadar ingat semula +5~15% |
| HyDE | Soalan pengguna terlalu pendek atau abstrak (misalnya "Terangkan fotosintesis"), carian langsung kurang berkesan. | Minta LLM menjana jawapan hipotetikal dahulu, kemudian gunakan jawapan itu untuk mencari dokumen. | Sesuai untuk domain terbuka, tetapi tidak untuk QA tepat fakta |
| Pelarasan Bilangan Carian Top‑K | K terlalu kecil mungkin hilang maklumat penting; K terlalu besar meningkatkan penggunaan token dan bunyi. | Eksperimen dengan K=3/5/10, perhatikan keseimbangan antara kadar ingat semula dan ketepatan jawapan. | Trade‑off kecekapan dan prestasi |
3. Pengoptimuman Sisi Penjanaan (Membuat LLM Menggunakan Bahan Rujukan dengan Baik)
Walaupun carian tepat, jika prompt tidak baik atau model lemah, ia tidak berguna.
| Titik Pengoptimuman | Masalah | Tindakan | Kesan |
|---|---|---|---|
| Kejuruteraan Prompt | LLM mengabaikan kandungan carian, atau mencipta maklumat palsu. | Beri arahan jelas: "Hanya berdasarkan bahan rujukan yang disediakan jawab soalan. Jika bahan tidak mencukupi atau tidak berkaitan, jawab 'Tiada maklumat mencukupi'." Tambah few‑shot examples menunjukkan cara memetik sumber. | Ketepatan +20~40% |
| Mampatan Konteks | Kandungan yang dicari terlalu panjang (melebihi tetingkap konteks model), atau kebanyakannya bunyi. | Gunakan LLMLingua atau Konteks Selektif untuk memampat, simpan ayat yang paling relevan sebelum hantar ke LLM. |
Kurangkan risiko kehilangan maklumat |
| Peningkatan Model LLM | Model kecil (7B) tidak dapat melakukan penaakulan kompleks, atau tidak ingat konteks panjang. | Tukar ke model yang lebih kuat (GPT‑4o, Claude 3.5 Sonnet, Qwen2.5‑72B). | Peningkatan ketara ketepatan penaakulan |
| Penstriman & Petikan | Pengguna tidak dapat mengesahkan kredibiliti jawapan. | Semasa penjanaan, suruh LLM output [citation:1] yang sepadan dengan nombor dokumen carian. Sertakan pautan asal di bahagian belakang. |
Kepercayaan pengguna + kebolehdebugan |
| Penentukuran Penolakan Jawapan | Model mereka cipta apabila tidak patut menjawab, atau kata tidak tahu padahal patut menjawab. | Tetapkan ambang kesamaan: jika top‑1 chunk yang dicari mempunyai kesamaan kosinus dengan soalan di bawah 0.7, arahkan LLM "bahan tidak berkaitan". | Kurangkan kadar halusinasi |
4. Sisi Penilaian & Iterasi (Tahu ke Mana Hendak Laraskan)
Tanpa ukuran, tiada pengoptimuman.
| Titik Pengoptimuman | Tindakan | Metrik |
|---|---|---|
| Bina Set Penilaian | Sediakan 100~300 soalan pengguna sebenar + jawapan piawai + ID dokumen carian yang betul. | Liputi pelbagai kesukaran dan niat. |
| Penilaian Automatik | Gunakan RAGAS (Faithfulness, Answer Relevance, Context Recall) atau TruLens. | Tiga metrik teras: ketepatan, kerelevanan jawapan, kadar ingat semula konteks. |
| Penilaian Manual | Uji 20 kes buruk setiap minggu, analisis jenis ralat (kegagalan carian / kesilapan penjanaan / ketiadaan pengetahuan). | Keutamaan penambahbaikan. |
| Ujian A/B | Uji strategi carian berbeza dalam pengeluaran (contohnya BM25 vs carian hibrid). | Metrik dalam talian: kepuasan pengguna, kadar tiada jawapan. |
5. "Pengalaman Praktikal" yang Boleh Disebut dalam Temuduga (Nilai Tambah)
"Dalam projek RAG yang saya kendalikan, kadar capai garis dasar pada mulanya hanya 67%. Saya melakukan tiga perkara:
1. Tukar cakera daripada 1024 tetap kepada pemotongan semantik dinamik (mengikut tajuk+perenggan), kadar capai meningkat kepada 74%;
2. Tambah carian hibrid (vektor + BM25) dan model rerank kecil, kadar capai naik ke 83%;
3. Optimumkan prompt dan wajibkan[Tiada maklumat berkaitan], kadar halusinasi turun daripada 22% kepada di bawah 5%.Selain itu, kami bina saluran paip penilaian berterusan, jalankan skor RAGAS untuk 200 soalan setiap kali perubahan, pastikan tiada kemerosotan."
Rumusan Akhir: Peta Jalan Pengoptimuman RAG Lengkap
Lapisan Data ─→ Pembersihan dokumen, pengoptimuman cakera, pengayaan metadata, benaman domain
Lapisan Carian ─→ Carian hibrid, rerank, penulisan semula pertanyaan, HyDE, pelarasan Top-K
Lapisan Penjanaan ─→ Pengukuhan prompt, arahan keperluan, mampatan, petikan, ambang penolakan
Lapisan Penilaian ─→ Set penilaian, RAGAS, analisis manual, eksperimen A/B
评论
暂无已展示的评论。
发表评论(匿名)