ما هو تقييم عامل الذكاء الاصطناعي الفسيفساء؟
تقدم هذه المقالة نظرة عامة حول كيفية العمل مع تقييم عامل الذكاء الاصطناعي الفسيفساء. يساعد تقييم العامل المطورين على تقييم جودة وتكلفة وزمن انتقال تطبيقات الذكاء الاصطناعي الوكيلة، بما في ذلك تطبيقات وسلاسل RAG. تم تصميم تقييم العامل لتحديد مشكلات الجودة وتحديد السبب الجذري لهذه المشكلات. يتم توحيد قدرات تقييم العامل عبر مراحل التطوير والتقسيم المرحلي والإنتاج لدورة حياة MLOps، ويتم تسجيل جميع مقاييس التقييم وبياناته في MLflow Runs.
يدمج تقييم العامل تقنيات التقييم المتقدمة المدعومة بالأبحاث في SDK سهلة الاستخدام وواجهة المستخدم المدمجة مع lakehouse وMLflow ومكونات Databricks Data Intelligence Platform الأخرى. تم تطوير هذه التقنية الخاصة بالتعاون مع البحث الذكاء الاصطناعي الفسيفساء، وتقدم نهجا شاملا لتحليل وتحسين أداء العامل.
تطبيقات الذكاء الاصطناعي الوكيلة معقدة وتتضمن العديد من المكونات المختلفة. تقييم أداء هذه التطبيقات ليس مباشرا مثل تقييم أداء نماذج التعلم الآلي التقليدية. كل من المقاييس النوعية والكمية التي تستخدم لتقييم الجودة هي بطبيعتها أكثر تعقيدا. يتضمن تقييم الوكيل قضاة LLM الخاصين ومقاييس الوكيل لتقييم جودة الاسترداد والطلب بالإضافة إلى مقاييس الأداء الإجمالية مثل زمن الانتقال وتكلفة الرمز المميز.
كيف أعمل استخدام تقييم العامل؟
توضح التعليمات البرمجية التالية كيفية استدعاء واختبار تقييم العامل على المخرجات التي تم إنشاؤها مسبقا. يقوم بإرجاع إطار بيانات مع درجات تقييم محسوبة من قبل قضاة LLM التي تعد جزءا من تقييم الوكيل.
يمكنك نسخ ولصق ما يلي في دفتر ملاحظات Databricks الحالي:
%pip install mlflow databricks-agents
dbutils.library.restartPython()
import mlflow
import pandas as pd
examples = {
"request": [
{
# Recommended `messages` format
"messages": [{
"role": "user",
"content": "Spark is a data analytics framework."
}],
},
# Primitive string format
# Note: Using a primitive string is discouraged. The string will be wrapped in the
# OpenAI messages format before being passed to your agent.
"How do I convert a Spark DataFrame to Pandas?"
],
"response": [
"Spark is a data analytics framework.",
"This is not possible as Spark is not a panda.",
],
"retrieved_context": [ # Optional, needed for judging groundedness.
[{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
[{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
],
"expected_response": [ # Optional, needed for judging correctness.
"Spark is a data analytics framework.",
"To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
]
}
result = mlflow.evaluate(
data=pd.DataFrame(examples), # Your evaluation set
# model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
model_type="databricks-agent", # Enable Mosaic AI Agent Evaluation
)
# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])
بدلا من ذلك، يمكنك استيراد دفتر الملاحظات التالي وتشغيله في مساحة عمل Databricks:
دفتر ملاحظات مثال تقييم عامل الفسيفساء الذكاء الاصطناعي
مدخلات ومخرجات تقييم العامل
يوضح الرسم التخطيطي التالي نظرة عامة على المدخلات المقبولة من قبل تقييم العامل والمخرجات المقابلة التي ينتجها تقييم العامل.
الإدخالات
للحصول على تفاصيل الإدخال المتوقع لتقييم العامل، بما في ذلك أسماء الحقول وأنواع البيانات، راجع مخطط الإدخال. بعض الحقول هي التالية:
- استعلام المستخدم (
request
): الإدخال إلى العامل (سؤال المستخدم أو استعلامه). على سبيل المثال، "ما هو RAG؟". - استجابة العامل (
response
): الاستجابة التي أنشأها العامل. على سبيل المثال، "استرداد الجيل المعزز هو ...". - الاستجابة المتوقعة (
expected_response
): (اختياري) استجابة حقيقة أساسية (صحيحة). - تتبع MLflow (): (
trace
اختياري) تتبع MLflow الخاص بالعامل، والذي يستخرج منه تقييم العامل مخرجات وسيطة مثل السياق المسترد أو استدعاءات الأدوات. بدلا من ذلك، يمكنك توفير هذه المخرجات الوسيطة مباشرة.
المخرجات
استنادا إلى هذه المدخلات، ينتج تقييم العامل نوعين من المخرجات:
- نتائج التقييم (لكل صف): لكل صف يتم توفيره كمدخل، ينتج عن تقييم العامل صف إخراج مطابق يحتوي على تقييم مفصل لجودة وكيلك وتكلفته وزمن انتقاله.
- يتحقق قضاة LLM من جوانب مختلفة من الجودة، مثل الصحة أو التأريض، وإخراج درجة نعم/لا والأساس المنطقي المكتوب لتلك النتيجة. للحصول على التفاصيل، راجع كيفية تقييم الجودة والتكلفة وزمن الانتقال بواسطة تقييم العامل.
- يتم دمج تقييمات قضاة LLM لإنتاج درجة إجمالية تشير إلى ما إذا كان هذا الصف "يمر" (عالي الجودة) أو "فشل" (لديه مشكلة تتعلق بالجودة).
- بالنسبة لأي صفوف فاشلة، يتم تحديد سبب جذري. كل سبب جذري يتوافق مع تقييم قاض LLM محدد، مما يسمح لك باستخدام الأساس المنطقي للقاضي لتحديد الإصلاحات المحتملة.
- يتم استخراج التكلفة وزمن الانتقال من تتبع MLflow. للحصول على التفاصيل، راجع كيفية تقييم التكلفة وزمن الانتقال.
- المقاييس (الدرجات التجميعية): الدرجات المجمعة التي تلخص جودة وكيلك وتكلفته وزمن انتقاله عبر جميع صفوف الإدخال. تتضمن هذه المقاييس مقاييس مثل النسبة المئوية للإجابات الصحيحة ومتوسط عدد الرموز المميزة ومتوسط زمن الانتقال والمزيد. للحصول على التفاصيل، راجع كيفية تقييم التكلفة وزمن الانتقال وكيفية تجميع المقاييس على مستوى تشغيل تدفق MLflow للجودة والتكلفة وزمن الانتقال.
التطوير (التقييم دون اتصال) والإنتاج (المراقبة عبر الإنترنت)
تم تصميم تقييم العامل ليكون متسقا بين بيئات التطوير (دون اتصال) والإنتاج (عبر الإنترنت). يتيح هذا التصميم انتقالا سلسا من التطوير إلى الإنتاج، مما يسمح لك بالتكرار السريع للتطبيقات الوكيلة عالية الجودة وتقييمها ونشرها ومراقبتها.
الفرق الرئيسي بين التنمية والإنتاج هو أنه في الإنتاج، ليس لديك تسميات الحقيقة الأرضية، بينما في التطوير، يمكنك اختياريا استخدام تسميات الحقيقة الأرضية. يسمح استخدام تسميات الحقيقة الأساسية لتقييم العامل بحساب مقاييس جودة إضافية.
التطوير (دون اتصال)
في التطوير، تأتي و requests
expected_responses
من مجموعة تقييم. مجموعة التقييم هي مجموعة من المدخلات التمثيلية التي يجب أن يكون وكيلك قادرا على التعامل معها بدقة. لمزيد من المعلومات حول مجموعات التقييم، راجع مجموعات التقييم.
للحصول على response
و trace
، يمكن ل Agent Evaluation استدعاء التعليمات البرمجية لعاملك لإنشاء هذه المخرجات لكل صف في مجموعة التقييم. بدلا من ذلك، يمكنك إنشاء هذه المخرجات بنفسك وتمريرها إلى تقييم العامل. راجع كيفية توفير إدخال لتشغيل تقييم للحصول على مزيد من المعلومات.
الإنتاج (عبر الإنترنت)
في الإنتاج، تأتي جميع المدخلات إلى تقييم العامل من سجلات الإنتاج الخاصة بك.
إذا كنت تستخدم Mosaic الذكاء الاصطناعي Agent Framework لنشر تطبيق الذكاء الاصطناعي الخاص بك، يمكن تكوين تقييم العامل لتجميع هذه المدخلات تلقائيا من جداول الاستدلال المحسنة من قبل العامل وتحديث لوحة معلومات المراقبة باستمرار. لمزيد من التفاصيل، راجع كيفية مراقبة جودة وكيلك على حركة مرور الإنتاج.
إذا قمت بنشر عاملك خارج Azure Databricks، يمكنك ETL سجلاتك إلى مخطط الإدخال المطلوب وتكوين لوحة معلومات مراقبة بالمثل.
إنشاء معيار جودة مع مجموعة تقييم
لقياس جودة تطبيق الذكاء الاصطناعي قيد التطوير (دون اتصال)، تحتاج إلى تحديد مجموعة تقييم، أي مجموعة من الأسئلة التمثيلية وإجابات الحقيقة الأساسية الاختيارية. إذا كان التطبيق يتضمن خطوة استرداد، كما هو الحال في مهام سير عمل RAG، فيمكنك اختياريا توفير المستندات الداعمة التي تتوقع أن تستند إليها الاستجابة.
للحصول على تفاصيل حول مجموعات التقييم، بما في ذلك تبعيات القياس وأفضل الممارسات، راجع مجموعات التقييم. للحصول على المخطط المطلوب، راجع مخطط إدخال تقييم العامل.
عمليات تشغيل التقييم
للحصول على تفاصيل حول كيفية تشغيل تقييم، راجع كيفية تشغيل تقييم وعرض النتائج. يدعم تقييم العامل خيارين لتوفير الإخراج من السلسلة:
- يمكنك تشغيل التطبيق كجزء من تشغيل التقييم. ينشئ التطبيق نتائج لكل إدخال في مجموعة التقييم.
- يمكنك توفير الإخراج من تشغيل سابق للتطبيق.
للحصول على تفاصيل وشرح وقت استخدام كل خيار، راجع كيفية توفير إدخال لتشغيل تقييم.
الحصول على ملاحظات بشرية حول جودة تطبيق GenAI
يسهل تطبيق مراجعة Databricks جمع الملاحظات حول جودة تطبيق الذكاء الاصطناعي من المراجعين البشريين. للحصول على التفاصيل، راجع الحصول على ملاحظات حول جودة تطبيق عاملي.
التوفر الجغرافي لميزات المساعد
الفسيفساء الذكاء الاصطناعي تقييم العامل هي خدمة معينة تستخدم Geos لإدارة موقع البيانات عند معالجة محتوى العميل. لمعرفة المزيد حول توفر تقييم العامل في مناطق جغرافية مختلفة، راجع خدمات Databricks المعينة.
التسعير
للحصول على معلومات التسعير، راجع الفسيفساء الذكاء الاصطناعي أسعار تقييم العامل.
القيد
تقييم العامل غير متوفر في مساحات العمل الممكنة ل HIPAA.
معلومات حول النماذج التي تدعم قضاة LLM
- قد يستخدم قضاة LLM خدمات الجهات الخارجية لتقييم تطبيقات GenAI الخاصة بك، بما في ذلك Azure OpenAI التي تديرها Microsoft.
- بالنسبة إلى Azure OpenAI، تم إلغاء اشتراك Databricks في مراقبة إساءة الاستخدام بحيث لا يتم تخزين أي مطالبات أو استجابات مع Azure OpenAI.
- بالنسبة لمساحات عمل الاتحاد الأوروبي، يستخدم قضاة LLM النماذج المستضافة في الاتحاد الأوروبي. تستخدم جميع المناطق الأخرى النماذج المستضافة في الولايات المتحدة.
- يؤدي تعطيل الميزات المساعدة الذكاء الاصطناعي المدعومة من Azure الذكاء الاصطناعي إلى منع قاضي LLM من استدعاء نماذج مدعومة من Azure الذكاء الاصطناعي.
- لا تستخدم البيانات المرسلة إلى قاضي LLM لأي تدريب نموذجي.
- يهدف قضاة LLM إلى مساعدة العملاء على تقييم تطبيقات RAG الخاصة بهم، ولا ينبغي استخدام مخرجات قاضي LLM لتدريب أو تحسين أو ضبط LLM.