Soalan Temuduga Siri AI 11: Bagaimana Mengoptimumkan RAG?
Pengoptimuman RAG bukanlah pelarasan satu peringkat, tetapi proses pengoptimuman rantaian penuh. Saya akan memberikan strategi pengoptimuman sistematik dari empat dimensi: sisi indeks data, sisi pengambilan, sisi penjanaan, dan sisi penilaian, serta menyertakan pengalaman praktikal yang boleh disebut dalam temuduga.
Satu: Pengoptimuman Sisi Indeks Data (meningkatkan kualiti "pangkalan pengetahuan")
Ini adalah bahagian yang paling sering diabaikan tetapi memberikan kesan paling cepat.
| Titik Pengoptimuman | Masalah | Cara Tepat | Metrik Kesan |
|---|---|---|---|
| Penghuraian Dokumen | Jadual dan carta alir dalam PDF diabaikan, atau teks rosak, urutan salah. | Gunakan pustaka penghuraian yang lebih baik (seperti unstructured, mod pengekalan susun atur pypdf); ekstrak jadual dengan pandas dan tukar ke Markdown. |
Kadar ingat semula +5~15% |
| Saiz Cebisan Teks | Cebisan terlalu kecil kehilangan konteks (contohnya, rujukan "dia" dalam "pendapatan dia tahun ini meningkat" hilang); cebisan terlalu besar menyebabkan banyak bunyi dalam pengambilan. | Eksperimen dengan saiz cebisan berbeza (256/512/768 token), pertindihan 10~20%; untuk dokumen panjang, potong berdasarkan sempadan semantik (perenggan/tajuk) bukan panjang tetap. | Kadar tepat / Kesetiaan |
| Metadata Tambahan | Cebisan yang berkaitan dijumpai tetapi tidak dapat dikesan kembali ke sumber atau masa, atau perlu ditapis mengikut domain. | Tambah metadata pada setiap cebisan: sumber (nama fail/URL), stempel masa, nombor halaman, jenis dokumen. Gunakan penapis semasa pengambilan (cth: jenis dokumen == 'undang-undang'). |
Ketepatan penapisan |
| Pemilihan Model Embedding | Embedding umum berprestasi buruk dalam domain khusus (perubatan, kod, undang-undang). | Gunakan model terlaras domain (BGE‑large‑zh, GTE‑Qwen2‑7B‑instruct); atau laraskan model embedding sendiri (dengan triplet loss). | MRR@10 +10~20% |
Dua: Pengoptimuman Sisi Pengambilan (membuat "membaca buku" lebih tepat)
Pengambilan menentukan kualiti "bahan rujukan" yang diberi kepada LLM.
| Titik Pengoptimuman | Masalah | Cara Tepat | Kesan |
|---|---|---|---|
| Pengambilan Hibrid | Pengambilan vektor tidak dapat memadankan istilah tepat (cth: model produk ABC-123), pengambilan kata kunci tidak dapat memahami sinonim. |
Gunakan pengambilan vektor (semantik) dan BM25 (kata kunci) secara serentak, gabungkan dengan pemberat (cth: 0.7vektor + 0.3BM25) atau penyusunan semula. | Kadar ingat semula +10~25% |
| Penyusunan Semula | Hasil teratas dari pengambilan vektor belum tentu paling relevan, hasil ke-10 mungkin yang terbaik. | Gunakan model cross‑encoder (seperti BGE‑reranker-v2, Cohere Rerank) untuk memberi skor semula pada set calon (cth: 20 teratas), ambil top‑K. |
Peningkatan ketara dalam kadar tepat (terutama top‑1) |
| Penulisan Semula Pertanyaan | Soalan pengguna kabur atau rujukan tidak jelas dalam perbualan berbilang pusingan ("berapa harganya?"). | Gunakan LLM untuk menulis semula soalan asal ke bentuk yang lebih sesuai untuk pengambilan (cth: "Berapa harga iPhone 15?"); atau lengkapkan menggunakan sejarah perbualan. | Kadar ingat semula +5~15% |
| HyDE | Soalan pengguna terlalu pendek atau abstrak (cth: "terangkan fotosintesis"), pengambilan langsung kurang berkesan. | Minta LLM jana jawapan hipotesis dahulu, kemudian gunakan jawapan itu untuk mengambil dokumen. | Sesuai untuk domain terbuka, tapi tidak sesuai untuk Q&A fakta tepat |
| Pelarasan Top‑K | K terlalu kecil mungkin terlepas maklumat penting; K terlalu besar meningkatkan penggunaan token dan bunyi. | Eksperimen dengan K=3/5/10, perhatikan keseimbangan antara kadar ingat semula dan kesetiaan jawapan. | Trade‑off kecekapan dan kesan |
Tiga: Pengoptimuman Sisi Penjanaan (membuat LLM menggunakan bahan rujukan dengan baik)
Walaupun pengambilan tepat, jika prompt tidak baik atau model lemah, ia tidak berguna.
| Titik Pengoptimuman | Masalah | Cara Tepat | Kesan |
|---|---|---|---|
| Kejuruteraan Prompts | LLM mengabaikan kandungan yang diambil, atau mereka maklumat. | Beri arahan jelas: "Hanya berdasarkan bahan rujukan yang disediakan jawab soalan. Jika bahan tidak mencukupi atau tidak relevan, jawab 'Tiada maklumat mencukupi'." Sertakan contoh beberapa pukulan (few‑shot) yang menunjukkan cara memetik sumber. | Kesetiaan +20~40% |
| Mampatan Konteks | Kandungan yang diambil terlalu panjang (melebihi tetingkap konteks model), atau kebanyakannya bunyi. | Gunakan LLMLingua atau konteks selektif untuk memampatkan, hanya simpan ayat yang paling relevan sebelum dihantar 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 dalam ketepatan penaakulan |
| Penstriman dan Petikan | Pengguna tidak dapat mengesahkan kebolehpercayaan jawapan. | Semasa penjanaan, suruh LLM output [petikan:1] yang sepadan dengan nombor dokumen yang diambil. Lampirkan pautan asal di bahagian belakang. |
Kepercayaan pengguna + kebolehdebugan |
| Penentukuran Penolakan Jawapan | Model mereka jawapan apabila tidak sepatutnya, atau kata tidak tahu apabila sepatutnya tahu. | Tetapkan ambang persamaan: jika persamaan kosinus antara cebisan top‑1 dan soalan < 0.7, beritahu LLM "bahan tidak relevan". | Kurangkan kadar halusinasi |
Empat: Sisi Penilaian dan Iterasi (tahu ke mana hendak laraskan)
Tanpa pengukuran, tidak boleh dioptimumkan.
| Titik Pengoptimuman | Cara | Metrik |
|---|---|---|
| Membina Set Penilaian | Sediakan 100~300 soalan pengguna sebenar + jawapan standard + ID dokumen yang betul untuk diambil. | Meliputi kesukaran dan niat yang berbeza. |
| Penilaian Automatik | Gunakan RAGAS (Faithfulness, Answer Relevance, Context Recall) atau TruLens. | Tiga metrik utama: Kesetiaan, Kerelevanan Jawapan, Kadar Ingat Semula Konteks. |
| Penilaian Manual | Setiap minggu uji 20 kes buruk, analisis jenis kesilapan (kegagalan pengambilan / kesilapan penjanaan / kekurangan pangkalan pengetahuan). | Keutamaan penambahbaikan. |
| Ujian A/B | Dalam persekitaran pengeluaran, uji strategi pengambilan berbeza (contohnya BM25 vs pengambilan hibrid) dalam baldi berasingan. | Metrik dalam talian: kepuasan pengguna, kadar tanpa jawapan. |
Lima: "Pengalaman Praktikal" yang boleh disebut dalam Temuduga (poin bonus)
"Dalam projek RAG yang saya uruskan, pada mulanya kadar tepat garis dasar hanya 67%. Saya melakukan tiga perkara:
1. Tukar cebisan dari 1024 tetap kepada pemotongan semantik dinamik (mengikut tajuk + perenggan), kadar tepat meningkat ke 74%;
2. Tambah pengambilan hibrid (vektor + BM25) dan model penyusunan semula kecil, kadar tepat naik ke 83%;
3. Optimumkan prompt dan wajibkan output[Maklumat berkaitan tidak dijumpai], kadar halusinasi turun dari 22% ke bawah 5%.Selain itu, kami membina saluran penilaian berterusan, setiap kali perubahan, jalankan skor RAGAS pada 200 soalan untuk memastikan tiada degradasi."
Kesimpulan Akhir: Peta Jalan Pengoptimuman RAG yang Lengkap
Lapisan Data ─→ Pembersihan dokumen, pengoptimuman cebisan, penambahan metadata, embedding domain
Lapisan Pengambilan ─→ Pengambilan hibrid, penyusunan semula, penulisan semula pertanyaan, HyDE, pelarasan Top-K
Lapisan Penjanaan ─→ Pengukuhan prompts, arahan, mampatan, petikan, ambang penolakan
Lapisan Penilaian ─→ Set penilaian, RAGAS, analisis manual, eksperimen A/B
评论
暂无已展示的评论。
发表评论(匿名)