𝗠𝗮𝘀𝘁𝗿𝗮-তে 𝗔𝗜 𝗢𝗯𝘀𝗲𝗿𝘃𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝘁𝗵𝗶𝗸 𝗸𝗼𝗿𝗮

OpenTelemetry হলো আধুনিক সিস্টেম মনিটরিং করার একটি স্ট্যান্ডার্ড। প্রথাগত traces বেশিরভাগ সফটওয়্যারের ক্ষেত্রেই কাজ করে, কিন্তু AI অ্যাপ্লিকেশনের ক্ষেত্রে সেগুলো ব্যর্থ হয়।

আপনি যখন AI তৈরি করেন, তখন আপনার কিছু নির্দিষ্ট উত্তরের প্রয়োজন হয়: • কোন মডেলটি আউটপুট তৈরি করেছে? • আপনি কোন প্রোভাইডার ব্যবহার করেছেন? • আপনি কতগুলো টোকেন ব্যবহার করেছেন? • কোন embedding মডেলটি আপনার ডকুমেন্টগুলো প্রসেস করেছে? • এই অপারেশনের খরচ কত ছিল?

Retrieval-Augmented Generation (RAG) সিস্টেমের ক্ষেত্রে এই প্রশ্নগুলো সবচেয়ে বেশি গুরুত্বপূর্ণ।

Mastra-তে অবদান রাখার সময়, আমি RAG embedding observability-তে একটি ঘাটতি লক্ষ্য করি। Mastra অনেক AI টাস্কের জন্য metadata এক্সপোর্ট করত, কিন্তু RAG embedding spans-এ স্ট্যান্ডার্ড অ্যাট্রিবিউট (attributes) ছিল না।

Observability টুলগুলো embedding অপারেশনটি দেখতে পেত, কিন্তু তারা এর প্রেক্ষাপট (context) বুঝতে পারত না। তারা মডেলের বিবরণ, প্রোভাইডার তথ্য এবং টোকেন ব্যবহারের তথ্য মিস করত।

একটি RAG পাইপলাইন এই ধাপগুলো অনুসরণ করে: • Documents • Chunking • Embedding Model • Vector Database • Similarity Search • LLM Generation

Embedding পর্যায়টি অত্যন্ত গুরুত্বপূর্ণ। এখানে যদি আপনার কাছে পর্যাপ্ত ডেটা না থাকে, তবে পারফরম্যান্স ডিবাগ করা কঠিন হয়ে পড়ে।

OpenTelemetry একটি সাধারণ ভাষা তৈরি করতে semantic conventions ব্যবহার করে। প্রতিটি টুল আলাদা আলাদা নাম ব্যবহার করার পরিবর্তে সবাই একটি স্ট্যান্ডার্ড অনুসরণ করে। এটি টুলগুলোকে নিচের মতো অ্যাট্রিবিউটগুলো পড়তে সাহায্য করে: • gen_ai.systemgen_ai.request.modelgen_ai.usage.input_tokens

আমি Mastra RAG embedding ডেটাকে এই OpenTelemetry স্ট্যান্ডার্ডের সাথে ম্যাপ করার জন্য একটি pull request জমা দিয়েছি।

এই কাজের অন্তর্ভুক্ত ছিল: • Embedding model metadata এক্সপোর্ট করা • প্রোভাইডার তথ্য এক্সপোর্ট করা • টোকেন ব্যবহারের মেট্রিক্স ম্যাপ করা • অ্যাট্রিবিউটগুলোকে গ্লোবাল স্ট্যান্ডার্ডের সাথে সামঞ্জস্যপূর্ণ করা

এটি কাস্টম কোড ছাড়াই observability সিস্টেমগুলোকে embeddings বুঝতে সাহায্য করে।

প্রোডাকশন AI সিস্টেমের জন্য ভিজিবিলিটি (visibility) প্রয়োজন। কোন মডেলের কারণে ল্যাটেন্সি (latency) হচ্ছে বা কোন প্রোভাইডারের খরচ সবচেয়ে বেশি, তা আপনার জানা প্রয়োজন। স্ট্যান্ডার্ডাইজড telemetry স্বয়ংক্রিয়ভাবে এই উত্তরগুলো প্রদান করে।

ওপেন সোর্স একটি দারুণ শিক্ষা দেয়। প্রতিটি ভালো অবদান মানেই নতুন কোনো ফিচার যোগ করা নয়। মাঝে মাঝে সেরা কাজ হলো বিদ্যমান সিস্টেমগুলোকে মনিটর করা এবং চালানো আরও সহজ করে তোলা।

আপনি যদি AI ইনফ্রাস্ট্রাকচার তৈরি করেন, তবে observability-কে অবহেলা করবেন না। সেরা AI সিস্টেমগুলো হলো পর্যবেক্ষণযোগ্য (observable)।

উৎস: https://dev.to/akash_santra_3c96613546c6/fixing-ai-observability-how-i-added-genai-semantic-support-for-rag-embedding-spans-in-mastra-4db9

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi