पाठ 17 / 27

सत्यापन योग्य Citations

कोड में जाँचें कि हर दावा असली, समर्थक स्रोत की ओर इशारा करता है।

Citation पर आँख मूँदकर भरोसा न करें

मॉडल स्रोत गढ़ सकता है या असली स्रोत को ऐसे दावे से जोड़ सकता है जिसका वह समर्थन नहीं करता। जाँचों की परतें रखें: (1) हर उद्धृत ID retrieved chunks में मौजूद हो; (2) हर तथ्यात्मक वाक्य में कम से कम एक citation हो; (3) वैकल्पिक रूप से, उद्धृत पाठ वाक़ई दावे को सिद्ध करे (शब्द-overlap अनुमान, या judge के रूप में दूसरी मॉडल call या NLI मॉडल)। Citations user को मूल दस्तावेज़ और पृष्ठ के links के रूप में दिखाएँ ताकि वे जाँच सकें, और विफलताएँ log करें ताकि prompts व retrieval सुधरें।

Citation checker, चलाकर

मैंने यह सादा-Python (सिर्फ़ standard library) उदाहरण चलाया। पहला उत्तर ऐसा स्रोत [3] उद्धृत करता है जो कभी retrieve नहीं हुआ और एक वाक्य बिना citation का है, इसलिए दोनों समस्याएँ रिपोर्ट होती हैं। दूसरा उत्तर पास होता है।

import re

chunks = {1: "Unused leave up to 5 days can be carried over to the next year.",
          2: "Employees get 24 days of paid leave per year."}

def check(answer):
    problems = []
    for sentence in re.split(r"(?<=[.!?])\s+", answer.strip()):
        cites = [int(c) for c in re.findall(r"\[(\d+)\]", sentence)]
        if not cites:
            problems.append(("no citation", sentence)); continue
        for c in cites:
            if c not in chunks:
                problems.append(("unknown source", c))
    return problems

print(check("You can carry over 5 days [1]. Bonus leave is 10 days [3]. Weekends are free."))
print(check("You can carry over 5 days [1]."))

Output:

[('unknown source', 3), ('no citation', 'Weekends are free.')]
[]

सटीक पृष्ठ से जोड़ें

जो citation मूल दस्तावेज़ को सही पृष्ठ या heading पर खोले, वह सत्यापन को एक-क्लिक का काम बना देती है।

त्वरित जाँच: कौन-सी जाँच गढ़ी हुई स्रोत ID पकड़ती है?

  • छोटे chunks उपयोग करना
  • Temperature बढ़ाना
  • जाँचना कि हर उद्धृत ID retrieved chunks में है
  • सवाल हटाना
Answer

जाँचना कि हर उद्धृत ID retrieved chunks में है — सरल set-सदस्यता परीक्षण वे IDs ढूँढ लेता है जो मौजूद नहीं।