पाठ 16 / 27

RAG Prompt बनाना

निर्देश, क्रमांकित संदर्भ और सवाल जोड़ें।

नियम, प्रमाण, सवाल

RAG prompt के तीन हिस्से हैं। निर्देश: सिर्फ़ संदर्भ से उत्तर दें, स्रोत बताएँ, उत्तर न हो तो "मुझे नहीं पता" कहें, और output format मानें। संदर्भ: chunks, हर एक संख्या या ID के साथ और ज़रूरी हो तो स्रोत व तिथि। सवाल। निर्देश पहले (या system prompt में) और सवाल अंत में रखें। संदर्भ को साफ़ डेटा के रूप में चिह्नित करें, निर्देश नहीं, क्योंकि retrieved पाठ में prompt-injection प्रयास हो सकते हैं। कोड उपयोग करे तो structured output (जैसे answer और citations वाला JSON) माँगें।

Prompt, cite, verify

अच्छा prompt, कोड में जाँचे citations और groundedness परीक्षण उत्तरों को ईमानदार रखते हैं।

तीन चरण: निर्देश, cite, verify।
चित्र 5.1 — निर्देश, cite और verify।

Prompt जोड़ना, चलाकर

मैंने यह सादा-Python (सिर्फ़ standard library) उदाहरण चलाया। Function हर chunk को क्रमांक देता है ताकि मॉडल [1] या [2] cite कर सके।

def build_prompt(question, chunks):
    context = "\n".join(f"[{i}] {c}" for i, c in enumerate(chunks, start=1))
    return (
        "Answer only from the numbered context. Cite sources like [1]. "
        "If the answer is not in the context, say you do not know.\n\n"
        f"Context:\n{context}\n\nQuestion: {question}\nAnswer:"
    )

chunks = ["Employees get 24 days of paid leave per year.",
          "Unused leave up to 5 days can be carried over."]
print(build_prompt("How many days can I carry over?", chunks))

Output:

Answer only from the numbered context. Cite sources like [1]. If the answer is not in the context, say you do not know.

Context:
[1] Employees get 24 days of paid leave per year.
[2] Unused leave up to 5 days can be carried over.

Question: How many days can I carry over?
Answer:

सवाल अंत में रखें

मॉडल prompt के अंत को अधिक भार देते हैं, इसलिए सवाल संदर्भ के बाद रखें और संदर्भ लंबा हो तो मुख्य नियम संक्षेप में दोहराएँ।

त्वरित जाँच: Prompt में हर chunk को संख्या या ID क्यों दें?

  • Tokens घटाने के लिए
  • पाठ छिपाने के लिए
  • ताकि मॉडल बता सके कि कौन-सा chunk हर दावे का समर्थन करता है
  • Retrieval छोड़ने के लिए
Answer

ताकि मॉडल बता सके कि कौन-सा chunk हर दावे का समर्थन करता है — IDs citations को संभव और जाँचने योग्य बनाते हैं।