GitHub Eyleminde değerlendirme çalıştırma (önizleme)

Önemli

Bu makalede önizleme olarak işaretlenmiş öğeler şu anda önizleme aşamasındadır. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve Microsoft üretim iş yükleri için bunu önermez. Bazı özellikler desteklenmeyebilir veya kısıtlı özelliklere sahip olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Uygun Kullanım Koşulları.

Bu GitHub Action, CI/CD işlem hatlarınızdaki Microsoft Foundry Agents'in çevrimdışı değerlendirilmesine olanak tanır. Çevrimdışı değerlendirme sürecini kolaylaştırdığından, üretimde bir güncelleştirme yayınlamadan önce olası sorunları belirleyebilir ve iyileştirmeler yapabilirsiniz.

Bu eylemi kullanmak için test sorguları ve değerlendirici listesi içeren bir veri kümesi sağlayın. Bu eylem sorgularla aracılarınızı çağırır, değerlendirmeleri çalıştırır ve bir özet raporu oluşturur.

Özellik

  • Agent Değerlendirmesi: CI/CD iş akışınızda Microsoft Foundry ajanlarının üretim öncesi değerlendirmesini otomatikleştirin.
  • Değerlendiriciler: “Foundry” değerlendirici kataloğundaki tüm değerlendiricileri kullanın.
  • İstatistiksel Analiz: Değerlendirme sonuçları, değişikliklerin anlamlı olup olmadığını ve rastgele varyasyondan kaynaklanmadığını saptamak için olasılık aralıklarını ve istatistiksel anlamlılık testini içerir.

Değerlendirici kategorileri

Önkoşullar

Ipucu

Kimlik doğrulaması için önerilen yol, Azure kaynaklarınıza güvenli bir şekilde bağlanmak için kullanabileceğiniz Microsoft Entra ID kullanmaktır. Azure Oturum açma GitHub eylemini kullanarak kimlik doğrulama işlemini otomatikleştirebilirsiniz. Daha fazla bilgi edinmek için OpenID Connect ile Azure Oturum Açma eylemi konusuna bakın.

Yapay zeka aracısı değerlendirmelerini ayarlama

Yapay zeka ajan değerlendirmesi girişi

Parametreler

Adı Gerekli? Açıklama
azure-ai-project-endpoint (Azure yapay zeka proje son noktası) Evet Microsoft Foundry Project'inin Uç Noktası. Bu değeri bulmak için, projenizi Dökümhane portalında açın ve Genel Bakış sayfasından uç noktayı kopyalayın.
dağıtım adı Evet Değerlendirme için kullanılacak Azure yapay zeka modeli dağıtımının adı. Foundry portalında Modeller + uç noktalar altında mevcut dağıtımları bulun.
veri yolu Evet Değerlendirmeler için değerlendiricileri ve giriş sorgularını içeren veri dosyasının yolu.
ajan-kimlikleri Evet Değerlendirilecek bir veya daha fazla aracının kimliği şu biçimde verilmelidir: agent-name:version (örneğin my-agent:1 veya my-agent:1,my-agent:2). Birden çok aracı virgülle ayrılır ve istatistiksel test sonuçlarıyla karşılaştırılır.
Temel-aracı-kimliği Hayır Birden çok ajan değerlendirilirken karşılaştırma yapmak için kullanılacak temel ajan kimliği. Sağlanmazsa, ilk aracı kullanılır.

Not

Aracı kimliğinizi ve sürümünüzü bulmak için, projenizi Foundry portalında açın, Aracılar'a gidin, aracınızı seçin ve ayrıntılar bölmesinden Aracı Kimliğini kopyalayın. Sürüm, dağıtım sürüm numarasıdır (örneğin, my-agent:1).

Veri dosyası

Giriş veri dosyası aşağıdaki yapıya sahip bir JSON dosyası olmalıdır:

Alan Türü Gerekli? Açıklama
Adı Dize Evet Değerlendirme veri kümesinin adı.
Değerlendiriciler string[] Evet Kullanılacak değerlendirici adlarının listesi. Foundry portalında projenizin değerlendirici kataloğundaki kullanılabilir değerlendiricilerin listesine göz atın: Değerlendirme Kataloğu Oluştur > Değerlendirici > kataloğu.
Veri object[] Evet query ve isteğe bağlı değerlendirici alanları, ground_truth, context gibi, olan giriş nesnelerinin dizisi. Değerlendiricilere otomatik olarak eşlenir; geçersiz kılmak için data_mapping kullanın.
openai_graders Nesne Hayır OpenAI tabanlı değerlendiriciler için yapılandırma (label_model, score_model, string_check vb.).
değerlendirici_parametreler Nesne Hayır Değerlendiriciye özgü başlatma parametreleri (örneğin, eşikler, özel ayarlar).
veri eşleme Nesne Hayır Özel veri alanı eşlemeleri (sağlanmazsa verilerden otomatik olarak oluşturulur).

Temel örnek veri dosyası

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

Ek örnek veri dosyaları

Dosyaadı Açıklama
dataset-tiny.json Az sayıda test sorgusu ve değerlendirici içeren veri kümesi.
dataset.json Tüm desteklenen değerlendirici türlerini ve güvenilirlik aralığı hesaplaması ve istatistiksel test için yeterli sorgu içeren veri kümesi.
dataset-builtin-evaluators.json Yerleşik Foundry değerlendiricileri örneği (örneğin tutarlılık, akıcılık, ilgi, temellilik, ölçümler).
dataset-openai-graders.json OpenAI tabanlı not verenler örneği (etiket modelleri, puan modelleri, metin benzerliği, dize denetimleri).
dataset-custom-evaluators.json Değerlendirici parametreleriyle özel değerlendirici örneği.
dataset-data-mapping.json Özel veri sütunu adlarıyla otomatik alan eşlemelerini geçersiz kılmayı gösteren veri eşleme örneği.

Yapay zeka aracısı değerlendirme iş akışı

GitHub Eylemini kullanmak için CI/CD iş akışlarınıza GitHub Eylemini ekleyin. Örneğin 'commit' işlemi gibi tetikleyici ölçütleri ve otomatik iş akışlarınızı tetikleyen dosya yollarını belirtin.

Ipucu

Maliyetleri en aza indirmek için her işlemede değerlendirme çalıştırmayın.

Bu örnek, farklı aracıların kimliklerini kullanarak Yapay Zeka Aracısı Değerlendirmesi'ni nasıl çalıştırabileceğinizi gösterir.

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

Yapay zeka temsilcisi değerlendirme çıktısı

Değerlendirme sonuçları, GitHub'da Actions altında çalıştırılacak her yapay zeka Değerlendirme GitHub Eyleminin özet bölümüne gönderilir. Rapor, her ölçüm için değerlendirme puanlarını, güvenilirlik aralıklarını ve birden çok aracıyı değerlendirirken farkların anlamlı mı yoksa rastgele varyasyon içinde mi olduğunu gösteren çift yönlü istatistiksel karşılaştırmayı gösterir.

Aşağıdaki ekran görüntüsü, iki ajanın karşılaştırıldığı örnek bir raporu göstermektedir.

 İki aracı için güvenilirlik aralıklarına ve çift yönlü istatistiksel karşılaştırmaya sahip aracı değerlendirme puanlarını gösteren GitHub Actions iş akışı özetinin ekran görüntüsü.