← 返回列表

Sèrie d'entrevistes d'IA 11: Com optimitzar RAG?

L'optimització de RAG no és un ajust d'un sol enllaç, sinó un procés d'optimització de tota la cadena. A continuació, des de quatre dimensions: costat d'indexació de dades, costat de recuperació, costat de generació i costat d'avaluació, dono estratègies d'optimització sistemàtiques, juntament amb experiències pràctiques que es poden esmentar en les entrevistes.


I. Optimització del costat d'indexació de dades (millorar la qualitat de la "base de coneixement")

Aquesta és la part més fàcilment ignorada però amb resultats més ràpids.

Punt d'optimització Fenomen del problema Acció concreta Indicador d'efecte
Anàlisi de documents Les taules i diagrames de flux en PDF s'ignoren, o el text apareix amb caràcters incorrectes o ordre desordenat. Utilitzeu biblioteques d'anàlisi millors (com unstructured, mode de preservació de disseny de pypdf); per a taules, extreieu amb pandas i convertiu a Markdown. Taxa de recuperació +5~15%
Mida dels fragments de text Chunk massa petit perd context (per exemple, "ell" a "els seus ingressos van créixer aquest any" perd la referència); chunk massa gran introdueix soroll en la recuperació. Experimenteu amb diferents mides de chunk (256/512/768 tokens), solapament (overlap) del 10~20%; per a documents llargs, talleu per fronteres semàntiques (paràgrafs/títols) en lloc de longitud fixa. Taxa d'encert / fidelitat
Afegir metadades Es recupera un fragment rellevant, però no es pot rastrejar la font o el temps, o cal filtrar per àmbit. Afegiu metadades a cada chunk: source (nom del fitxer/URL), timestamp, page_num, doc_type. En la recuperació, utilitzeu filtres (com doc_type == 'legal'). Precisió del filtratge
Selecció del model d'embedding L'embedding genèric funciona malament en dominis verticals (medicina, codi, dret). Utilitzeu models afinats per domini (BGE-large-zh, GTE-Qwen2-7B-instruct); o afineu el vostre propi model d'embedding (amb triplet loss). MRR@10 en recuperació +10~20%

II. Optimització del costat de recuperació (fer que "llegir el llibre" sigui més precís)

La recuperació determina la qualitat de les "referències" que es donen a l'LLM.

Punt d'optimització Fenomen del problema Acció concreta Efecte
Recuperació híbrida La recuperació vectorial no pot coincidir amb termes precisos (com el model de producte ABC-123), la recuperació per paraules clau no pot entendre sinònims. Utilitzeu simultàniament la recuperació vectorial (semàntica) i BM25 (paraules clau), combinant amb ponderació (com 0.7vector + 0.3BM25) o fusió amb rerank. Taxa de recuperació +10~25%
Reordenació (Rerank) Els primers resultats de la recuperació vectorial no són necessàriament els més rellevants; el desè pot ser el millor. Utilitzeu un model cross‑encoder (com BGE‑reranker-v2, Cohere Rerank) per re-puntuar el conjunt candidat (per exemple, els primers 20) i agafeu el top-K. Millora significativa de la taxa d'encert (especialment top‑1)
Reescriptura de consultes Les preguntes dels usuaris són vagues o les referències en múltiples torns de diàleg són poc clares ("I el seu preu?"). Utilitzeu l'LLM per reescriure la pregunta original en un format més adequat per a la recuperació (com "Quin és el preu de l'iPhone 15?"); o completeu utilitzant l'historial del diàleg. Taxa de recuperació +5~15%
HyDE La pregunta de l'usuari és massa curta o abstracta (com "Explica la fotosíntesi"), la recuperació directa és deficient. Primer feu que l'LLM generi una resposta hipotètica, després utilitzeu aquesta resposta per recuperar documents. Adequat per a dominis oberts, no per a preguntes factuals precises
Ajust del nombre de recuperació Top‑K K massa petit pot perdre informació clau; K massa gran augmenta el consum de tokens i el soroll. Experimenteu amb K=3/5/10, observant l'equilibri entre la taxa de recuperació i la fidelitat de la resposta. Compromís eficiència vs. efecte

