...

/

تتبع وتصحيح أخطاء أنظمة الذكاء الاصطناعي في LlamaIndex

تتبع وتصحيح أخطاء أنظمة الذكاء الاصطناعي في LlamaIndex

تعرف على كيفية تتبع تطبيقات LLM وتصحيح أخطائها باستخدام أدوات LlamaIndex المضمنة للتسجيل وتكوين ملف تعريف الأداء وتحسين النظام.

سنغطي ما يلي...

عندما بناء أنظمة ذكاء اصطناعي باستخدام LlamaIndex أو أي إطار عمل آخر، يسهل التركيز على المدخلات والمخرجات - يُطرح سؤال، فتظهر الإجابة. لكن الكثير يحدث تحت السطح: تُدمج المستندات وتُسترجع، وتُبنى المطالبات ديناميكيًا، وتُنتج نماذج اللغة النتائج.

في الإعدادات الأكثر تعقيدًا، قد يستدعي الوكلاء أدوات، وقد تتفرع سير العمل بناءً على المنطق أو تفاعل المستخدم. عند حدوث خطأ ما - إجابة ضعيفة، أو استدعاء أداة مفقود، أو استجابة بطيئة - يجب أن نفهم ما حدث.

يساعدنا التتبع وتصحيح الأخطاء على جعل ما هو غير مرئي مرئيًا. يتيحان لنا متابعة تدفق البيانات عبر النظام وتشخيص الأعطال بدقة. مع LlamaIndex، يمكننا فحص كل خطوة، بدءًا من الاسترجاع والإنشاء الفوري وحتى توليد استجابة النهائية.

Press + to interact

تمكين التسجيل الأساسي

يشير التسجيل الأساسي إلى طباعة الأحداث أو المعلومات مفتاح إلى وحدة التحكم أثناء وقت التشغيل، مثل الاستعلامات التي نرسلها، أو الاستجابات التي نتلقاها، أو تقدم خطوات معينة في تطبيقنا.

يتم ذلك عادةً باستخدام وحدة logging المدمجة في بايثون. تتيح لنا هذه الوحدة رؤية فورية للأحداث عالية المستوى دون الحاجة إلى أدوات خاصة أو إعدادات تتبع.

على سبيل المثال:

Press + to interact
Python 3.10.4
import logging
# Configure logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# Example function to simulate response retrieval
def retrieve_response(query):
logger.info(f"Processing query: {query}")
response = "This is a sample response."
logger.info(f"Generated response: {response}")
return response
# Test logging
response = retrieve_response("What is LlamaIndex?")
print(response)
  • السطر 1: نقوم باستيراد وحدة logging المضمنة في Python.

  • السطر 4: نقوم بتكوين نظام التسجيل لإظهار الرسائل على مستوى INFO أو أعلى.

  • السطر 5: logger = logging.getLogger(__name__) يُنشئ مثيلًا للمسجل. استخدام __name__ يضمن أن نطاق المسجل مُحدد بشكل صحيح للوحدة الحالية.

  • الأسطر من ٨ إلى ١٢: نُعرّف دالةً تُحاكي retrieve_response(query) استجابة لاستعلام مستخدم. قبل توليد استجابة، نُسجّل الاستعلام المُستلَم. بعد توليد استجابة(المحاكاة)، نُسجّل إخراج.

  • السطرين 15-16: نقوم باختبار الوظيفة باستخدام استعلام عينة ونطبع استجابة المرتجعة إلى وحدة التحكم.

يساعدنا هذا على التأكد من أن منطق الاستعلام لدينا يعمل كما هو متوقع، والتحقق من استلام الاستعلامات وتوليد الردود. يسهل تنفيذه باستخدام تسجيل Python القياسي، ويعمل بكفاءة لتتبع سير التنفيذ العام خلال مرحلة التطوير المبكرة ...