ప్రతి సమాధానం JSON-encoded సైటేషన్ (citation) తో మద్దతుగా ఉండాలని కోరడం ద్వారా, ఒక కొత్త WhatsApp-ఆధారిత RAG (retrieval-augmented generation) అసిస్టెంట్ తప్పుడు సమాచారాన్ని సృష్టించడం (hallucinating) ఆపివేసింది. మోడల్ ఏదైనా నిర్దిష్ట చంక్‌ను (chunk) చూపలేనప్పుడు, అది "దానికి సమాధానం చెప్పడానికి నా దగ్గర తగినంత సమాచారం లేదు" అని తిరిగి ఇచ్చింది, తద్వారా ఆత్మవిశ్వాసంతో అబద్ధాలు చెప్పే వ్యవస్థను, నమ్మదగిన "నాకు తెలియదు" అనే వ్యవస్థగా మార్చింది.

RAGలో నమ్మకం ఎందుకు ముఖ్యం

RAG పై వచ్చే చాలా ట్యుటోరియల్స్ రిట్రీవల్ (retrieval) పైనే దృష్టి పెడతాయి—embeddings ఎంచుకోవడం, డాక్యుమెంట్లను చంక్స్‌గా విభజించడం, ఫలితాలను రీ-ర్యాంక్ చేయడం వంటివి. సంబంధిత టెక్స్ట్ దొరికిన తర్వాత ఏం జరుగుతుందో అవి విస్మరిస్తాయి. రిట్రీవ్ చేయబడిన కాంటెక్స్ట్ (context) నిజానికి మద్దతు ఇవ్వని ఒక ఖచ్చితమైన సమాధానాన్ని అసిస్టెంట్ ఇచ్చినప్పుడు వినియోగదారులు నమ్మకాన్ని కోల్పోతారు.

కాన్ఫిడెన్స్ గ్యాప్ (The confidence gap)

PostgreSQL మరియు pgvector ఎక్స్‌టెన్షన్‌తో రూపొందించిన ప్రోటోటైప్‌లో, రిట్రీవల్ పైప్‌లైన్ సరళంగా ఉంది. అసలైన సవాలు ప్రొడక్షన్‌లో కనిపించింది: రిట్రీవ్ చేయబడిన స్నిప్పెట్‌లో (snippet) అవసరమైన సమాచారం లేనప్పటికీ, లాంగ్వేజ్ మోడల్ చాలా నమ్మకంగా మాట్లాడేది. డెమోలో ఈ సమస్యను దాచవచ్చు, కానీ నిజమైన వినియోగదారులు ఆత్మవిశ్వాసంతో మాట్లాడటం మరియు సరిగ్గా ఉండటం మధ్య ఉన్న వ్యత్యాసాన్ని బయటపెట్టారు.

JSONతో సైటేషన్లను అమలు చేయడం

"నీ దగ్గర కాంటెక్స్ట్ ఉంటేనే సమాధానం ఇవ్వు" వంటి ప్రాంప్ట్‌లతో మోడల్‌ను ఒప్పించడానికి ప్రయత్నించే బదులు, రచయిత అవుట్‌పుట్ ఫార్మాట్‌ను మార్చారు. ఇప్పుడు సిస్టమ్ ఒక JSON ఆబ్జెక్ట్‌ను కోరుతుంది, ఇక్కడ ప్రతి క్లెయిమ్ (claim) దానికి మద్దతు ఇచ్చే ఖచ్చితమైన చంక్‌కు సంబంధించిన రిఫరెన్స్‌ను కలిగి ఉంటుంది. మోడల్ సైటేషన్‌ను జత చేయలేకపోతే, ఆ రెస్పాన్స్ తిరస్కరించబడుతుంది మరియు వినియోగదారునికి స్పష్టమైన "నాకు తెలియదు" అనే సందేశం కనిపిస్తుంది.

ఈ అమలు విధానం నేచురల్-లాంగ్వేజ్ సూచనల నుండి స్కీమా వాలిడేషన్‌కు (schema validation) మారింది. మోడల్ ఇంకా టెక్స్ట్‌ను జనరేట్ చేస్తుంది, కానీ వినియోగదారునికి చేరకముందే చుట్టూ ఉన్న కోడ్ ఆ JSON అవసరమైన నిర్మాణానికి (structure) అనుగుణంగా ఉందో లేదో తనిఖీ చేస్తుంది.

ఏమి మారింది

  • చంకింగ్ (Chunking) సంప్రదాయబద్ధంగా మారింది. అస్పష్టమైన లేదా అతి విస్తృతమైన చంక్స్‌ ఇప్పుడు సైటేషన్లు లేకుండా క్లెయిమ్‌లను జనరేట్ చేస్తాయి, దీనివల్ల "నాకు తెలియదు" అనే ఫాల్‌బ్యాక్ (fallback) ట్రిగ్గర్ అవుతుంది.
  • సిస్టమ్ ప్రాంప్ట్ తగ్గింది. మోడల్ ప్రవర్తనను నియంత్రించడానికి ప్రయత్నించే భారీ ప్రాంప్ట్‌కు బదులుగా చిన్న సూచనల సెట్ వచ్చింది, దీనివల్ల స్కీమా (schema) ప్రధాన పనిని చేస్తుంది.
  • వైఫల్యాలు స్పష్టంగా కనిపిస్తాయి. రిట్రీవల్ సంబంధం లేని సమాచారాన్ని ఇచ్చినప్పుడు, అసిస్టెంట్ ఇకపై ఆత్మవిశ్వాసంతో కూడిన తప్పుడు సమాధానంతో తప్పును దాచదు; అది బహిరంగంగా తన అనిశ్చితిని ఒప్పుకుంటుంది.

ముఖ్య అంశం (Takeaway): RAG అసిస్టెంట్‌ల కోసం, ప్రతి క్లెయిమ్ రిట్రీవ్ చేయబడిన మూలానికి (source) అనుసంధానించబడిందని నిర్ధారించడం, కేవలం రిట్రీవల్ దశను మెరుగుపరచడం కంటే వినియోగదారుల నమ్మకాన్ని మరింత నమ్మదగిన రీతిలో పెంచుతుంది. సైటేషన్లు లేనప్పుడు దానిని స్పష్టమైన "నాకు తెలియదు" అని చూపించడం ద్వారా, డెవలపర్లు సమాధానాలను సృష్టించే బదులు, సిస్టమ్ తన పరిమితులను ఒప్పుకునేలా చేస్తారు.