مع تحول النماذج اللغوية الكبيرة (LLMs) إلى العمود الفقري للمنتجات البرمجية الحديثة، انتقلت تحديات المراقبة من المقاييس التقليدية إلى الفهم الدلالي. غالبًا ما يواجه المطورون صعوبة في تصحيح أخطاء سبب هلوسة النموذج أو سبب ارتفاع زمن الاستجابة أثناء استدلال معين. تطورت OpenTelemetry (OTel)، المعيار الصناعي للمراقبة، لمعالجة هذه الاحتياجات الفريدة. من خلال اعتماد إطار تتبع قياسي، يمكنك الحصول على رؤى عميقة في دورة حياة تطبيقات الذكاء الاصطناعي الخاصة بك، من بناء الموجّه (Prompt) إلى توليد الرموز (Tokens).
الانتقال إلى المعايير الدلالية
تاريخيًا، شمل تتبع تطبيق الذكاء الاصطناعي تغليف استدعاءات API الخارجية بمقاييس HTTP عامة. ومع ذلك، فإن هذا يخفي التفاصيل الحرجة التي تحدد أداء الذكاء الاصطناعي: عدد الرموز، ومعلمات النموذج، وسياقات الموجّه. أدخلت مؤسسة الحوسبة السحابية الأصلية (CNCF) مؤخرًا معايير دلالية مخصصة للذكاء الاصطناعي التوليدي. تحدد هذه المعايير سمات مثل gen_ai.system، وgen_ai.request.model، وgen_ai.response.token_count. من خلال الالتزام بهذه المعايير، تصبح بيانات المراقبة الخاصة بك قابلة للنقل والمقارنة عبر أنظمة خلفية مختلفة، سواء كنت تستخدم OpenAI أو Anthropic أو نماذج LLM محلية.
قياس استدعاءات LLM الخاصة بك
على الرغم من وجود مكتبات قياس تلقائي للإطارات الشائعة، إلا أن القياس الصريح يوفر تحكمًا أكبر. أدناه مثال عملي باستخدام SDK الخاص بـ Python OpenTelemetry لتتبع تفاعل بسيط مع LLM. تضمن هذه الطريقة التقاط استخدام الرموز وتفاصيل النموذج كشرائح (Spans)، مما يتيح لك ربط التكلفة بطلبات المستخدمين المحددة.
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.trace import Status, StatusCode
# Initialize the tracer provider
provider = TracerProvider()
provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
tracer = trace.get_tracer(__name__)
def call_llm(prompt: str, model: str):
with tracer.start_as_current_span("llm.inference") as span:
span.set_attribute("gen_ai.system", "openai")
span.set_attribute("gen_ai.request.model", model)
span.set_attribute("gen_ai.prompt", prompt)
# Simulate LLM call
response = "This is a simulated response."
input_tokens = len(prompt.split())
output_tokens = len(response.split())
# Record token metrics
span.set_attribute("gen_ai.usage.input_tokens", input_tokens)
span.set_attribute("gen_ai.usage.output_tokens", output_tokens)
span.set_attribute("gen_ai.response.text", response)
if "error" in response:
span.set_status(Status(StatusCode.ERROR, "LLM Error"))
else:
span.set_status(Status(StatusCode.OK))
return response
# Example usage
call_llm("Explain quantum entanglement simply", "gpt-4")
تجميع المقاييس للتكلفة والأداء
تُظهر التتبعات رحلة طلب واحد، لكن المقاييس تكشف عن صحة نظامك بمرور الوقت. يجب عليك تجميع عدد الرموز في بيانات متسلسلة زمنيًا. يتيح لك هذا إعداد تنبيهات للقفزات الشاذة في الاستخدام، والتي تشير غالبًا إلى خطأ في هندسة الموجّه (مثل حلقة لا نهائية تضيف السياق) أو زيادة في حركة المرور. من خلال ربط هذه المقاييس بمزود الفوترة الخاص بك، يمكنك إنشاء لوحة تكلفة في الوقت الفعلي تفصل المصروفات حسب النموذج أو الميزة أو فئة المستخدم.
تصحيح أخطاء "لماذا"
تتجلى القوة الحقيقية لـ OpenTelemetry في الذكاء الاصطناعي في قدرتها على ربط السبب بالنتيجة. عندما يبلغ المستخدم عن إجابة رديئة، يمكنك تتبع الطلب عكسيًا عبر بحث قاعدة البيانات المتجهية، ومنطق تجميع الموجّه، وأخيرًا استدعاء LLM. من خلال تضمين درجات الاسترجاع وإصدارات الموجّه كسمات للشريحة، يمكنك تحديد ما إذا كان النموذج قد فشل بسبب جودة استرجاع رديئة أو ببساطة بسبب موجّه غامض. يحوّل هذا المستوى من التفصيل عملية تصحيح الأخطاء من التخمين إلى عملية قائمة على البيانات.
الخلاصة
لم يعد دمج OpenTelemetry في مجموعة أدوات الذكاء الاصطناعي الخاصة بك خيارًا للنظم ذات المستوى الإنتاجي. فهو يوفر الشفافية اللازمة لمراقبة التكاليف، وتحسين أداء النموذج، وضمان الموثوقية. من خلال الاستفادة من المعايير الدلالية، تضمن مستقبل استراتيجية المراقبة الخاصة بك، مما يضمن أن قدرات المراقبة الخاصة بك تبقي وتيرة مع تطور نماذج الذكاء الاصطناعي. ابدأ صغيرًا بقياس استدعاءات LLM الأساسية لديك، ثم توسّع تدريجيًا ليشمل البحث المتجهي ومنطق الوكيل لبناء نظرة شاملة على سلوك تطبيق الذكاء الاصطناعي الخاص بك.