𝗙𝗶𝘅𝗶𝗻𝗴 𝗔𝗜 𝗢𝗯𝘀𝗲𝗿𝘃𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝗶𝗻 𝗠𝗮𝘀𝘁𝗿𝗮
OpenTelemetry ਆਧੁਨਿਕ ਸਿਸਟਮਾਂ ਦੀ ਨਿਗਰਾਨੀ (monitoring) ਲਈ ਇੱਕ ਮਿਆਰਡ (standard) ਹੈ। ਰਵਾਇਤੀ traces ਜ਼ਿਆਦਾਤਰ ਸਾਫਟਵੇਅਰ ਲਈ ਕੰਮ ਕਰਦੇ ਹਨ, ਪਰ ਉਹ AI ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਅਸਫਲ ਰਹਿੰਦੇ ਹਨ।
ਜਦੋਂ ਤੁਸੀਂ AI ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖਾਸ ਜਵਾਬਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ: • ਕਿਸ ਮਾਡਲ ਨੇ ਆਉਟਪੁੱਟ ਤਿਆਰ ਕੀਤਾ? • ਤੁਸੀਂ ਕਿਸ ਪ੍ਰਦਾਤਾ (provider) ਦੀ ਵਰਤੋਂ ਕੀਤੀ? • ਤੁਸੀਂ ਕਿੰਨੇ ਟੋਕਨਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ? • ਕਿਸ embedding ਮਾਡਲ ਨੇ ਤੁਹਾਡੇ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕੀਤਾ? • ਇਸ ਕਾਰਜ ਦੀ ਲਾਗਤ ਕੀ ਸੀ?
Retrieval-Augmented Generation (RAG) ਸਿਸਟਮਾਂ ਵਿੱਚ ਇਹ ਸਵਾਲ ਸਭ ਤੋਂ ਵੱਧ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੇ ਹਨ।
Mastra ਵਿੱਚ ਯੋਗਦਾਨ ਪਾਉਂਦੇ ਸਮੇਂ, ਮੈਨੂੰ RAG embedding observability ਵਿੱਚ ਇੱਕ ਕਮੀ ਮਿਲੀ। Mastra ਕਈ AI ਕਾਰਜਾਂ ਲਈ metadata ਐਕਸਪੋਰਟ ਕਰਦਾ ਸੀ, ਪਰ RAG embedding spans ਵਿੱਚ ਮਿਆਰੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ (attributes) ਦੀ ਕਮੀ ਸੀ।
Observability ਟੂਲਸ ਨੇ embedding operation ਨੂੰ ਦੇਖਿਆ, ਪਰ ਉਹ ਸੰਦਰਭ (context) ਨੂੰ ਨਹੀਂ ਸਮਝ ਸਕੇ। ਉਹ ਮਾਡਲ ਦੇ ਵੇਰਵੇ, ਪ੍ਰਦਾਤਾ ਦੀ ਜਾਣਕਾਰੀ ਅਤੇ ਟੋਕਨ ਦੀ ਵਰਤੋਂ ਨੂੰ ਗੁਆ ਬੈਠੇ।
ਇੱਕ RAG pipeline ਇਹਨਾਂ ਪੜਾਵਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ: • Documents • Chunking • Embedding Model • Vector Database • Similarity Search • LLM Generation
Embedding ਪੜਾਅ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਇੱਥੇ ਡੇਟਾ ਦੀ ਕਮੀ ਹੈ, ਤਾਂ ਪਰਫਾਰਮੈਂਸ ਦੀ ਡੀਬੱਗਿੰਗ (debugging) ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ।
OpenTelemetry ਇੱਕ ਸਾਂਝੀ ਭਾਸ਼ਾ ਬਣਾਉਣ ਲਈ semantic conventions ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਹਰ ਟੂਲ ਦੁਆਰਾ ਨਿੱਜੀ ਨਾਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ, ਹਰ ਕੋਈ ਇੱਕ ਮਿਆਰਡ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਇਹ ਟੂਲਸ ਨੂੰ ਅਜਿਹੇ attributes ਪੜ੍ਹਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ:
• gen_ai.system
• gen_ai.request.model
• gen_ai.usage.input_tokens
ਮੈਂ Mastra RAG embedding ਡੇਟਾ ਨੂੰ ਇਹਨਾਂ OpenTelemetry ਮਿਆਰਡਾਂ ਨਾਲ ਜੋੜਨ (map ਕਰਨ) ਲਈ ਇੱਕ pull request ਜਮ੍ਹਾਂ ਕੀਤੀ।
ਇਸ ਕੰਮ ਵਿੱਚ ਸ਼ਾਮਲ ਸੀ: • Embedding model metadata ਨੂੰ ਐਕਸਪੋਰਟ ਕਰਨਾ • ਪ੍ਰਦਾਤਾ ਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਐਕਸਪੋਰਟ ਕਰਨਾ • ਟੋਕਨ ਵਰਤੋਂ ਦੇ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਮੈਪ ਕਰਨਾ • Attributes ਨੂੰ ਗਲੋਬਲ ਮਿਆਰਡਾਂ ਨਾਲ ਜੋੜਨਾ
ਇਹ observability ਸਿਸਟਮਾਂ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਕਸਟਮ ਕੋਡ ਦੇ embeddings ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
Production AI ਸਿਸਟਮਾਂ ਨੂੰ ਵਿਜ਼ੀਬਿਲਟੀ (visibility) ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਤੁਹਾਨੂੰ ਇਹ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਕਿਹੜਾ ਮਾਡਲ ਲੇਟੈਂਸੀ (latency) ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ ਜਾਂ ਕਿਹੜਾ ਪ੍ਰਦਾਤਾ ਸਭ ਤੋਂ ਵੱਧ ਖਰਚਾ ਕਰਦਾ ਹੈ। ਮਿਆਰੀ ਟੈਲੀਮੈਟਰੀ (telemetry) ਇਹ ਜਵਾਬ ਆਪਣੇ ਆਪ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।
Open source ਇੱਕ ਬਹੁਤ ਵੱਡਾ ਸਬਕ ਸਿਖਾਉਂਦਾ ਹੈ। ਹਰ ਚੰਗਾ ਯੋਗਦਾਨ ਨਵਾਂ ਫੀਚਰ ਨਹੀਂ ਜੋੜਦਾ। ਕਈ ਵਾਰ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਮੌਜੂਦਾ ਸਿਸਟਮਾਂ ਨੂੰ ਮੋਨੀਟਰ ਕਰਨਾ ਅਤੇ ਚਲਾਉਣਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ AI ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ observability ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਾ ਕਰੋ। ਸਭ ਤੋਂ ਵਧੀਆ AI ਸਿਸਟਮ 'observable' ਹੁੰਦੇ ਹਨ।
Optional learning community: https://t.me/GyaanSetuAi