Lesson 58 — Intermediate

Query Transformation & RAG-Fusion

User ka sawaal seedha retrieval query nahi hota — lamba, ghumao hua, kabhi kabhi ekdum chhota. Is lesson mein hum query rewriting, expansion, multi-query retrieval, HyDE, aur RAG-Fusion (multi-query + RRF) dekhenge — saath mein uska cost bill aur wo cases jahan sab skip kar dete hain.

⏱ 20 min• Intermediate• Reranking

User question retrieval query kyun nahi

Kya hai?

Query transformation: LLM se user ke sawaal ko 1-3 alag retrieval queries mein badalna, ya hypothetical answer bana ke embed karna. Motive — jo meaning user ne bola hai, wo vector space mein sahi se jagah le jaaye.

Kab kaam aata hai?

Ambiguous, chhote ya bahut lambe sawaal; Hinglish phrasing jiske terms corpus se match nahi karte; multi-faceted questions jinme do cheezein poochhi gayi hain.

Kahan milta hai?

RAG pipeline mein retrieve se pehle ek transform step ke roop mein — M4.11 wala layer. RAG-Fusion isi ka extended form hai.

Sawaal user ki bhasha mein hai, corpus ki bhasha alag. "paisa wapas kab milega" corpus mein "refund timeline" hai — meaning same, terms alag. Transformation ka kaam isi bridge ko banana hai.

Pehle baseline chalao: Transformation ek improvement layer hai, foundation nahi. Pehle baseline RAG ka score dekho, tabhi transformation ka asar dikhega — warna kya improve hua pata hi nahi chalega.

Rewriting aur expansion

REWRITE = """Rewrite the question for document search.
Give 3 versions: exact terms, synonyms, shorter keywords.
One per line, no numbering."""

def variants(query, llm):
    out = llm(REWRITE + "\n\nQuestion: " + query)
    return [v.strip() for v in out.strip().splitlines() if v.strip()]

# "mera paisa wapas kab milega" ->
#   "refund timeline policy"
#   "reimbursement processing time"
#   "payment status check kar"  <- chhoti/ashuddhi variant bhi aa sakti hai, filter karo
Ek call ka khazana: Rewriting sabse sasta fayda deti hai — pehle isi se shuru karo. Uske baad multi-query/fusion socho, wo apne aap mehnga hai.

HyDE — hypothetical answer embed karna

HYP = "Write a short passage that would answer this question. Do not include the question."

def hyde_query(query, llm):
    hyp_doc = llm(HYP + "\n\nQuestion: " + query)
    return embed(hyp_doc)      # sawaal ka nahi, jawab-jaise text ka vector

# sawaal chhota/ashuddha ho toh:
# query "refund?" -> hypothetical answer paragraph -> embedding
Kab HyDE: Sawaal bahut chhota, ashuddha, ya jargon-heavy ho aur corpus formal style mein ho — tab HyDE. Warna simple rewriting kaafi. Har query pe HyDE = unnecessary 2x latency.

RAG-Fusion — multi-query + RRF

def rag_fusion(query, llm, k=5):
    qs = [query] + variants(query, llm)          # original + 3 rewrites
    rankings = [dense_rank(q, top=20) for q in qs]
    fused = rrf(rankings, k=60)                  # M4.6 wala RRF
    return fused[:k]

# har query ki alag ranking -> RRF se fused top-k
Fusion ka bill: 3 variants = 3 embedding calls + 3 retrievals, aur pehle 1 LLM call. Yehi hai RAG-Fusion ka real cost — isliye ye ek optional layer hai, default nahi.

Extra calls ka bill aur kab skip karein

Sahi rhythm: baseline chalao → weak query types identify karo → sirf unme transformation on karo. Har query pe sab kuch lagana maturity nahi, cost leak hai.

Decision rule: A/B test karo fusion ke bina vs ke saath — score badla toh rakho, nahi toh hatao. "Advanced" dikhne ke liye layer mat jodo; har layer ka apna latency bill hai.

Exercise

Question: Sawaal ke bajaye hypothetical jawab embed karne wali technique ka naam?

Question: Multiple queries se aaye rankings ko combine karne wala method kya hai?

Question: Ambiguous sawaal ke liye ek hi query ki jagah kitni retrieval queries banai jaati hain?

Question: RAG-Fusion mein pehle kya add hota hai — LLM calls ya kam?

Common mistakes

Desi example: Waiter ka clarification round

Customer ne order Hindi mein diya, waiter ne kitchen ke liye 3 alag-alag words mein likha — jo baat teeno mein common hai wahi pakki order hai. RAG-Fusion wahi karti hai, order ki nahi query ki:

text
user: "paisa wapas kab aayega?"
variant 1: "refund processing time"
variant 2: "reimbursement timeline policy"
variant 3: "return payment schedule"
har variant ki ranking -> RRF -> jo doc sabme top, wahi final
Interview angle — yahan se sawaal aate hain
  • Q: Query transformation kyun chahiye? — User ki phrasing corpus ke terms se alag hoti hai; LLM se bridge banwate hain.
  • Q: HyDE kaise kaam karta hai? — LLM ek hypothetical answer likhta hai, uska embedding query ki jagah use hota hai.
  • Q: RAG-Fusion ke steps? — Multiple query variants, har ek se retrieve, RRF se rankings fuse, top-k.
  • Q: Kab transformation skip karo? — Baseline eval pe pehle se strong, latency tight, ya A/B mein fark hi nahi dikha.
Lesson complete?

Query transformation aur fusion clear — ab mushkil sawaal ko retrieval-friendly bana sakte ho. Agla lesson — Grounding, Citations & Abstention — mein dekhenge jawab ko traceable kaise rakhte hain.

Popular courses: Data Science Course in Lucknow · AI Course in Lucknow · Python Course in Lucknow · Power BI Course · Data Analytics Course