Mastra-യിലെ AI Observability പരിഹരിക്കുന്നു

ആധുനിക സിസ്റ്റങ്ങൾ നിരീക്ഷിക്കുന്നതിനുള്ള (monitoring) മാനദണ്ഡമാണ് OpenTelemetry. പരമ്പരാഗതമായ ട്രേസുകൾ (traces) മിക്ക സോഫ്റ്റ്‌വെയറുകൾക്കും അനുയോജ്യമാണ്. എന്നാൽ അവ AI ആപ്ലിക്കേഷനുകളിൽ പരാജയപ്പെടുന്നു.

നിങ്ങൾ ഒരു AI നിർമ്മിക്കുമ്പോൾ, നിങ്ങൾക്ക് ചില പ്രത്യേക ഉത്തരങ്ങൾ ആവശ്യമാണ്: • ഏത് മോഡലാണ് ഔട്ട്‌പുട്ട് നിർമ്മിച്ചത്? • നിങ്ങൾ ഏത് പ്രൊവൈഡർ ആണ് ഉപയോഗിച്ചത്? • എത്ര ടോക്കണുകൾ ഉപയോഗിച്ചു? • ഏത് എംബെഡിംഗ് മോഡലാണ് നിങ്ങളുടെ ഡോക്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്തത്? • ഈ പ്രവർത്തനത്തിന്റെ ചിലവ് എത്രയായിരുന്നു?

Retrieval-Augmented Generation (RAG) സിസ്റ്റങ്ങളിൽ ഈ ചോദ്യങ്ങൾ വളരെ പ്രധാനമാണ്.

Mastra-യിലേക്ക് സംഭാവനകൾ നൽകുന്നതിനിടെ, RAG embedding observability-യിൽ ഒരു വിടവ് ഞാൻ കണ്ടെത്തി. Mastra പല AI ടാസ്ക്കുകൾക്കും മെറ്റാഡാറ്റ എക്‌സ്‌പോർട്ട് ചെയ്യുന്നുണ്ടെങ്കിലും, RAG embedding spans-ൽ സ്റ്റാൻഡേർഡ് അറ്റ്രിബ്യൂട്ടുകൾ ഇല്ലായിരുന്നു.

Observability ടൂളുകൾക്ക് എംബെഡിംഗ് പ്രവർത്തനം കാണാൻ കഴിയുമായിരുന്നു. എന്നാൽ അവയ്ക്ക് അതിന്റെ പശ്ചാത്തലം (context) മനസ്സിലാക്കാൻ കഴിഞ്ഞില്ല. മോഡൽ വിവരങ്ങൾ, പ്രൊവൈഡർ വിവരങ്ങൾ, ടോക്കൺ ഉപയോഗം എന്നിവ അവയ്ക്ക് ലഭിച്ചില്ല.

ഒരു RAG പൈപ്പ്‌ലൈൻ ഈ ഘട്ടങ്ങളിലൂടെയാണ് കടന്നുപോകുന്നത്: • Documents • Chunking • Embedding Model • Vector Database • Similarity Search • LLM Generation

എംബെഡിംഗ് ഘട്ടം വളരെ പ്രധാനമാണ്. ഇവിടെ ഡാറ്റ കുറവാണെങ്കിൽ, പെർഫോമൻസ് ഡിബഗ് (debugging) ചെയ്യുന്നത് പ്രയാസകരമാകും.

ഒരു പൊതുവായ ഭാഷ സൃഷ്ടിക്കുന്നതിനായി OpenTelemetry 'semantic conventions' ഉപയോഗിക്കുന്നു. ഓരോ ടൂളും വ്യത്യസ്തമായ പേരുകൾ ഉപയോഗിക്കുന്നതിന് പകരം, എല്ലാവരും ഒരു സ്റ്റാൻഡേർഡ് പിന്തുടരുന്നു. ഇത് താഴെ പറയുന്ന അറ്റ്രിബ്യൂട്ടുകൾ വായിക്കാൻ ടൂളുകളെ അനുവദിക്കുന്നു: • gen_ai.systemgen_ai.request.modelgen_ai.usage.input_tokens

Mastra RAG embedding ഡാറ്റയെ ഈ OpenTelemetry മാനദണ്ഡങ്ങളുമായി ബന്ധിപ്പിക്കുന്നതിനായി ഞാൻ ഒരു pull request സമർപ്പിച്ചു.

ഈ പ്രവർത്തനത്തിൽ ഉൾപ്പെട്ടവ: • എംബെഡിംഗ് മോഡൽ മെറ്റാഡാറ്റ എക്‌സ്‌പോർട്ട് ചെയ്യുക • പ്രൊവൈഡർ വിവരങ്ങൾ എക്‌സ്‌പോർട്ട് ചെയ്യുക • ടോക്കൺ ഉപയോഗം മെട്രിക്സുകൾ മാപ്പ് ചെയ്യുക • അറ്റ്രിബ്യൂട്ടുകളെ ആഗോള മാനദണ്ഡങ്ങളുമായി യോജിപ്പിക്കുക

ഇത് കസ്റ്റം കോഡ് ഇല്ലാതെ തന്നെ എംബെഡിംഗുകളെ മനസ്സിലാക്കാൻ observability സിസ്റ്റങ്ങളെ സഹായിക്കുന്നു.

പ്രൊഡക്ഷൻ AI സിസ്റ്റങ്ങൾക്ക് വ്യക്തമായ കാഴ്ചപ്പാട് (visibility) ആവശ്യമാണ്. ഏത് മോഡലാണ് ലേറ്റൻസി (latency) ഉണ്ടാക്കുന്നത് അല്ലെങ്കിൽ ഏത് പ്രൊവൈഡർ ആണ് കൂടുതൽ ചിലവ് വരുത്തുന്നത് എന്ന് നിങ്ങൾ അറിയണം. സ്റ്റാൻഡേർഡൈസ്ഡ് ടെലിമെട്രി (standardized telemetry) ഈ ഉത്തരങ്ങൾ സ്വയമേവ നൽകുന്നു.

ഓപ്പൺ സോഴ്സ് ഒരു വലിയ പാഠം പഠിപ്പിക്കുന്നു. എല്ലാ നല്ല സംഭാവനകളും പുതിയ ഫീച്ചറുകൾ ചേർക്കുന്നവയല്ല. ചിലപ്പോൾ നിലവിലുള്ള സിസ്റ്റങ്ങളെ നിരീക്ഷിക്കാനും പ്രവർത്തിപ്പിക്കാനും എളുപ്പമാക്കുന്നതാണ് ഏറ്റവും മികച്ച പണി.

നിങ്ങൾ AI ഇൻഫ്രാസ്ട്രക്ചർ നിർമ്മിക്കുന്നുണ്ടെങ്കിൽ, observability അവഗണിക്കരുത്. മികച്ച AI സിസ്റ്റങ്ങൾ എപ്പോഴും നിരീക്ഷിക്കാവുന്നവയാണ് (observable).

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

Optional learning community: https://t.me/GyaanSetuAi