Köra molnutvärderingar med Microsoft Foundry SDK

Använd molnutvärderingar för att testa generativa AI-program i stor skala utan att hantera lokal beräkning. Den här artikeln konfigurerar den delade SDK-klienten och hjälper dig att välja ett arbetsflöde för fördistribution eller produktionsutvärdering.

Förutsättningar

  • Ett Foundry-projekt.

  • En Azure OpenAI-distribution med en GPT-modell som stöder chattens slutförande, till exempel gpt-5-mini.

  • Foundry-användarrollen i Foundry-projektet.

    Important

    Foundrys RBAC-roller har nyligen namnändrats. Foundry User, Foundry Owner, Foundry Account Owner och Foundry Project Manager hette tidigare Azure AI-användare, Azure AI-ägare, Azure AI-kontoägare och Azure AI Project Manager. Du kanske fortfarande ser de tidigare namnen på vissa platser medan namnbytet distribueras. Roll-ID:na och kärnbehörigheterna ändras inte av namnbytet.

  • Du kan också använda ditt eget lagringskonto för utvärderingsdata.

Vissa utvärderingsfunktioner har regionala begränsningar. Granska de regioner som stöds innan du börjar.

Konfigurera SDK-klienten

Installera SDK:t för ditt språk. Ange dessa delade miljövariabler:

  • AZURE_AI_PROJECT_ENDPOINT: Slutpunkten för Foundry-projektet, till exempel https://<account_name>.services.ai.azure.com/api/projects/<project_name>.
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: Modellimplementeringen som används av AI-stödda utvärderare.
  • DATASET_NAME och DATASET_VERSION: Valfria värden för återanvändbara datauppsättningar.

Autentisera med DefaultAzureCredential, skapa projektklienten och hämta OpenAI-klienten som används av utvärderings-API:et.

pip install "azure-ai-projects>=2.2.0"
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import TestingCriterionAzureAIEvaluator
from openai.types.eval_create_params import DataSourceConfigCustom
from openai.types.evals.create_eval_jsonl_run_data_source_param import (
    CreateEvalJSONLRunDataSourceParam,
    SourceFileContent,
    SourceFileContentContent,
    SourceFileID,
)

endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]
model_deployment_name = os.environ.get(
    "AZURE_AI_MODEL_DEPLOYMENT_NAME", ""
)
dataset_name = os.environ.get("DATASET_NAME", "")
dataset_version = os.environ.get("DATASET_VERSION", "1")

project_client = AIProjectClient(
    endpoint=endpoint,
    credential=DefaultAzureCredential(),
)
openai_client = project_client.get_openai_client()

Information om hur du använder en modell som är ansluten via administratörsanslutningar som mål, domarmodell eller konversationssimulator finns i Använda administratörsanslutna modeller i molnutvärderingar.

Förstå utvärderingsarbetsflödet

En molnutvärdering har tre steg:

  1. Definiera dataformen och utvärderarna som bedömer den.
  2. Skapa utvärderingen med openai_client.evals.create().
  3. Starta en körning med openai_client.evals.runs.create(), avsök tills den har slutförts och hämta de poängsatta resultaten.

Molnutvärderingsresultat lagras i ditt Foundry-projekt. Du kan hämta dem via SDK:t, granska dem i portalen eller dirigera dem till Application Insights när det är anslutet.

Välj utvärderare

Utvärderare binder till fält i dina data via kolumnmappningar. Datauppsättningsarbetsflöden exponerar objektfält, medan målgenererade arbetsflöden även exponerar modellen eller agentens utdata via exempelschemat.

Granska de inbyggda utvärderarna och de anpassade utvärderarna innan du konfigurerar testkriterier.

Välj startpunkt

Utgångspunkt Workflow
Du har JSONL- eller CSV-testdata med frågor och svar. Utvärdera datauppsättningar i molnet
Du har frågor och vill att en modell eller agent ska generera svar. Utvärdera modeller och agenter i molnet
Du har distribuerat en modell eller agent med Application Insights-spårningar. Utvärdera distribuerade agent- och modellinteraktioner
Du har fullständiga konversationsdata eller produktionskonversationsspårningar. Utvärdera konversationer i molnet
Du behöver syntetiska frågor eller simulerade konversationer. Generera syntetiska data
Du behöver kontrollera statusen för, tolka, avbryta eller felsöka en körning. Hämta resultat för molnutvärdering

Använd AI-röd teamindelning för adversariell säkerhetstestning. Information om hur du skapar en fristående datauppsättning finns i Generera en syntetisk utvärderingsdatauppsättning.