ਯੂਨਿਟ 1 / 11

RAG ਕੀ ਹੈ ਅਤੇ ਇਹ ਕਿਉਂ ਜ਼ਰੂਰੀ ਹੈ?

ਲਾਭ:

  • ਇਹ ਦੱਸਣਾ ਕਿ RAG ਮਾਡਲ ਦੇ ਵਜ਼ਨ ਨੂੰ ਬਦਲੇ ਬਿਨਾਂ ਸੰਦਰਭ ਇੰਜੈਕਟ ਕਰਦਾ ਹੈ ਅਤੇ 'ਓਪਨ ਬੁੱਕ ਇਮਤਿਹਾਨ' ਤਰਕ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ
  • RAG ਦੀ ਕੀਮਤ, ਸਮਾਂਬੱਧਤਾ ਅਤੇ ਵਰਤੋਂ ਦੇ ਦ੍ਰਿਸ਼ ਦੇ ਅਨੁਸਾਰ ਫਾਈਨ-ਟਿਊਨਿੰਗ ਅਤੇ ਲੰਬੇ ਸੰਦਰਭ ਪਹੁੰਚ ਨਾਲ ਤੁਲਨਾ ਕਰਨਾ
  • ਇੱਕ ਆਮ RAG ਪਾਈਪਲਾਈਨ ਦੇ ਕਦਮਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਨਾ ਜਿਸ ਵਿੱਚ ਇੰਡੈਕਸਿੰਗ ਅਤੇ ਪੁੱਛਗਿੱਛ ਪੜਾਅ ਸ਼ਾਮਲ ਹਨ

ਭਾਵੇਂ ਕੋਈ ਭਾਸ਼ਾ ਮਾਡਲ (ਨਕਲੀ ਬੁੱਧੀ ਜੋ ਟੈਕਸਟ ਨੂੰ ਸਮਝਦੀ ਅਤੇ ਪੈਦਾ ਕਰਦੀ ਹੈ; ਅਸੀਂ ਇਸਨੂੰ ਹੁਣ ਤੋਂ ਥੋੜ੍ਹੇ ਸਮੇਂ ਲਈ ਮਾਡਲ ਕਹਾਂਗੇ) ਕਿੰਨਾ ਵੀ ਸ਼ਕਤੀਸ਼ਾਲੀ ਕਿਉਂ ਨਾ ਹੋਵੇ, ਇਹ ਤੁਹਾਡੀ ਕੰਪਨੀ ਦੁਆਰਾ ਕੱਲ੍ਹ ਹਸਤਾਖਰ ਕੀਤੇ ਗਏ ਇਕਰਾਰਨਾਮੇ, ਤੁਹਾਡੇ ਅੰਦਰੂਨੀ ਵਿਕੀ (ਅੰਦਰੂਨੀ ਗਿਆਨ ਅਧਾਰ) ਪੰਨੇ, ਜਾਂ ਅੱਜ ਸਵੇਰੇ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਗਏ ਰੀਲੀਜ਼ ਨੋਟ ਬਾਰੇ ਨਹੀਂ ਜਾਣਦਾ ਹੈ। ਮਾਡਲ ਆਮ ਗਿਆਨ ਤੱਕ ਸੀਮਿਤ ਹੈ ਉਸ ਮਿਤੀ ਤੱਕ ਜਿਸ ਨੂੰ ਇਸ ਨੂੰ ਸਿਖਲਾਈ ਦਿੱਤੀ ਗਈ ਸੀ; ਇਸ ਨੂੰ "ਸਿੱਖਿਆ ਕੱਟ-ਆਫ ਤਾਰੀਖ" ਕਿਹਾ ਜਾਂਦਾ ਹੈ। RAG (ਰੀਟ੍ਰੀਵਲ-ਔਗਮੈਂਟੇਡ ਜਨਰੇਸ਼ਨ) ਬਿਲਕੁਲ ਇਸ ਪਾੜੇ ਨੂੰ ਭਰਦਾ ਹੈ: ਇਹ ਸਵਾਲ ਨਾਲ ਸਬੰਧਤ ਕੰਪਨੀ ਦੇ ਦਸਤਾਵੇਜ਼ ਲੱਭਦਾ ਹੈ, ਇਸ ਨੂੰ ਸੰਦਰਭ ਵਜੋਂ ਮਾਡਲ ਨੂੰ ਦਿੰਦਾ ਹੈ (ਅਰਥਾਤ, ਜਵਾਬ ਤਿਆਰ ਕਰਨ ਵੇਲੇ ਇਹ ਵਾਧੂ ਟੈਕਸਟ ਪੜ੍ਹੇਗਾ) ਅਤੇ ਇਸ ਸੰਦਰਭ ਦੇ ਆਧਾਰ 'ਤੇ ਜਵਾਬ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ।

