ਇੱਕ ਨਵਾਂ WhatsApp-ਅਧਾਰਿਤ RAG (retrieval-augmented generation) ਸਹਾਇਕ (assistant) ਹਲੂਸੀਨੇਸ਼ਨ (hallucinating) ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ ਹੈ, ਕਿਉਂਕਿ ਹੁਣ ਇਹ ਹਰ ਉੱਤਰ ਲਈ JSON-encoded ਹਵਾਲੇ (citation) ਦੀ ਮੰਗ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਮਾਡਲ ਕਿਸੇ ਖਾਸ ਚੰਕ (chunk) ਵੱਲ ਇਸ਼ਾਰਾ ਨਹੀਂ ਕਰ ਸਕਿਆ, ਤਾਂ ਇਸਨੇ “ਮੇਰੇ ਕੋਲ ਇਸਦਾ ਜਵਾਬ ਦੇਣ ਲਈ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ” ਵਾਪਸ ਦਿੱਤਾ, ਜਿਸ ਨਾਲ ਇੱਕ ਭਰੋਸੇਮੰਦ ਪਰ ਝੂਠੇ ਬੋਲਣ ਵਾਲੇ ਸਿਸਟਮ ਨੂੰ ਇੱਕ ਭਰੋਸੇਯੋਗ “ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ” ਵਾਲੇ ਸਿਸਟਮ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਗਿਆ।
RAG ਵਿੱਚ ਭਰੋਸਾ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ
RAG ਬਾਰੇ ਜ਼ਿਆਦਾਤਰ ਟਿਊਟੋਰਿਅਲ ਰੀਟ੍ਰੀਵਲ (retrieval) 'ਤੇ ਹੀ ਜ਼ੋਰ ਦਿੰਦੇ ਹਨ—ਜਿਵੇਂ ਕਿ embeddings ਦੀ ਚੋਣ ਕਰਨਾ, ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਚੰਕਸ (chunks) ਵਿੱਚ ਵੰਡਣਾ, ਅਤੇ ਨਤੀਜਿਆਂ ਨੂੰ re-rank ਕਰਨਾ। ਉਹ ਉਸ ਚੀਜ਼ ਨੂੰ ਛੱਡ ਦਿੰਦੇ ਹਨ ਜੋ ਸਬੰਧਤ ਟੈਕਸਟ ਮਿਲਣ ਤੋਂ ਬਾਅਦ ਹੁੰਦੀ ਹੈ। ਜਦੋਂ ਸਹਾਇਕ (assistant) ਇੱਕ ਅਜਿਹਾ ਨਿਸ਼ਚਿਤ ਉੱਤਰ ਦਿੰਦਾ ਹੈ ਜਿਸਦਾ ਰੀਟ੍ਰੀਵ ਕੀਤੇ ਗਏ ਸੰਦਰਭ (context) ਨਾਲ ਅਸਲ ਵਿੱਚ ਸਮਰਥਨ ਨਹੀਂ ਹੁੰਦਾ, ਤਾਂ ਉਪਭੋਗਤਾਵਾਂ ਦਾ ਵਿਸ਼ਵਾਸ ਟੁੱਟ ਜਾਂਦਾ ਹੈ।
ਭਰੋਸੇ ਦਾ ਅੰਤਰ (The confidence gap)
PostgreSQL ਅਤੇ pgvector extension ਨਾਲ ਬਣਾਏ ਗਏ ਇੱਕ ਪ੍ਰੋਟੋਟਾਈਪ ਵਿੱਚ, ਰੀਟ੍ਰੀਵਲ ਪਾਈਪਲਾਈਨ ਸਿੱਧੀ ਸੀ। ਅਸਲੀ ਚੁਣੌਤੀ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਆਈ: ਭਾਸ਼ਾ ਮਾਡਲ ਉਦੋਂ ਵੀ ਪੂਰੇ ਭਰੋਸੇ ਨਾਲ ਲੱਗਦਾ ਸੀ ਜਦੋਂ ਰੀਟ੍ਰੀਵ ਕੀਤੇ ਗਏ ਟੁਕੜੇ (snippet) ਵਿੱਚ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਦੀ ਕਮੀ ਸੀ। ਇੱਕ ਡੈਮੋ ਸਮੱਸਿਆ ਨੂੰ ਲੁਕਾ ਸਕਦਾ ਸੀ, ਪਰ ਅਸਲੀ ਉਪਭੋਗਤਾਵਾਂ ਨੇ ਭਰੋਸੇਮੰਦ ਲੱਗਣ ਅਤੇ ਸਹੀ ਹੋਣ ਦੇ ਵਿਚਕਾਰਲੇ ਅੰਤਰ ਨੂੰ ਉਜਾਗਰ ਕਰ ਦਿੱਤਾ।
JSON ਨਾਲ ਹਵਾਲਿਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ
ਮਾਡਲ ਨੂੰ “ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਜਵਾਬ ਦਿਓ ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਸੰਦਰਭ ਹੈ” ਵਰਗੇ ਪ੍ਰੋਂਪਟਸ (prompts) ਨਾਲ ਮਨਾਉਣ ਦੀ ਬਜਾਏ, ਲੇਖਕ ਨੇ ਆਊਟਪੁੱਟ ਫਾਰਮੈਟ ਬਦਲ ਦਿੱਤਾ। ਸਿਸਟਮ ਹੁਣ ਇੱਕ JSON ਆਬਜੈਕਟ ਦੀ ਮੰਗ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਹਰ ਦਾਅਵੇ ਵਿੱਚ ਉਸ ਸਹੀ ਚੰਕ ਦਾ ਹਵਾਲਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ ਜੋ ਉਸਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਮਾਡਲ ਹਵਾਲਾ ਨਹੀਂ ਜੋੜ ਸਕਦਾ, ਤਾਂ ਜਵਾਬ ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਸਪਸ਼ਟ “ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ” ਸੁਨੇਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
ਲਾਗੂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕੁਦਰਤੀ-ਭਾਸ਼ਾ (natural-language) ਦੇ ਨਿਰਦੇਸ਼ਾਂ ਤੋਂ ਹਟ ਕੇ schema validation ਵੱਲ ਚਲੀ ਗਈ। ਮਾਡਲ ਅਜੇ ਵੀ ਟੈਕਸਟ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਪਰ ਆਲੇ-ਦੁਆਲੇ ਦਾ ਕੋਡ ਇਹ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ JSON ਲੋੜੀਂਦੇ ਢਾਂਚੇ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।
ਕੀ ਬਦਲਿਆ
- ਚੰਕਿੰਗ (Chunking) ਸਾਵਧਾਨ ਹੋ ਗਈ। ਅਸਪਸ਼ਟ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵਿਆਪਕ ਚੰਕਸ ਹੁਣ ਬਿਨਾਂ ਹਵਾਲਿਆਂ ਦੇ ਦਾਅਵੇ ਪੈਦਾ ਕਰਦੇ ਹਨ, ਜਿਸ ਨਾਲ “ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ” ਵਾਲਾ ਫਾਲਬੈਕ (fallback) ਚਾਲੂ ਹੋ ਜਾਂਦਾ ਹੈ।
- ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ (System prompt) ਛੋਟਾ ਹੋ ਗਿਆ। ਮਾਡਲ ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵਾਲੇ ਭਾਰੀ-ਭਰਕਮ ਪ੍ਰੋਂਪਟ ਦੀ ਜਗ੍ਹਾ ਇੱਕ ਛੋਟਾ ਨਿਰਦੇਸ਼ ਸੈੱਟ ਲਿਆ ਗਿਆ, ਜਿਸ ਨਾਲ schema ਨੂੰ ਮੁੱਖ ਕੰਮ ਕਰਨ ਦਿੱਤਾ ਗਿਆ।
