Cara menjalankan evaluasi dalam GitHub Actions (pratinjau)

Penting

Item yang ditandai sebagai pratinjau dalam artikel ini saat ini masih dalam pratinjau. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan Microsoft tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan yang dibatasi. Untuk informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Tindakan GitHub ini memungkinkan evaluasi offline Microsoft Foundry Agents dalam alur CI/CD Anda. Ini menyederhanakan proses evaluasi offline, sehingga Anda dapat mengidentifikasi potensi masalah dan melakukan penyempurnaan sebelum merilis pembaruan untuk produksi.

Untuk menggunakan tindakan ini, berikan himpunan data dengan kueri pengujian dan daftar evaluator. Tindakan ini memanggil agen Anda dengan kueri, menjalankan evaluasi, dan menghasilkan laporan ringkasan.

Fitur

  • Agent Evaluation: Mengotomatiskan penilaian pra-produksi agen Microsoft Foundry dalam alur kerja CI/CD Anda.
  • Evaluator: Gunakan evaluator apa pun dari katalog evaluator Foundry.
  • Analisis Statistik: Hasil evaluasi mencakup interval keyakinan dan pengujian untuk signifikansi statistik untuk menentukan apakah perubahan bermakna dan bukan karena variasi acak.

Kategori penilai

Prasyarat

Tips

Cara yang disarankan untuk mengautentikasi adalah dengan menggunakan Microsoft Entra ID, yang dapat Anda gunakan untuk terhubung dengan aman ke sumber daya Azure Anda. Anda dapat mengotomatiskan proses autentikasi dengan menggunakan aksi GitHub Azure Login . Untuk mempelajari selengkapnya, lihat tindakan masuk Azure dengan OpenID Connect.

Cara mengatur evaluasi agen kecerdasan buatan

Input evaluasi agen AI

Parameter

Nama Diperlukan? Deskripsi
azure-ai-project-endpoint Ya Titik akhir Proyek Microsoft Foundry Anda. Untuk menemukan nilai ini, buka proyek Anda di portal Foundry dan salin titik akhir dari halaman Gambaran Umum .
nama penggelaran Ya Nama penyebaran model AI Azure yang akan digunakan untuk evaluasi. Temukan penyebaran yang ada di bawah Model + titik akhir di portal Foundry.
jalur data Ya Jalur ke file data yang berisi penilai dan kueri input untuk evaluasi.
agent-ids Ya ID dari satu atau beberapa agen untuk dievaluasi dalam format agent-name:version (misalnya, my-agent:1 atau my-agent:1,my-agent:2). Beberapa agen dipisahkan koma dan dibandingkan dengan hasil pengujian statistik.
pengidentifikasi-agen-dasar Tidak ID agen dasar untuk dibandingkan saat mengevaluasi beberapa agen. Jika tidak tersedia, agen pertama akan digunakan.

Catatan

Untuk menemukan ID dan versi agen Anda, buka proyek Anda di portal Foundry, buka Agen, pilih agen Anda, dan salin ID Agen dari panel detail. Versinya adalah nomor versi penyebaran (misalnya, my-agent:1).

File data

File data input harus berupa file JSON dengan struktur berikut:

Bidang Jenis Diperlukan? Deskripsi
Nama string Ya Nama himpunan data evaluasi.
evaluator string[] Ya Daftar nama evaluator yang akan digunakan. Lihat daftar evaluator yang tersedia di katalog proyek Anda di portal Foundry: Membangun Evaluasi > Katalog Evaluator>.
data objek[] Ya Array objek input dengan query dan bidang evaluator opsional seperti ground_truth, context. Diotomatiskan ke evaluator; gunakan data_mapping untuk mengambil alih.
openai_graders objek Tidak Konfigurasi untuk evaluator berbasis OpenAI (label_model, score_model, string_check, dll.).
evaluator_parameters objek Tidak Parameter inisialisasi khusus evaluator (misalnya, ambang batas, pengaturan kustom).
data_mapping objek Tidak Pemetaan bidang data kustom (dibuat secara otomatis dari data jika tidak disediakan).

File data contoh dasar

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

File data sampel tambahan

Filename Deskripsi
dataset-tiny.json Himpunan data dengan sejumlah kecil kueri uji dan evaluator.
dataset.json Himpunan data dengan semua jenis evaluator yang didukung dan kueri yang cukup untuk perhitungan interval keyakinan dan pengujian statistik.
dataset-builtin-evaluators.json Contoh evaluator Foundry terintegrasi (misalnya, koherensi, relevansi, kefasihan, keterkaitan, metrik).
dataset-openai-graders.json Contoh grader berbasis OpenAI (model label, model skor, kesamaan teks, pemeriksaan string).
dataset-custom-evaluators.json Contoh evaluator kustom dengan parameter evaluator.
dataset-data-mapping.json Contoh pemetaan data memperlihatkan cara mengambil alih pemetaan bidang otomatis dengan nama kolom data kustom.

Alur kerja evaluasi agen AI

Untuk menggunakan Tindakan GitHub, tambahkan Tindakan GitHub ke alur kerja CI/CD Anda. Tentukan kriteria pemicu, seperti pada penerapan, dan jalur file untuk memicu alur kerja otomatis Anda.

Tips

Untuk meminimalkan biaya, jangan jalankan evaluasi pada setiap penerapan.

Contoh ini menunjukkan bagaimana Anda dapat menjalankan Evaluasi Agen AI saat Membandingkan agen yang berbeda dengan menggunakan ID agen.

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

Output evaluasi agen AI

Hasil evaluasi dikirim ke bagian ringkasan untuk setiap GitHub Action Evaluasi AI yang dijalankan pada bagian Actions di GitHub. Laporan menunjukkan skor evaluasi untuk setiap metrik, interval keyakinan, dan — saat Anda mengevaluasi beberapa agen — perbandingan statistik berpasangan yang menunjukkan apakah perbedaan bermakna atau dalam variasi acak.

Cuplikan layar berikut menunjukkan contoh laporan yang membandingkan dua agen.

 Ringkasan alur kerja GitHub Actions memperlihatkan skor evaluasi agen dengan interval keyakinan dan perbandingan statistik berpasangan untuk dua agents.