ਇਸ ਯੂਨਿਟ ਵਿੱਚ, ਅਸੀਂ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦੇਖਾਂਗੇ ਕਿ RAG ਕੀ ਹੈ, ਜਦੋਂ ਇਸਨੂੰ ਕਿਹੜੇ ਵਿਕਲਪਾਂ 'ਤੇ ਤਰਜੀਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਇੱਕ ਆਮ RAG ਪਾਈਪਲਾਈਨ ਦੇ ਕਦਮ। ਸਾਰੀਆਂ ਅਗਲੀਆਂ ਇਕਾਈਆਂ ਇਸ ਨਕਸ਼ੇ ਦੇ ਭਾਗਾਂ ਨੂੰ ਇਕ-ਇਕ ਕਰਕੇ ਡੂੰਘਾ ਕਰਨਗੀਆਂ।

RAG ਦਾ ਮੂਲ ਵਿਚਾਰ: ਓਪਨ ਬੁੱਕ ਐਗਜ਼ਾਮ

ਆਉ ਇੱਕ ਵਾਕ ਵਿੱਚ RAG ਦੀ ਵਿਆਖਿਆ ਕਰੀਏ: "ਪਹਿਲਾਂ ਸੰਬੰਧਿਤ ਦਸਤਾਵੇਜ਼ ਲੱਭੋ, ਫਿਰ ਮਾਡਲ ਨੂੰ ਉਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪੜ੍ਹੋ ਅਤੇ ਉਸ ਅਨੁਸਾਰ ਜਵਾਬ ਛਾਪੋ।"

ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਸਮਾਨਤਾ ਇਹ ਹੈ: RAG ਮਾਡਲ ਨੂੰ "ਬੰਦ ਬੁੱਕ ਇਮਤਿਹਾਨ" ਤੋਂ ਇੱਕ "ਓਪਨ ਬੁੱਕ ਪ੍ਰੀਖਿਆ" ਵਿੱਚ ਲੈ ਜਾਂਦੀ ਹੈ। ਬੰਦ ਕਿਤਾਬੀ ਇਮਤਿਹਾਨ ਵਿੱਚ, ਵਿਦਿਆਰਥੀ ਸਿਰਫ ਯਾਦਦਾਸ਼ਤ ਤੋਂ ਜਵਾਬ ਦਿੰਦਾ ਹੈ; ਜੋ ਤੁਹਾਨੂੰ ਯਾਦ ਨਹੀਂ ਹੈ ਉਸ ਨੂੰ ਬਣਾਉਣ ਦਾ ਇੱਕ ਉੱਚ ਜੋਖਮ ਹੁੰਦਾ ਹੈ। ਓਪਨ ਬੁੱਕ ਇਮਤਿਹਾਨ ਵਿੱਚ, ਵਿਦਿਆਰਥੀ ਆਪਣੇ ਸਾਹਮਣੇ ਰੱਖੇ ਸਰੋਤ ਨੂੰ ਦੇਖ ਕੇ ਉੱਤਰ ਦਿੰਦਾ ਹੈ। RAG ਵਿੱਚ, ਮਾਡਲ ਹੁਣ ਆਪਣੀ ਖੁਦ ਦੀ ਮੈਮੋਰੀ ਤੋਂ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ, ਪਰ ਮੌਜੂਦਾ ਅਤੇ ਖਾਸ ਟੈਕਸਟ ਤੋਂ ਜੋ ਤੁਸੀਂ ਇਸਨੂੰ ਦਿੰਦੇ ਹੋ।

ਨਾਜ਼ੁਕ ਬਿੰਦੂ: RAG ਮਾਡਲ ਦੇ ਵਜ਼ਨ ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ, ਯਾਨੀ ਅਰਬਾਂ ਸੰਖਿਆਤਮਕ ਮਾਪਦੰਡ ਜੋ ਮਾਡਲ ਨੇ ਸਿੱਖਿਆ ਹੈ। ਤੁਸੀਂ ਮਾਡਲ ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਸਿਖਾਉਂਦੇ ਹੋ। ਹਰੇਕ ਪ੍ਰਸ਼ਨ ਲਈ, ਤੁਸੀਂ ਉਸ ਪ੍ਰਸ਼ਨ ਨਾਲ ਸੰਬੰਧਿਤ ਟੈਕਸਟ ਦੇ ਟੁਕੜੇ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਇੰਜੈਕਟ ਕਰਦੇ ਹੋ (ਮਾਡਲ ਨੂੰ ਹਦਾਇਤ ਟੈਕਸਟ ਭੇਜਿਆ ਗਿਆ)। ਇਸ ਲਈ ਜਦੋਂ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ ਮਾਡਲ ਨੂੰ ਦੁਬਾਰਾ ਸਿਖਲਾਈ ਦੇਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ; ਤੁਸੀਂ ਸਿਰਫ਼ ਖੋਜ ਡੇਟਾਬੇਸ ਵਿੱਚ ਸੰਬੰਧਿਤ ਰਿਕਾਰਡ ਨੂੰ ਤਾਜ਼ਾ ਕਰਦੇ ਹੋ।

