ਫੇਜ਼ 1: ਡੌਕੂਮੈਂਟ ਇੰਜੈਸਸ਼ਨ (Document Ingestion)

ਜ਼ਿਆਦਾਤਰ RAG ਸਿਸਟਮ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਫੇਲ ਹੋ ਜਾਂਦੇ ਹਨ।

ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ RAG ਸਿਸਟਮ ਬਣਾਉਣਾ ਸੌਖਾ ਹੈ। ਇੱਕ ਯੂਜ਼ਰ PDF ਅਪਲੋਡ ਕਰਦਾ ਹੈ, ਤੁਸੀਂ embeddings ਬਣਾਉਂਦੇ ਹੋ, ਅਤੇ ਤੁਹਾਨੂੰ ਜਵਾਬ ਮਿਲ ਜਾਂਦੇ ਹਨ।

ਇਹ ਇੱਕ ਗਲਤੀ ਹੈ।

ਅਪਲੋਡ ਬਟਨ ਅਤੇ ਵੈਕਟਰ ਡਾਟਾਬੇਸ (vector database) ਦੇ ਵਿਚਕਾਰ, 15 ਮਹੱਤਵਪੂਰਨ ਕਦਮ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਵੀ ਕਦਮ ਛੱਡ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡਾ ਸਿਸਟਮ ਗਲਤ ਜਵਾਬ ਦੇਵੇਗਾ ਜਾਂ ਤੁਹਾਡੇ ਪੈਸੇ ਬਰਬਾਦ ਕਰੇਗਾ।

ਡੌਕੂਮੈਂਟ ਇੰਜੈਸਸ਼ਨ ਲਈ ਪ੍ਰੋਡਕਸ਼ਨ-ਗ੍ਰੇਡ ਰੋਡਮੈਪ ਇੱਥੇ ਹੈ:

• ਫਾਈਲ ਹੈਸ਼ਿੰਗ (File Hashing): ਕਦੇ ਵੀ ਫਾਈਲ ਦੇ ਨਾਮ ਨੂੰ ਹੈਸ਼ ਨਾ ਕਰੋ। ਅਸਲ ਫਾਈਲ ਦੇ ਕੰਟੈਂਟ ਨੂੰ ਹੈਸ਼ ਕਰੋ। ਇਹ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨੂੰ ਇੱਕੋ ਫਾਈਲ ਨੂੰ ਦੋ ਵਾਰ ਪ੍ਰੋਸੈਸ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ ਜੇਕਰ ਕੋਈ ਇਸਦਾ ਨਾਮ ਬਦਲ ਦਿੰਦਾ ਹੈ।

• ਸਮਾਰਟ ਪਾਰਸਿੰਗ (Smart Parsing): ਕੰਮ ਲਈ ਸਹੀ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰੋ।

  • ਸਧਾਰਨ ਟੈਕਸਟ: pdf-parse (ਮੁਫ਼ਤ)
  • ਮਿਸ਼ਰਤ ਕੰਟੈਂਟ: Unstructured (ਸੰਤੁਲਿਤ)
  • ਗੁੰਝਲਦਾਰ ਟੇਬਲ/ਲੇਆਉਟ: LlamaParse (ਉੱਚ ਗੁਣਵੱਤਾ)
  • ਐਂਟਰਪ੍ਰਾਈਜ਼ ਫਾਰਮ: Azure Document Intelligence (ਸਕੈਨ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ)

• ਟੈਕਸਟ ਕਲੀਨਿੰਗ (Text Cleaning): ਫਾਲਤੂ ਚੀਜ਼ਾਂ ਨੂੰ ਹਟਾਓ। ਹੈਡਰ, ਫੁੱਟਰ, ਵਾਟਰਮਾਰਕ ਅਤੇ ਪੇਜ ਨੰਬਰ ਸ਼ੋਰ (noise) ਪੈਦਾ ਕਰਦੇ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਹਰ ਪੇਜ 'ਤੇ "Confidential" ਨੂੰ ਇਨਬੈਡ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡਾ AI ਸੋਚੇਗਾ ਕਿ ਹਰ ਜਵਾਬ ਇੱਕ ਰਾਜ਼ ਹੈ।