III. Optimització del costat de generació (fer que l'LLM utilitzi bé les referències)

Per més precisa que sigui la recuperació, si l'indicació o el model no són bons, no serveix.

Punt d'optimització Fenomen del problema Acció concreta Efecte
Enginyeria de prompts L'LLM ignora el contingut recuperat o inventa coses. Doneu instruccions clares: "Respon exclusivament basant-te en els materials de referència proporcionats a continuació. Si la informació és insuficient o no rellevant, respon 'No hi ha informació suficient'." Afegiu exemples few‑shot que mostrin com citar fonts. Fidelitat +20~40%
Compressió de context El contingut recuperat és massa llarg (supera la finestra de context del model) o majoritàriament soroll. Utilitzeu LLMLingua o context selectiu per comprimir, conservant les frases més rellevants abans d'enviar-ho a l'LLM. Redueix el risc de pèrdua d'informació
Actualització del model LLM Models petits (7B) no poden fer raonaments complexos o no recorden context llargs. Canvieu a models més potents (GPT‑4o, Claude 3.5 Sonnet, Qwen2.5‑72B). Precisió de raonament millora significativament
Streaming i citacions Els usuaris no poden verificar la credibilitat de la resposta. En generar, feu que l'LLM produeixi [citation:1], corresponent al número del document recuperat. Al backend, adjunteu l'enllaç original. Confiança de l'usuari + depuració
Calibratge de negativa a respondre El model inventa quan no hauria de respondre, o diu que no sap quan hauria de respondre. Establiu un llindar de similitud: si la similitud cosinus del chunk top‑1 recuperat amb la pregunta és inferior a 0.7, indiqueu a l'LLM que "la informació no és rellevant". Redueix la taxa d'al·lucinacions

IV. Avaluació i iteració (saber cap a on ajustar)

Sense mètriques no es pot optimitzar.

Punt d'optimització Acció Indicador
Crear un conjunt d'avaluació Prepareu 100~300 preguntes d'usuaris reals + respostes estàndard + ID correctes dels documents recuperats. Cobreixi diferents dificultats i intencions.
Avaluació automatitzada Utilitzeu RAGAS (Faithfulness, Answer Relevance, Context Recall) o TruLens. Tres indicadors clau: fidelitat, rellevància de la resposta, recall de context.
Avaluació humana Cada setmana, testegeu 20 casos dolents (bad cases) i analitzeu el tipus d'error (fallada de recuperació / error de generació / manca de base de coneixement). Priorització de millores.
Proves A/B Al entorn de producció, feu tests segmentats amb diferents estratègies de recuperació (per exemple BM25 vs recuperació híbrida). Indicadors en línia: satisfacció de l'usuari, taxa de respostes sense informació.

V. Experiències pràctiques que es poden esmentar en entrevistes (punts extra)

"En el projecte RAG del qual vaig ser responsable, la taxa d'encert inicial era només del 67%. Vaig fer tres coses:
1. Canviar la segmentació de fragments de fixa 1024 a segmentació semàntica dinàmica (per títols+paràgrafs), la taxa d'encert va pujar al 74%;
2. Afegir recuperació híbrida (vectorial + BM25) i un model de rerank petit, la taxa d'encert va pujar al 83%;
3. Optimitzar el prompt i exigir [No s'ha trobat informació rellevant], la taxa d'al·lucinacions va baixar del 22% a menys del 5%.

A més, vam crear un pipeline d'avaluació contínua, executant les puntuacions RAGAS de 200 preguntes abans de cada canvi, assegurant que no hi hagués degradació."


Resum final: un mapa complet d'optimització de RAG

Capa de dades ─→ Neteja de documents, optimització de fragments, enriquiment de metadades, embedding de domini
Capa de recuperació ─→ Recuperació híbrida, rerank, reescriptura de consultes, HyDE, ajust de Top-K
Capa de generació ─→ Reforç de prompts, instruccions, compressió, citacions, llindar de negativa
Capa d'avaluació ─→ Conjunt d'avaluació, RAGAS, anàlisi humana, experiments A/B

评论

暂无已展示的评论。

发表评论(匿名)