ਸੰਕੇਤ: ਦੋ ਸਵਾਲ RAG ਦੀ ਗੁਣਵੱਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਨ: (1) ਕੀ ਤੁਹਾਨੂੰ ਸਹੀ ਦਸਤਾਵੇਜ਼ ਮਿਲਿਆ? (2) ਕੀ ਮਾਡਲ ਨੇ ਇਸ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪੜ੍ਹਿਆ ਹੈ? ਪਹਿਲਾ "ਪ੍ਰਾਪਤ ਗੁਣਵੱਤਾ" ਹੈ, ਦੂਜਾ "ਪੀੜ੍ਹੀ ਗੁਣਵੱਤਾ" ਹੈ। ਦੋਵਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਮਾਪਿਆ ਅਤੇ ਸੁਧਾਰਿਆ ਜਾਂਦਾ ਹੈ।

RAG, ਫਾਈਨ-ਟਿਊਨਿੰਗ ਜਾਂ ਲੰਬੇ ਪ੍ਰਸੰਗ?

ਸੰਗਠਨਾਤਮਕ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਲੱਭਣ ਵੇਲੇ ਤਿੰਨ ਮਾਰਗ ਅਕਸਰ ਉਲਝਣ ਵਿੱਚ ਹੁੰਦੇ ਹਨ। ਆਓ ਉਨ੍ਹਾਂ ਦੇ ਅੰਤਰ ਨੂੰ ਸਪੱਸ਼ਟ ਕਰੀਏ। ਫਾਈਨ-ਟਿਊਨਿੰਗ ਤੁਹਾਡੇ ਡੇਟਾ ਨਾਲ ਮਾਡਲ ਦੇ ਵਜ਼ਨ ਨੂੰ ਅੱਪਡੇਟ ਕਰ ਰਹੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਨਵਾਂ ਵਿਹਾਰ/ਸ਼ੈਲੀ ਸਿਖਾ ਰਹੀ ਹੈ। ਲੰਬੇ ਸੰਦਰਭ ਦਾ ਮਤਲਬ ਹੈ ਬਿਨਾਂ ਕਿਸੇ ਚੋਣ ਦੇ ਸਾਰੇ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਸਿੱਧੇ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਭਰਨਾ।

ਪਹੁੰਚ

ਕੀ ਕਰਦਾ ਹੈ

ਇਹ ਕਦੋਂ ਢੁਕਵਾਂ ਹੈ?

ਲਾਗਤ / ਜੋਖਮ

ਰਾਗ

ਸੰਦਰਭ ਦੇ ਤੌਰ 'ਤੇ ਸੰਬੰਧਿਤ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇੰਜੈਕਟ ਕਰਦਾ ਹੈ

ਅਕਸਰ ਬਦਲਦੀ, ਵਿਆਪਕ, ਖਾਸ ਜਾਣਕਾਰੀ

ਘੱਟ; ਅਪਡੇਟ ਕਰਨ ਲਈ ਆਸਾਨ, ਸਰੋਤ ਦਾ ਹਵਾਲਾ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ

ਫਾਈਨ-ਟਿਊਨਿੰਗ

ਨਵੇਂ ਡੇਟਾ ਨਾਲ ਵਜ਼ਨ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ

ਸਥਿਰ ਸ਼ੈਲੀ/ਫਾਰਮੈਟ/ਭਾਸ਼ਾ ਅਧਿਆਪਨ

ਉੱਚਾ; ਹਰ ਅੱਪਡੇਟ ਨਾਲ ਮੁੜ ਸਿਖਲਾਈ ਦੀ ਲੋੜ ਹੈ

ਸਿਰਫ਼ ਲੰਬਾ ਸੰਦਰਭ

ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਸਾਰੇ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਭਰਦਾ ਹੈ

ਛੋਟਾ, ਸਥਿਰ ਦਸਤਾਵੇਜ਼ ਸੈੱਟ

ਟੋਕਨ ਦੀ ਲਾਗਤ ਅਤੇ "ਮੱਧਲੇ ਹਿੱਸੇ ਨੂੰ ਗੁਆਉਣ" ਦਾ ਜੋਖਮ ਵਧਦਾ ਹੈ

ਇੱਕ ਨਿਯਮ ਦੇ ਤੌਰ ਤੇ: ਫਾਈਨ-ਟਿਊਨਿੰਗ ਮਾਡਲ ਸਿਖਾਉਂਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਗੱਲ ਕਰਨੀ ਹੈ; RAG ਮਾਡਲ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਕੀ ਜਾਣਨਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਐਂਟਰਪ੍ਰਾਈਜ਼ ਦ੍ਰਿਸ਼ਾਂ ਵਿੱਚ, RAG ਨੂੰ ਪਹਿਲਾਂ ਅਜ਼ਮਾਇਆ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਸਤਾ, ਅੱਪਡੇਟ ਕਰਨ ਯੋਗ ਹੈ, ਅਤੇ ਜਵਾਬ ਦਾ ਸਰੋਤ ਦਿਖਾ ਸਕਦਾ ਹੈ। ਲੰਮਾ ਸੰਦਰਭ ਵਾਜਬ ਹੈ ਜੇਕਰ ਦਸਤਾਵੇਜ਼ ਸੈੱਟ ਅਸਲ ਵਿੱਚ ਛੋਟਾ ਅਤੇ ਸਥਿਰ ਹੈ (ਉਦਾਹਰਨ ਲਈ ਇੱਕ ਸਿੰਗਲ 20-ਪੰਨਿਆਂ ਦਾ ਮੈਨੂਅਲ); ਪਰ ਹਜ਼ਾਰਾਂ ਪੰਨਿਆਂ ਦੇ ਨਾਲ, ਇਹ ਮਹਿੰਗਾ ਹੈ ਅਤੇ ਮਾਡਲ ਲੰਬੇ ਟੈਕਸਟ ਦੇ ਮੱਧ ਵਿੱਚ ਜਾਣਕਾਰੀ ਗੁਆ ਸਕਦਾ ਹੈ.

ਇੱਕ ਆਮ RAG ਪਾਈਪਲਾਈਨ

RAG ਵਿੱਚ ਦੋ ਮੁੱਖ ਪੜਾਅ ਹੁੰਦੇ ਹਨ: ਇੰਡੈਕਸਿੰਗ (ਤਿਆਰੀ, ਇੱਕ ਵਾਰ ਜਾਂ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਕੀਤੀ ਜਾਂਦੀ ਹੈ) ਅਤੇ ਪੁੱਛਗਿੱਛ (ਹਰੇਕ ਉਪਭੋਗਤਾ ਸਵਾਲ 'ਤੇ ਚੱਲਦੀ ਹੈ)।

ਕਦਮ ਦਰ ਕਦਮ ਇੰਡੈਕਸਿੰਗ (ਔਫਲਾਈਨ, ਉਪਭੋਗਤਾ ਦੀ ਉਡੀਕ ਕੀਤੇ ਬਿਨਾਂ):

  1. ਇਕੱਤਰ ਕਰੋ: ਸਰੋਤਾਂ (ਪੀਡੀਐਫ, ਵਿਕੀ, ਟਿਕਟ ਸਿਸਟਮ, ਡੇਟਾਬੇਸ, ਈਮੇਲ) ਤੋਂ ਦਸਤਾਵੇਜ਼ ਖਿੱਚੋ।
  2. ਚੰਕਿੰਗ: ਲੰਬੇ ਟੈਕਸਟ ਨੂੰ ਛੋਟੇ ਪ੍ਰਬੰਧਨਯੋਗ ਟੁਕੜਿਆਂ ਵਿੱਚ ਤੋੜੋ।
  3. ਏਮਬੇਡ ਕਰੋ: ਹਰੇਕ ਹਿੱਸੇ ਨੂੰ ਏਮਬੈਡਿੰਗ ਵਿੱਚ ਬਦਲੋ (ਸੰਖਿਆ ਵੈਕਟਰ ਜੋ ਟੈਕਸਟ ਦਾ ਅਰਥ ਰੱਖਦਾ ਹੈ)।
  4. ਸੇਵ ਕਰੋ: ਵੈਕਟਰ ਡੇਟਾਬੇਸ ਵਿੱਚ ਟੈਕਸਟ ਅਤੇ ਮੈਟਾਡੇਟਾ (ਸਰੋਤ, ਮਿਤੀ, ਅਧਿਕਾਰ ਜਾਣਕਾਰੀ) ਦੇ ਨਾਲ ਵੈਕਟਰ ਲਿਖੋ।

ਕਦਮ-ਦਰ-ਕਦਮ ਪੁੱਛਗਿੱਛ (ਔਨਲਾਈਨ, ਜਦੋਂ ਉਪਭੋਗਤਾ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹੋਵੇ):

  1. ਉਪਭੋਗਤਾ ਦੇ ਸਵਾਲ ਨੂੰ ਏਮਬੈਡਿੰਗ ਵਿੱਚ ਬਦਲੋ।
  2. ਵੈਕਟਰ ਡੇਟਾਬੇਸ ਤੋਂ ਸਭ ਤੋਂ ਸਮਾਨ ਭਾਗਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ।
  3. ਇਹਨਾਂ ਟੁਕੜਿਆਂ + ਪ੍ਰਸ਼ਨ ਨੂੰ ਇੱਕ ਪ੍ਰੋਂਪਟ ਟੈਂਪਲੇਟ ਵਿੱਚ ਰੱਖੋ।
  4. ਮਾਡਲ ਤੋਂ ਪ੍ਰਸੰਗਿਕ ਜਵਾਬ ਅਤੇ ਇਸਦੇ ਸਰੋਤ ਪ੍ਰਾਪਤ ਕਰੋ।

# ਪੁੱਛਗਿੱਛ ਪੜਾਅ ਦੀ ਸੰਕਲਪਿਕ ਰੂਪਰੇਖਾ (ਭਾਸ਼ਾ 'ਤੇ ਨਿਰਭਰ ਨਹੀਂ) ਸਵਾਲ = "ਕਿੰਨੇ ਦਿਨਾਂ ਦੀ ਸਾਲਾਨਾ ਛੁੱਟੀ??"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # ਸਭ ਤੋਂ ਸਮਾਨ ਭਾਗ ਪ੍ਰੋਂਪਟ = f"""" "ਪ੍ਰਸੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿਓ, ਜੇਕਰ ਜਵਾਬ ਵਿੱਚ ਜਵਾਬ ਨਹੀਂ ਹੈ, ਤਾਂ ਜਵਾਬ ਵਿੱਚ ਕੋਈ ਜਵਾਬ ਨਹੀਂ ਹੈ।" ਫਿਟਿੰਗ ਮਾਡਲ: claude-opus-4-8

ਇਹ ਪ੍ਰਵਾਹ ਹਰੇਕ ਪੜਾਅ ਦਾ ਨਕਸ਼ਾ ਹੈ, ਜਿਸ ਨੂੰ ਅਸੀਂ ਅਗਲੀਆਂ ਇਕਾਈਆਂ ਵਿੱਚ ਇੱਕ-ਇੱਕ ਕਰਕੇ ਖੋਲ੍ਹਾਂਗੇ।

ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ

ਉਸੇ RAG ਸੰਦਰਭ ਦੇ ਨਾਲ ਵੀ, ਪ੍ਰੋਂਪਟ ਦੀ ਗੁਣਵੱਤਾ ਜਵਾਬ ਨੂੰ ਬਦਲ ਦਿੰਦੀ ਹੈ।

ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ (ਮਾਡਲ ਫਿਟਿੰਗ ਲਈ ਖੁੱਲ੍ਹਾ, ਸਰੋਤਾਂ ਦੀ ਲੋੜ ਨਹੀਂ):

ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਸਾਲਾਨਾ ਛੁੱਟੀ ਕਹੋ: {parts}। ਸਵਾਲ: {question}

ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰੋਂਪਟ (ਗਰਾਉਂਡਿੰਗ + "ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ" ਅਨੁਮਤੀ + ਸਰੋਤ ਬੇਨਤੀ):

ਸਿਰਫ਼ ਹੇਠਾਂ ਦਿੱਤੇ CONTEXT ਦੇ ਆਧਾਰ 'ਤੇ ਜਵਾਬ ਦਿਓ। ਜੇਕਰ ਸੰਦਰਭ ਵਿੱਚ ਕੋਈ ਸਪੱਸ਼ਟ ਜਵਾਬ ਨਹੀਂ ਹੈ, ਤਾਂ "ਮੈਨੂੰ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਨਹੀਂ ਮਿਲੀ" ਲਿਖੋ; ਅੰਦਾਜ਼ਾ ਨਾ ਲਗਾਓ। ਆਪਣੇ ਜਵਾਬ ਦੇ ਅੰਤ ਵਿੱਚ ਉਸ ਟੁਕੜੇ ਦਾ [ਸਰੋਤ: ਫਾਈਲ_ਨਾਮ] ਟੈਗ ਸ਼ਾਮਲ ਕਰੋ ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਭਰੋਸਾ ਕਰ ਰਹੇ ਹੋ। ਪ੍ਰਸੰਗ: {ਟੁਕੜੇ} ਸਵਾਲ: {ਸਵਾਲ}

ਤਿੰਨ ਮਿੰਨੀ ਕੇਸ

ਕੇਸ 1 - HR ਸਹਾਇਕ (ਮਨੁੱਖੀ ਸਰੋਤ)। ਇੱਕ ਕੰਪਨੀ ਕੋਲ 340 ਪੰਨਿਆਂ ਦੀ HR ਹੈਂਡਬੁੱਕ ਹੁੰਦੀ ਹੈ ਅਤੇ ਕਰਮਚਾਰੀ ਇੱਕ ਦਿਨ ਵਿੱਚ ਔਸਤਨ 90 ਸਵਾਲ ਪੁੱਛਦੇ ਹਨ। ਫਾਈਨ-ਟਿਊਨਿੰਗ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ ਸੀ, ਪਰ ਕਿਉਂਕਿ ਮੈਨੂਅਲ ਨੂੰ ਮਹੀਨਾਵਾਰ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ ਸੀ, ਹਰ ਵਾਰ ਮੁੜ ਸਿਖਲਾਈ ਦੀ ਲੋੜ ਹੁੰਦੀ ਸੀ; ਲਾਗਤ ਹਜ਼ਾਰਾਂ ਡਾਲਰ ਪ੍ਰਤੀ ਮਹੀਨਾ ਤੱਕ ਪਹੁੰਚ ਗਈ। RAG 'ਤੇ ਸਵਿਚ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅੱਪਡੇਟ ਨੂੰ "ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮੁੜ-ਸੂਚਨਾਬੱਧ" ਕਦਮ (ਮਿੰਟ) ਤੱਕ ਘਟਾ ਦਿੱਤਾ ਗਿਆ ਅਤੇ ਦਸਤੀ ਮਾਪ ਵਿੱਚ ਸਹੀ-ਜਵਾਬ ਦੀ ਦਰ 71% ਤੋਂ 93% ਤੱਕ ਵਧ ਗਈ।

ਕੇਸ 2 - ਗਾਹਕ ਸਹਾਇਤਾ। ਸਹਾਇਤਾ ਟੀਮ ਕੋਲ 12,000 ਹੱਲ ਕੀਤੀਆਂ ਟਿਕਟਾਂ ਅਤੇ 800 ਮਦਦ ਲੇਖ ਹਨ। ਇੱਕ ਪ੍ਰਤੀਨਿਧੀ ਨੂੰ ਹੱਥੀਂ ਜਵਾਬ ਲੱਭਣ ਵਿੱਚ ਔਸਤਨ 4 ਮਿੰਟ ਲੱਗਦੇ ਹਨ। ਜਦੋਂ RAG ਸਹਾਇਕ ਨੇ 5 ਸਭ ਤੋਂ ਢੁਕਵੇਂ ਰਿਕਾਰਡਾਂ ਨੂੰ ਲਿਆਂਦਾ ਅਤੇ ਇੱਕ ਡਰਾਫਟ ਜਵਾਬ ਤਿਆਰ ਕੀਤਾ, ਤਾਂ ਸਮਾਂ ਘਟਾ ਕੇ 40 ਸਕਿੰਟ ਕਰ ਦਿੱਤਾ ਗਿਆ; ਪਰ ਟੀਮ ਨੇ "ਗਲਤ ਲੇਖ ਲਿਆ ਕੇ ਅਨਿਸ਼ਚਿਤ ਦਿਖਾਈ ਦੇਣ" ਦੇ ਜੋਖਮ ਨੂੰ ਮਹਿਸੂਸ ਕੀਤਾ ਅਤੇ ਸਰੋਤ ਦਾ ਹਵਾਲਾ ਦੇਣਾ ਲਾਜ਼ਮੀ ਕਰ ਦਿੱਤਾ।

ਕੇਸ 3 - ਕਾਨੂੰਨ। ਇੱਕ ਠੇਕੇ ਦੀ ਟੀਮ ਨੇ ਪੁੱਛਿਆ "ਕਿਹੜੇ ਇਕਰਾਰਨਾਮੇ ਵਿੱਚ ਗੁਪਤਤਾ ਦੀ ਧਾਰਾ 5 ਸਾਲਾਂ ਤੱਕ ਹੈ?" ਉਹ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ। ਲੰਬੇ ਸੰਦਰਭ ਮੁਕੱਦਮੇ ਵਿੱਚ, 60 ਠੇਕੇ ਇੱਕ ਸਿੰਗਲ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਭਰੇ ਗਏ ਸਨ; ਮਾਡਲ ਨੇ ਵਿਚਕਾਰਲੇ ਦੋ ਕੰਟਰੈਕਟਸ ਨੂੰ ਛੱਡ ਦਿੱਤਾ। ਜਦੋਂ ਸਿਰਫ਼ ਸੰਬੰਧਿਤ ਆਈਟਮਾਂ ਨੂੰ RAG ਨਾਲ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਸੀ, ਤਾਂ ਟੋਕਨ ਦੀ ਲਾਗਤ 80% ਘਟ ਗਈ ਸੀ ਅਤੇ ਗੁੰਮ ਹੋਈ ਛੱਡੀ ਨੂੰ ਰੀਸੈਟ ਕੀਤਾ ਗਿਆ ਸੀ।

RAG ਦੀ ਲੋੜ ਕਿਉਂ ਹੈ?

  • ਵਰਤਮਾਨਤਾ: ਤੁਸੀਂ ਸਿਖਲਾਈ ਕੱਟ-ਆਫ ਮਿਤੀ ਤੋਂ ਬਾਅਦ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰਦੇ ਹੋ।
  • ਵਿਸ਼ੇਸ਼ ਜਾਣਕਾਰੀ: ਤੁਹਾਡੇ ਅੰਦਰੂਨੀ ਦਸਤਾਵੇਜ਼ ਕਿਸੇ ਵੀ ਮਾਡਲ ਦੀ ਸਿਖਲਾਈ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ; ਸਿਰਫ਼ ਤੁਸੀਂ ਹੀ ਦੇ ਸਕਦੇ ਹੋ।
  • ਪੁਸ਼ਟੀਯੋਗਤਾ: ਤੁਸੀਂ ਜਵਾਬ ਦੇ ਸਰੋਤ (ਹਵਾਲਾ) ਦਾ ਹਵਾਲਾ ਦੇ ਸਕਦੇ ਹੋ — ਆਡਿਟਿੰਗ ਅਤੇ ਭਰੋਸੇ ਲਈ ਜ਼ਰੂਰੀ।
  • ਹੇਲੁਸੀਨੇਸ਼ਨ ਕੰਟਰੋਲ: ਇਹ ਮਾਡਲ ਬਣਾਉਣ ਦੀ ਬਜਾਏ ਇਸਦੇ ਸਾਹਮਣੇ ਰੱਖੇ ਟੈਕਸਟ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
  • ਲਾਗਤ: ਫਾਈਨ-ਟਿਊਨਿੰਗ ਨਾਲੋਂ ਇਹ ਬਹੁਤ ਸਸਤਾ ਅਤੇ ਤੇਜ਼ ਹੈ।
ਸਾਵਧਾਨ: RAG ਜਾਦੂ ਨਹੀਂ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਗਲਤ ਟੁਕੜਾ ਲਿਆਉਂਦੇ ਹੋ, ਤਾਂ ਮਾਡਲ "ਆਤਮਵਿਸ਼ਵਾਸ" ਦੇਖ ਕੇ ਗਲਤ ਜਵਾਬ 'ਤੇ ਪਹੁੰਚਦਾ ਹੈ। ਵਾਕੰਸ਼ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ "ਪ੍ਰਾਪਤ ਗੁਣਵੱਤਾ = RAG ਗੁਣਵੱਤਾ"।

ਆਮ ਗਲਤੀਆਂ

  • ਫਾਈਨ-ਟਿਊਨਿੰਗ ਲਈ RAG ਨੂੰ ਗਲਤ ਕਰਨਾ: RAG ਵਜ਼ਨ ਨਹੀਂ ਬਦਲਦਾ; ਇਹ ਸਿਰਫ਼ ਪ੍ਰਸੰਗ ਜੋੜਦਾ ਹੈ। ਇਹਨਾਂ ਦੋਵਾਂ ਨੂੰ ਉਲਝਾਉਣ ਨਾਲ ਗਲਤ ਆਰਕੀਟੈਕਚਰ ਦੀ ਚੋਣ ਹੋਵੇਗੀ।
  • "ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ" ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦੇਣਾ: ਜੇਕਰ ਪ੍ਰੋਂਪਟ ਮਾਡਲ ਨੂੰ ਖਾਲੀ ਥਾਂ ਭਰਨ ਲਈ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਬਣ ਜਾਵੇਗਾ।
  • ਸਰੋਤਾਂ ਦਾ ਹਵਾਲਾ ਨਹੀਂ ਦੇਣਾ: ਸਰੋਤ ਤੋਂ ਬਿਨਾਂ ਜਵਾਬ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ; ਉਪਭੋਗਤਾ ਗਲਤੀ ਵੱਲ ਧਿਆਨ ਨਹੀਂ ਦੇ ਸਕਦਾ।
  • ਹਰ ਚੀਜ਼ ਨੂੰ ਇੱਕ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਕ੍ਰੈਮ ਕਰਨਾ: ਲੰਮਾ ਸੰਦਰਭ ਸਸਤਾ ਲੱਗਦਾ ਹੈ ਪਰ ਮਹਿੰਗਾ ਹੈ ਅਤੇ ਮੱਧ ਜਾਣਕਾਰੀ ਨੂੰ ਖੁੰਝਾਉਂਦਾ ਹੈ।
  • ਪੁਨਰ ਪ੍ਰਾਪਤੀ ਨੂੰ ਮਾਪਣ ਤੋਂ ਬਿਨਾਂ ਪੀੜ੍ਹੀ ਵਿੱਚ ਫਸ ਜਾਣਾ: ਜੇ ਜਵਾਬ ਮਾੜਾ ਹੈ, ਤਾਂ ਪਹਿਲਾਂ ਪੁੱਛੋ "ਕੀ ਸਹੀ ਹਿੱਸਾ ਆਇਆ?" ਪੁੱਛਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।

ਸੰਖੇਪ ਵਿੱਚ

  • RAG ਇੱਕ ਪਹੁੰਚ ਹੈ ਜੋ ਸਵਾਲ ਨਾਲ ਸੰਬੰਧਿਤ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਸੰਦਰਭ ਦੇ ਰੂਪ ਵਿੱਚ ਮਾਡਲ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ; ਵਜ਼ਨ ਨਹੀਂ ਬਦਲਦਾ ("ਓਪਨ ਬੁੱਕ ਇਮਤਿਹਾਨ")।
  • ਫਾਈਨ-ਟਿਊਨਿੰਗ ਸ਼ੈਲੀ/ਫਾਰਮੈਟ ਸਿਖਾਉਂਦੀ ਹੈ, RAG ਮੌਜੂਦਾ ਅਤੇ ਖਾਸ ਜਾਣਕਾਰੀ ਦਿੰਦੀ ਹੈ; ਲੰਬੇ ਪ੍ਰਸੰਗ ਛੋਟੇ ਫਿਕਸਡ ਸੈੱਟਾਂ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਸਥਿਤੀਆਂ ਵਿੱਚ, RAG ਨੂੰ ਪਹਿਲਾਂ ਅਜ਼ਮਾਇਆ ਜਾਂਦਾ ਹੈ।
  • ਪਾਈਪਲਾਈਨ ਦੇ ਦੋ ਪੜਾਅ ਹਨ: ਔਫਲਾਈਨ ਇੰਡੈਕਸਿੰਗ (ਚੰਕ + ਏਮਬੈਡਿੰਗ + ਸੇਵ) ਅਤੇ ਔਨਲਾਈਨ ਪੁੱਛਗਿੱਛ (ਮੁੜ ਪ੍ਰਾਪਤ + ਪ੍ਰੋਂਪਟ + ਜਨਰੇਟ)।
  • RAG ਸਮਾਂਬੱਧਤਾ, ਖਾਸ ਜਾਣਕਾਰੀ, ਪੁਸ਼ਟੀਕਰਨ, ਭਰਮ ਕੰਟਰੋਲ, ਅਤੇ ਘੱਟ ਲਾਗਤ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  • ਸਿਸਟਮ ਦੀ ਗੁਣਵੱਤਾ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਪ੍ਰਾਪਤੀ ਦੀ ਗੁਣਵੱਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ: ਗਲਤ ਟੁਕੜੇ ਦਾ ਮਤਲਬ ਗਲਤ ਜਵਾਬ ਹੈ.

ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ

ਆਪਣੀ ਖੁਦ ਦੀ ਟੀਮ ਤੋਂ ਜਾਣਕਾਰੀ ਦਾ ਇੱਕ ਅਸਲੀ ਸਰੋਤ ਚੁਣੋ (ਉਦਾਹਰਨ ਲਈ ਇੱਕ ਪ੍ਰਕਿਰਿਆ ਦਸਤਾਵੇਜ਼ ਜਾਂ FAQ ਪੰਨਾ)। (1) ਇਸ ਸਰੋਤ ਬਾਰੇ 5 ਤੱਥਾਂ ਵਾਲੇ ਸਵਾਲ ਲਿਖੋ। (2) ਨੋਟ ਕਰੋ ਕਿ ਦਸਤਾਵੇਜ਼ ਦੇ ਕਿਹੜੇ ਹਿੱਸੇ ਵਿੱਚ ਹਰੇਕ ਸਵਾਲ ਦਾ ਸਹੀ ਜਵਾਬ ਹੈ — ਇਹ ਤੁਹਾਡੀ "ਸੁਨਹਿਰੀ ਜਵਾਬ" ਸੂਚੀ ਬਣ ਜਾਂਦੀ ਹੈ। (3) ਉੱਪਰ ਦਿੱਤੇ "ਮਜ਼ਬੂਤ ​​ਪ੍ਰੋਂਪਟ" ਟੈਂਪਲੇਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਸੰਬੰਧਿਤ ਭਾਗ ਨੂੰ ਪ੍ਰਸੰਗ ਦੇ ਤੌਰ 'ਤੇ ਹੱਥੀਂ ਪੇਸਟ ਕਰੋ ਅਤੇ ਇੱਕ ਮਾਡਲ ਪੁੱਛੋ। (4) ਮਾਡਲ ਦੁਆਰਾ ਦਿੱਤੇ ਗਏ ਜਵਾਬ ਦੀ ਸੁਨਹਿਰੀ ਉੱਤਰ ਨਾਲ ਤੁਲਨਾ ਕਰੋ ਅਤੇ ਸਹੀ/ਗਲਤ ਵਜੋਂ ਨਿਸ਼ਾਨ ਲਗਾਓ। ਇਹ ਮੁਲਾਂਕਣ ਦਾ ਪਹਿਲਾ ਮੈਨੂਅਲ ਸੰਸਕਰਣ ਹੈ ਜੋ ਤੁਸੀਂ ਭਵਿੱਖ ਦੀਆਂ ਇਕਾਈਆਂ ਵਿੱਚ ਸਵੈਚਲਿਤ ਕਰੋਗੇ।

ਚੈੱਕਲਿਸਟ

  • [ ] ਮੈਂ ਇੱਕ ਵਾਕ ਵਿੱਚ ਵਿਆਖਿਆ ਕਰ ਸਕਦਾ ਹਾਂ ਕਿ RAG ਵਜ਼ਨ ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ, ਇਹ ਕੇਵਲ ਪ੍ਰਸੰਗ ਜੋੜਦਾ ਹੈ।
  • [ ] ਮੈਂ RAG, ਫਾਈਨ-ਟਿਊਨਿੰਗ ਅਤੇ ਲੰਬੇ ਸੰਦਰਭ ਵਿੱਚ ਫਰਕ ਕਰ ਸਕਦਾ ਹਾਂ ਅਤੇ ਕਦੋਂ ਢੁਕਵਾਂ ਹੈ।
  • [ ] ਮੈਂ ਇੰਡੈਕਸਿੰਗ (collect-shred-embed-save) ਅਤੇ ਪੁੱਛਗਿੱਛ (embed-fetch-prompt-generate) ਪੜਾਵਾਂ ਨੂੰ ਕ੍ਰਮ ਵਿੱਚ ਗਿਣ ਸਕਦਾ ਹਾਂ।
  • [ ] ਮੈਨੂੰ ਪਤਾ ਹੈ ਕਿ ਮੈਂ ਪ੍ਰੋਂਪਟ ਵਿੱਚ "ਜੇਕਰ ਇਹ ਸੰਦਰਭ ਵਿੱਚ ਨਹੀਂ ਹੈ, ਕਹੋ ਕਿ ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ" ਅਤੇ "ਸਰੋਤ ਦਾ ਹਵਾਲਾ ਦਿਓ" ਨਿਰਦੇਸ਼ ਕਿਉਂ ਸ਼ਾਮਲ ਕੀਤੇ ਹਨ।
  • [ ] ਮੈਂ "ਮੁੜ ਪ੍ਰਾਪਤੀ ਗੁਣਵੱਤਾ = RAG ਕੁਆਲਿਟੀ" ਦੇ ਸਿਧਾਂਤ ਨੂੰ ਆਪਣੇ ਕੇਸ ਵਿੱਚ ਢਾਲ ਸਕਦਾ/ਸਕਦੀ ਹਾਂ।