• ਮੈਟਾਡਾਟਾ ਐਕਸਟਰੈਕਸ਼ਨ (Metadata Extraction): ਵਿਭਾਗ, ਸੈਕਸ਼ਨ, ਜਾਂ ਵਰਜ਼ਨ ਵਰਗਾ ਸੰਦਰਭ (context) ਜੋੜੋ। ਇਹ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨੂੰ ਸਭ ਕੁਝ ਲੱਭਣ ਦੀ ਬਜਾਏ ਸਹੀ ਦਸਤਾਵੇਜ਼ ਲੱਭਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

• ਸਮਾਰਟ ਚੰਕਿੰਗ (Smart Chunking): ਇਹ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ।

  • ਆਕਾਰ: 1000 ਤੋਂ 1500 ਟੋਕਨ ਦਾ ਟੀਚਾ ਰੱਖੋ।
  • ਓਵਰਲੈਪ (Overlap): ਸੰਦਰਭ ਬਣਾਈ ਰੱਖਣ ਲਈ 200 ਟੋਕਨ ਦਾ ਓਵਰਲੈਪ ਵਰਤੋ।
  • ਸੀਮਾਵਾਂ: ਕਦੇ ਵੀ ਕਿਸੇ ਵਾਕ ਨੂੰ ਵਿਚਕਾਰੋਂ ਨਾ ਤੋੜੋ।

• ਚੰਕ ਹੈਸ਼ਿੰਗ ਅਤੇ ਡਿਊਪਲੀਕੇਸ਼ਨ (Chunk Hashing and Deduplication): ਹਰ ਚੰਕ ਨੂੰ ਹੈਸ਼ ਕਰੋ। ਜਦੋਂ ਕੋਈ ਫਾਈਲ ਬਦਲਦੀ ਹੈ, ਤਾਂ ਨਵੇਂ ਹੈਸ਼ ਦੀ ਤੁਲਨਾ ਪੁਰਾਣੇ ਹੈਸ਼ ਨਾਲ ਕਰੋ।

• ਇੰਕਰੀਮੈਂਟਲ ਇੰਜੈਸਸ਼ਨ (Incremental Ingestion): ਸਭ ਕੁਝ ਦੁਬਾਰਾ ਇਨਬੈਡ ਨਾ ਕਰੋ। ਜੇਕਰ 1000 ਪੰਨਿਆਂ ਦਾ ਦਸਤਾਵੇਜ਼ ਸਿਰਫ਼ ਇੱਕ ਪੰਨੇ ਨਾਲ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਸਿਰਫ਼ ਉਸ ਇੱਕ ਨਵੇਂ ਚੰਕ ਨੂੰ ਹੀ ਇਨਬੈਡ ਕਰੋ। ਇਹ API ਲਾਗਤਾਂ 'ਤੇ ਤੁਹਾਡੇ ਬਹੁਤ ਸਾਰੇ ਪੈਸੇ ਬਚਾਉਂਦਾ ਹੈ।

ਇੱਕ ਸ਼ੌਕੀਆ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਇੱਕ ਪ੍ਰੋਡਕਸ਼ਨ ਸਿਸਟਮ ਦੇ ਵਿਚਕਾਰ ਅੰਤਰ ਉਹ ਕੰਮ ਹੈ ਜੋ ਤੁਸੀਂ ਇਨਬੈਡਿੰਗ ਕਦਮ ਤੋਂ ਪਹਿਲਾਂ ਕਰਦੇ ਹੋ।

ਇੱਕ ਸਧਾਰਨ ਸਿਸਟਮ ਹਰ ਵਾਰ ਸਭ ਕੁਝ ਦੁਬਾਰਾ ਇਨਬੈਡ ਕਰਦਾ ਹੈ। ਇੱਕ ਸਮਾਰਟ ਸਿਸਟਮ ਸਿਰਫ਼ ਉਸੇ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ ਜੋ ਬਦਲਿਆ ਹੈ।

ਸਿਰਫ਼ ਮਿਸ਼ਰਣ ਬਣਾਉਣਾ ਬੰਦ ਕਰੋ। ਇੱਕ ਮਜ਼ਬੂਤ ਨੀਂਹ ਬਣਾਓ।

ਸਰੋਤ: https://dev.to/surajrkhonde/phase-1-document-ingestion-the-hidden-complexity-before-embeddings-4d32

ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi