AI Series na Tanong sa Panayam 11: Paano I-optimize ang RAG?
Ang pag-optimize ng RAG ay hindi simpleng pag-aayos ng iisang bahagi, kundi isang proseso ng buong-link na pag-optimize. Sa ibaba, magbibigay ako ng sistematikong estratehiya sa pag-optimize mula sa apat na dimensyon: bahagi ng data index, bahagi ng retrieval, bahagi ng generation, at bahagi ng evaluation, kasama ang mga praktikal na karanasan na maaaring banggitin sa panayam.
I. Pag-optimize ng Bahagi ng Data Index (Pagpapabuti ng Kalidad ng "Knowledge Base")
Ito ang pinakamadalas na hindi pinapansin ngunit pinakamabilis na may epekto.
| Punto ng Pag-optimize | Problema | Paraan | Sukatan ng Epekto |
|---|---|---|---|
| Pag-parse ng Dokumento | Ang mga talahanayan at flowchart sa PDF ay naaalis, o nagkakaroon ng maling pagkakasunod-sunod ng teksto. | Gumamit ng mas mahusay na parsing library (tulad ng unstructured, pypdf na may layout preservation mode); para sa mga talahanayan, i-extract gamit ang pandas at i-convert sa Markdown. |
Recall rate +5~15% |
| Laki ng Text Chunk | Masyadong maliit ang chunk na nawawala ang konteksto (tulad ng nawawalang referent ng "siya" sa "paglago ng kita niya nitong taon"); masyadong malaki ang chunk na nagdudulot ng maraming ingay sa retrieval. | I-eksperimento ang iba't ibang laki ng chunk (256/512/768 token), overlap na 10~20%; para sa mahahabang dokumento, hatiin ayon sa semantic boundary (talata/heading) sa halip na fixed length. | Hit rate / Faithfulness |
| Pagdagdag ng Metadata | Na-retrieve ang kaugnay na talata, ngunit hindi matunton ang pinagmulan o oras, o kailangang i-filter ayon sa domain. | Magdagdag ng metadata sa bawat chunk: source (filename/URL), timestamp, page_num, doc_type. Gumamit ng filter sa retrieval (tulad ng doc_type == 'legal'). |
Filter accuracy |
| Pagpili ng Embedding Model | Mahina ang performance ng general embedding sa vertical domains (medical, code, legal). | Gumamit ng domain-fine-tuned models (BGE-large-zh, GTE-Qwen2-7B-instruct); o i-fine-tune ang sariling embedding model (gamit ang triplet loss). | Retrieval MRR@10 +10~20% |
II. Pag-optimize ng Bahagi ng Retrieval (Gawing Mas Tumpak ang "Pagbuklat ng Aklat")
Ang retrieval ang nagtatakda ng kalidad ng "reference materials" na ipapakain sa LLM.
| Punto ng Pag-optimize | Problema | Paraan | Epekto |
|---|---|---|---|
| Hybrid Retrieval | Hindi kayang itugma ng vector retrieval ang mga eksaktong termino (tulad ng product model ABC-123), hindi kayang unawain ng keyword retrieval ang mga kasingkahulugan. |
Gamitin ang parehong vector retrieval (semantic) at BM25 (keyword), pagsamahin sa pamamagitan ng weighting (tulad ng 0.7vector + 0.3BM25) o rerank fusion. | Recall rate +10~25% |
| Re-ranking (Rerank) | Ang mga unang resulta mula sa vector retrieval ay hindi kinakailangang pinaka-kaugnay, ang ika-10 ay maaaring mas mahusay. | Gumamit ng cross-encoder model (tulad ng BGE-reranker-v2, Cohere Rerank) para muling mag-score sa candidate set (tulad ng unang 20), kunin ang top-K. |
Malaking pagtaas sa hit rate (lalo na top-1) |
| Query Rewriting | Ang tanong ng user ay malabo o hindi malinaw ang referent sa multi-turn dialogue ("Magkano ang presyo nito?"). | Gamitin ang LLM para isulat muli ang orihinal na tanong sa isang form na mas angkop sa retrieval (tulad ng "Magkano ang presyo ng iPhone 15?"); o kumpletuhin gamit ang dialogue history. | Recall rate +5~15% |
| HyDE | Masyadong maikli o abstract ang tanong ng user (tulad ng "Ipaliwanag ang photosynthesis"), mahina ang direktang retrieval. | Una, ipagawa sa LLM ang pagbuo ng hypothetical na sagot, pagkatapos gamitin ang sagot na ito para mag-retrieve ng dokumento. | Angkop para sa open-domain, ngunit hindi para sa fact-based precise QA |
| Pagsasaayos ng Retrieval Top-K | Masyadong maliit ang K ay maaaring makaligtaan ang mahalagang impormasyon; masyadong malaki ang K ay nagpapataas ng token consumption at ingay. | I-eksperimento ang K=3/5/10, obserbahan ang balanse sa pagitan ng recall rate at answer faithfulness. | Trade-off ng efficiency at effect |
III. Pag-optimize ng Bahagi ng Generation (Gawing Mahusay Gamitin ng LLM ang Reference Materials)
Kahit tumpak ang retrieval, kung hindi maganda ang prompt o mahina ang modelo, walang silbi.
| Punto ng Pag-optimize | Problema | Paraan | Epekto |
|---|---|---|---|
| Prompt Engineering | Binabalewala ng LLM ang na-retrieve na nilalaman, o gumagawa ng kathang-isip. | Malinaw na utos: "Batay lamang sa mga sumusunod na reference materials sagutin ang tanong. Kung hindi sapat o hindi kaugnay ang materyales, sagutin ng 'Walang sapat na impormasyon'." Magdagdag ng few-shot examples na nagpapakita kung paano sumipi ng source. | Faithfulness +20~40% |
| Context Compression | Masyadong mahaba ang na-retrieve na nilalaman (lampas sa context window ng modelo), o karamihan ay ingay. | Gamitin ang LLMLingua o Selective Context compression, panatilihin ang pinaka-kaugnay na mga pangungusap bago ipakain sa LLM. |
Pagbawas ng panganib na mawala ang impormasyon |
| Pag-upgrade ng LLM Model | Hindi kayang gawin ng maliit na modelo (7B) ang komplikadong reasoning, o hindi matandaan ang mahabang konteksto. | Lumipat sa mas malakas na modelo (GPT-4o, Claude 3.5 Sonnet, Qwen2.5-72B). | Malaking pagtaas sa reasoning accuracy |
| Streaming at Citation | Hindi ma-verify ng user ang kredibilidad ng sagot. | Sa generation, ipagawa sa LLM ang output ng [citation:1], na tumutukoy sa numero ng na-retrieve na dokumento. Idagdag sa backend ang link ng orihinal na teksto. |
Tiwala ng user + debuggability |
| Pagsasaayos ng Refusal Answer | Nag-iimbento ang modelo kapag hindi dapat sumagot, o nagsasabing hindi alam kung dapat sumagot. | Magtakda ng similarity threshold: kung ang cosine similarity ng top-1 chunk sa tanong ay mas mababa sa 0.7, i-prompt ang LLM na "Ang materyales ay hindi kaugnay". | Pagbawas ng hallucination rate |
IV. Bahagi ng Evaluation at Iteration (Alamin Kung Saan Mag-aadjust)
Walang sukatan, walang optimisasyon.
| Punto ng Pag-optimize | Paraan | Sukatan |
|---|---|---|
| Pagbuo ng Evaluation Set | Maghanda ng 100~300 tunay na tanong ng user + standard na sagot + tamang retrieval document ID. | Sumaklaw sa iba't ibang antas ng kahirapan at intensyon. |
| Automated Evaluation | Gamitin ang RAGAS (Faithfulness, Answer Relevance, Context Recall) o TruLens. | Tatlong core metrics: Faithfulness, Answer Relevance, Context Recall. |
| Human Evaluation | Lingguhang pag-sample ng 20 bad cases, suriin ang uri ng error (retrieval failure / generation error / kakulangan sa knowledge base). | Pag-order ng priority sa pagpapabuti. |
| A/B Testing | Sa production environment, mag-bucket test ng iba't ibang retrieval strategy (hal. BM25 vs hybrid retrieval). | Online metrics: user satisfaction, no-answer rate. |
V. "Praktikal na Karanasan" na Maaaring Banggitin sa Panayam (Bonus Points)
"Sa RAG project na aking pinangasiwaan, ang baseline hit rate ay 67% lamang. Gumawa ako ng tatlong bagay:
1. Pinalitan ang chunking mula fixed 1024 patungong semantic segmentation (ayon sa heading + paragraph), tumaas ang hit rate sa 74%;
2. Nagdagdag ng hybrid retrieval (vector + BM25) at isang maliit na rerank model, tumaas ang hit rate sa 83%;
3. In-optimize ang prompt at sapilitang hiniling ang[Walang nakitang kaugnay na impormasyon], ang hallucination rate ay bumaba mula 22% hanggang 5%.Dagdag pa, nagtayo kami ng patuloy na evaluation pipeline, bawat pagbabago ay tinatakbo ang 200 tanong sa RAGAS score upang matiyak na walang degradation."
Huling Buod: Isang Kumpletong Roadmap sa Pag-optimize ng RAG
Data Layer → Paglilinis ng dokumento, pag-optimize ng chunking, pagpapahusay ng metadata, domain embedding
Retrieval Layer → Hybrid retrieval, rerank, query rewriting, HyDE, Top-K optimization
Generation Layer → Pagpapalakas ng prompt, instruction requirements, compression, citation, refusal threshold
Evaluation Layer → Evaluation set, RAGAS, human analysis, A/B experiments
评论
暂无已展示的评论。
发表评论(匿名)