إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة مخطط الإدخال المطلوب من قبل تقييم العامل لتقييم جودة التطبيق والتكلفة وزمن الانتقال.
- أثناء التطوير، يتم التقييم دون اتصال، ومجموعة التقييم هي مدخلات مطلوبة لتقييم العامل.
- عندما يكون أحد التطبيقات قيد الإنتاج، تأتي جميع المدخلات إلى تقييم العامل من جداول الاستدلال أو سجلات الإنتاج.
مخطط الإدخال متطابق لكل من التقييمات عبر الإنترنت وغير المتصلة.
للحصول على معلومات عامة حول مجموعات التقييم، راجع مجموعات التقييم.
مخطط إدخال التقييم
يعرض الجدول التالي مخطط إدخال تقييم العامل. يشير العمودان الأخيران من الجدول إلى كيفية توفير الإدخال إلى mlflow.evaluate() الاستدعاء. راجع كيفية توفير إدخال إلى تشغيل تقييم للحصول على التفاصيل.
| Column | نوع البيانات | الوصف | تم تمرير التطبيق كوسيطة إدخال | تم توفير المخرجات التي تم إنشاؤها مسبقا |
|---|---|---|---|---|
| request_id | سلسلة | معرف فريد للطلب. | اختياري | اختياري |
| طلب | راجع المخطط للطلب. | إدخال إلى التطبيق لتقييم سؤال المستخدم أو استعلامه. على سبيل المثال، {'messages': [{"role": "user", "content": "What is RAG"}]} أو "ما هو RAG؟". عند request توفيرها كسلسلة، سيتم تحويلها إلى messages قبل تمريرها إلى وكيلك. |
المطلوب | المطلوب |
| response | سلسلة | الاستجابة التي تم إنشاؤها بواسطة التطبيق الذي يتم تقييمه. | تم إنشاؤه بواسطة تقييم العامل | اختياري. إذا لم يتم توفير ثم مشتقة من تتبع. إما response أو trace مطلوب. |
| expected_facts | صفيف سلسلة | قائمة بالحقائق المتوقعة في إخراج النموذج. راجع إرشادات expected_facts. | اختياري | اختياري |
| expected_response | سلسلة | إجابة الحقيقة الأساسية (الصحيح) لطلب الإدخال. راجع إرشادات expected_response. | اختياري | اختياري |
| expected_retrieved_context | صفيف | صفيف من الكائنات التي تحتوي على السياق المتوقع المسترد للطلب (إذا كان التطبيق يتضمن خطوة استرداد). مخطط الصفيف | اختياري | اختياري |
| retrieved_context | صفيف | نتائج الاسترداد التي تم إنشاؤها بواسطة المسترد في التطبيق الذي يتم تقييمه. إذا كانت خطوات الاسترداد المتعددة موجودة في التطبيق، فهذه هي نتائج الاسترداد من الخطوة الأخيرة (بالترتيب الزمني في التتبع). مخطط الصفيف | تم إنشاؤه بواسطة تقييم العامل | اختياري. إذا لم يتم توفير ثم مشتقة من التتبع المقدمة. |
| التتبع | سلسلة JSON ل MLflow Trace | تتبع MLflow لتنفيذ التطبيق على الطلب المقابل. | تم إنشاؤه بواسطة تقييم العامل | اختياري. إما response أو trace مطلوب. |
expected_facts المبادئ التوجيهيه
expected_facts يحدد الحقل قائمة الحقائق المتوقع ظهورها في أي استجابة نموذج صحيحة لطلب الإدخال المحدد. أي أن الرد النموذجي يعتبر صحيحا إذا كان يحتوي على هذه الحقائق، بغض النظر عن كيفية صياغة الاستجابة.
بما في ذلك الحقائق المطلوبة فقط، وترك الحقائق غير المطلوبة بدقة في الإجابة، يمكن تقييم العامل من تقديم إشارة أكثر قوة حول جودة الإخراج.
يمكنك تحديد واحد على الأكثر من expected_facts و expected_response. إذا قمت بتحديد كليهما، الإبلاغ عن خطأ. توصي Databricks باستخدام expected_facts، لأنها إرشادات أكثر تحديدا تساعد تقييم العامل على الحكم بشكل أكثر فعالية على جودة الاستجابات التي تم إنشاؤها.
expected_response المبادئ التوجيهيه
expected_response يحتوي الحقل على استجابة مكونة بالكامل تمثل مرجعا لاستجابات النموذج الصحيحة. أي أن الاستجابة النموذجية تعتبر صحيحة إذا تطابقت مع محتوى المعلومات في expected_response. في المقابل، expected_facts يسرد فقط الحقائق المطلوبة للظهور في استجابة صحيحة وليست استجابة مرجعية مكونة بالكامل.
على expected_factsغرار ، expected_response يجب أن تحتوي فقط على الحد الأدنى من مجموعة الحقائق المطلوبة للاستجابة الصحيحة. بما في ذلك المعلومات المطلوبة فقط، وترك المعلومات غير المطلوبة بدقة في الإجابة، يمكن تقييم العامل من توفير إشارة أكثر قوة حول جودة الإخراج.
يمكنك تحديد واحد على الأكثر من expected_facts و expected_response. إذا قمت بتحديد كليهما، الإبلاغ عن خطأ. توصي Databricks باستخدام expected_facts، لأنها إرشادات أكثر تحديدا تساعد تقييم العامل على الحكم بشكل أكثر فعالية على جودة الاستجابات التي تم إنشاؤها.
مخطط للطلب
يمكن أن يكون مخطط الطلب واحدا مما يلي:
- مخطط إكمال دردشة OpenAI. يجب أن يحتوي مخطط إكمال دردشة OpenAI على صفيف من العناصر كمعلمة
messages. يمكن للحقلmessagesترميز المحادثة الكاملة. - إذا كان العامل يدعم مخطط إكمال دردشة OpenAI، يمكنك تمرير سلسلة عادية. يدعم هذا التنسيق المحادثات أحادية الدور فقط. يتم تحويل السلاسل العادية إلى
messagesالتنسيق مع"role": "user"قبل تمريرها إلى الوكيل الخاص بك. على سبيل المثال، يتم تحويل سلسلة"What is MLflow?"عادية إلى{"messages": [{"role": "user", "content": "What is MLflow?"}]}قبل تمريرها إلى وكيلك. SplitChatMessagesRequest.queryحقل سلسلة للطلب الأحدث وحقل اختياريhistoryيقوم بترميز المنعطفات السابقة للمحادثة.
بالنسبة لتطبيقات الدردشة متعددة الأدوار، استخدم الخيار الثاني أو الثالث أعلاه.
يوضح المثال التالي جميع الخيارات الثلاثة في نفس request العمود من مجموعة بيانات التقييم:
import pandas as pd
data = {
"request": [
# Plain string. Plain strings are transformed to the `messages` format before being passed to your agent.
"What is the difference between reduceByKey and groupByKey in Spark?",
# OpenAI chat completion schema. Use the `messages` field for a single- or multi-turn chat.
{
"messages": [
{
"role": "user",
"content": "How can you minimize data shuffling in Spark?"
}
]
},
# SplitChatMessagesRequest. Use the `query` and `history` fields for a single- or multi-turn chat.
{
"query": "Explain broadcast variables in Spark. How do they enhance performance?",
"history": [
{
"role": "user",
"content": "What are broadcast variables?"
},
{
"role": "assistant",
"content": "Broadcast variables allow the programmer to keep a read-only variable cached on each machine."
}
]
}
],
"expected_response": [
"expected response for first question",
"expected response for second question",
"expected response for third question"
]
}
eval_dataset = pd.DataFrame(data)
مخطط الصفائف في إدخال التقييم
مخطط الصفائف expected_retrieved_context retrieved_context ويظهر في الجدول التالي:
| Column | نوع البيانات | الوصف | تم تمرير التطبيق كوسيطة إدخال | تم توفير المخرجات التي تم إنشاؤها مسبقا |
|---|---|---|---|---|
| المحتوى | سلسلة | محتويات السياق المسترد. سلسلة بأي تنسيق، مثل HTML أو نص عادي أو Markdown. | اختياري | اختياري |
| doc_uri | سلسلة | المعرف الفريد (URI) للمستند الأصل الذي جاءت منه المجموعة. | المطلوب | المطلوب |
المقاييس المحسوبة
تشير الأعمدة في الجدول التالي إلى البيانات المضمنة في الإدخال، ✓ وتشير إلى أن المقياس مدعوم عند توفير تلك البيانات.
للحصول على تفاصيل حول ما تقيسه هذه المقاييس، راجع كيفية تقييم الجودة والتكلفة وزمن الانتقال بواسطة تقييم العامل.
| المقاييس المحسوبة | request |
request وexpected_response |
request وexpected_response وexpected_retrieved_context |
request وexpected_retrieved_context |
|---|---|---|---|---|
response/llm_judged/relevance_to_query/rating |
✓ | ✓ | ✓ | |
response/llm_judged/safety/rating |
✓ | ✓ | ✓ | |
response/llm_judged/groundedness/rating |
✓ | ✓ | ✓ | |
retrieval/llm_judged/chunk_relevance_precision |
✓ | ✓ | ✓ | |
agent/total_token_count |
✓ | ✓ | ✓ | |
agent/input_token_count |
✓ | ✓ | ✓ | |
agent/output_token_count |
✓ | ✓ | ✓ | |
response/llm_judged/correctness/rating |
✓ | ✓ | ||
retrieval/llm_judged/context_sufficiency/rating |
✓ | ✓ | ||
retrieval/ground_truth/document_recall |
✓ | ✓ |