مشاركة عبر


كيفية إجراء تقييم في GitHub Action (معاينة)

مهم

العناصر التي تم وضع علامة عليها (إصدار أولي) في هذه المقالة موجودة حالياً في الإصدار الأولي العام. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام الإضافية لمعاينات مايكروسوفت Azure.

يتيح هذا GitHub Action التقييم غير المتصلة ل Microsoft Foundry Agents داخل pipelines CI/CD الخاص بك. تم تصميمه لتبسيط عملية التقييم غير المتصلة بالإنترنت، حتى تتمكن من تحديد المشكلات المحتملة وإجراء تحسينات قبل إصدار تحديث للإنتاج.

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

الميزات

  • تقييم الوكلاء: قم بأتمتة تقييم ما قبل الإنتاج لوكلاء Microsoft Foundry في سير عمل CI/CD الخاص بك.
  • المقيمون: استخدم أي مقيمين من كتالوج مقيم Foundry.
  • التحليل الإحصائي: تتضمن نتائج التقييم فواصل الثقة واختبار الأهمية الإحصائية لتحديد ما إذا كانت التغييرات ذات مغزى وليس بسبب تباين عشوائي.

فئات المقيمين

المتطلبات المسبقه

نصيحة

الطريقة الموصى بها للمصادقة هي استخدام Microsoft Entra ID، الذي يسمح لك بالاتصال بأمان بموارد Azure الخاصة بك. يمكنك أتمتة عملية المصادقة باستخدام Azure إجراء تسجيل GitHub . لمعرفة المزيد، راجع Azure إجراء تسجيل الدخول باستخدام OpenID Connect.

كيفية إعداد تقييمات عامل الذكاء الاصطناعي

إدخال تقييمات عامل الذكاء الاصطناعي

المعلمات

الاسم مطلوب؟ وصف
azure-ai-project-endpoint ‏‏نعم‬ نقطة النهاية لمشروع Microsoft Foundry Project الخاص بك.
اسم النشر ‏‏نعم‬ اسم نشر نموذج الذكاء الاصطناعي في Azure لاستخدامه في التقييم.
مسار البيانات ‏‏نعم‬ المسار إلى ملف البيانات الذي يحتوي على المقيمين واستعلامات الإدخال للتقييمات.
معرفات الوكلاء ‏‏نعم‬ معرف وكيل أو أكثر لتقييمه في التنسيق agent-name:version (على سبيل المثال، my-agent:1 أو my-agent:1,my-agent:2). يتم فصل عدة وكلاء بفاصل ومقارنة النتائج الإحصائية للاختبار.
معرف خط الأساس-وكيل لا معرف الوكيل الأساسي للمقارنة عند تقييم عدة وكلاء. إذا لم يتم توفيره، يتم استخدام الوكيل الأول.

ملف البيانات

يجب أن يكون ملف بيانات الإدخال ملف JSON بالبنية التالية:

الحقل النوع مطلوب؟ وصف
الاسم string ‏‏نعم‬ اسم مجموعة بيانات التقييم.
المقيمون سلسلة[] ‏‏نعم‬ قائمة بأسماء المقيمين التي يمكن استخدامها. اطلع على قائمة المقيمين المتاحين في كتالوج المقيمين في project الخاص بك في بوابة Foundry: Build > Evaluations > Evaluator catalog.
البيانات الهدف[] ‏‏نعم‬ مصفوفة من كائنات الإدخال مع query حقول مقيم اختيارية مثل ground_truth، context. يتم تعيينه تلقائيا للمقيمين؛ كان يستخدم data_mapping لتجاوز الجهاز.
openai_graders object لا تكوين المقيمين المبنيين على OpenAI (label_model، score_model، string_check، إلخ).
evaluator_parameters object لا معلمات التهيئة الخاصة بالمقيم (مثل العتبات، الإعدادات المخصصة).
data_mapping object لا تعيينات حقول بيانات مخصصة (يتم توليدها تلقائيا من البيانات إذا لم تكن متوفرة).

ملف بيانات نموذجي أساسي

{
  "name": "test-data",
  "evaluators": [
    "builtin.fluency",
    "builtin.task_adherence",
    "builtin.violence",
  ],
  "data": [
    {
      "query": "Tell me about Tokyo disneyland"
    },
    {
      "query": "How do I install Python?"
    }
  ]
}

ملفات بيانات عينات إضافية

اسم الملف وصف
dataset-tiny.json مجموعة بيانات تحتوي على عدد قليل من استعلامات الاختبار والمقيمين.
dataset.json مجموعة بيانات تحتوي على جميع أنواع المقيمين المدعومين وعدد كاف من الاستعلامات لحساب فترة الثقة والاختبار الإحصائي.
dataset-builtin-evaluators.json مثال على مقيمين المصب المدمجين (مثل التماسك، الطلاقة، الصلة، الواقعية، المقاييس).
dataset-openai-graders.json مثال على مصححات OpenAI (نماذج التسميات، نماذج الدرجات، تشابه النص، فحوصات النص).
dataset-custom-evaluators.json مثال على المقيمين المخصصين مع معلمات المقيمين.
dataset-data-mapping.json مثال على تعيين البيانات يوضح كيفية تجاوز التعيين التلقائي للحقول باستخدام أسماء أعمدة بيانات مخصصة.

سير عمل تقييمات عامل الذكاء الاصطناعي

لاستخدام إجراء GitHub، أضف إجراء GitHub إلى سير عمل CI/CD الخاص بك. حدد معايير التشغيل، مثل عند الالتزام، ومسارات الملفات لتفعيل سير العمل الآلي.

نصيحة

لتقليل التكاليف، لا تجري تقييما لكل التزام.

يوضح هذا المثال كيف يمكنك تشغيل تقييم الذكاء الاصطناعي لعوامل Azure عند مقارنة وكلاء مختلفين باستخدام معرفات الوكلاء.

name: "AI Agent Evaluation"

on:
  workflow_dispatch:
  push:
    branches:
      - main

permissions:
  id-token: write
  contents: read

jobs:
  run-action:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Azure login using Federated Credentials
        uses: azure/login@v2
        with:
          client-id: ${{ vars.AZURE_CLIENT_ID }}
          tenant-id: ${{ vars.AZURE_TENANT_ID }}
          subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}

      - name: Run Evaluation
        uses: microsoft/ai-agent-evals@v3-beta
        with:
          # Replace placeholders with values for your Foundry Project
          azure-ai-project-endpoint: "<your-ai-project-endpoint>"
          deployment-name: "<your-deployment-name>"
          agent-ids: "<your-ai-agent-ids>"
          data-path: ${{ github.workspace }}/path/to/your/data-file

إخراج تقييمات عامل الذكاء الاصطناعي

يتم إخراج نتائج التقييم إلى قسم الملخص لكل إجراء تقييم ذكاء اصطناعي في GitHub يتم تشغيله تحت قسم الإجراءات في GitHub.

فيما يلي تقرير نموذجي لمقارنة وكيلين.

لقطة شاشة لتقييم الوكيل في GitHub Action.