Inleiding tot cloudevaluatie met Microsoft Foundry SDK

Gebruik cloudevaluaties om generatieve AI-toepassingen op schaal te testen zonder lokale rekenkracht te beheren. In dit artikel wordt de gedeelde SDK-client ingesteld en kunt u een werkstroom kiezen voor predeployment of productie-evaluatie.

Prerequisites

  • Een Gieterij-project.

  • Een Azure OpenAI-implementatie met een GPT-model dat ondersteuning biedt voor het voltooien van chats, zoals gpt-5-mini.

  • De rol Foundry User in het Foundry-project.

    Important

    De rollen Foundry RBAC zijn onlangs hernoemd. Foundry User, Foundry Owner, Foundry Account Owner en Foundry Project Manager zijn eerder benoemd Azure AI-gebruiker, Azure AI-eigenaar Azure AI-accounteigenaar en Azure AI Project Manager. Het kan zijn dat u op sommige plekken nog steeds de vorige namen ziet terwijl de naamswijziging wordt doorgevoerd. De rol-id's en basismachtigingen worden niet gewijzigd door de naamswijziging.

  • Eventueel uw eigen opslagaccount voor evaluatiegegevens.

Sommige evaluatiefuncties hebben regionale beperkingen. Bekijk de ondersteunde regio's voordat u begint.

Stel de SDK-client in

Installeer de SDK voor uw taal. Stel deze gedeelde omgevingsvariabelen in:

  • AZURE_AI_PROJECT_ENDPOINT: Uw Foundry-projecteindpunt, bijvoorbeeld https://<account_name>.services.ai.azure.com/api/projects/<project_name>.
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: De modelimplementatie die wordt gebruikt door AI-ondersteunde evaluators.
  • DATASET_NAME en DATASET_VERSION: Optionele waarden voor herbruikbare gegevenssets.

Verifieer met DefaultAzureCredential, maak de projectclient en haal de OpenAI-client op die wordt gebruikt door de evaluatie-API.

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()

Als u een model wilt gebruiken dat is verbonden via beheerdersverbindingen als doel, rechtermodel of gesprekssimulator, raadpleegt u Verbonden modellen met beheerders gebruiken in cloudevaluaties.

De evaluatiewerkstroom begrijpen

Een cloudevaluatie heeft drie stappen:

  1. Definieer de gegevensstructuur en de evaluatoren die deze beoordelen.
  2. Maak de evaluatie met openai_client.evals.create().
  3. Start een uitvoering met openai_client.evals.runs.create(), poll totdat deze is voltooid en haal de gescoorde resultaten op.

Resultaten van cloudevaluatie worden opgeslagen in uw Foundry-project. U kunt ze ophalen via de SDK, deze bekijken in de portal of deze routeren naar Application Insights wanneer deze is verbonden.

Evaluators kiezen

Evaluators worden via kolomtoewijzingen gekoppeld aan velden in uw gegevens. Datasetworkflows stellen itemvelden beschikbaar, terwijl doelgegenereerde workflows ook de uitvoer van het model of de agent beschikbaar stellen via het sampleschema.

Controleer de ingebouwde evaluators en aangepaste evaluators voordat u testcriteria configureert.

Uw beginpunt kiezen

Evaluatie-eenheid Beginpunt Workflow
Individuele beurt U hebt JSONL- of CSV-testgegevens met een query en antwoord. Datasets voor query-antwoorden evalueren
Afzonderlijke beurt U hebt query's en u wilt dat een model of agent antwoorden genereert. Model- en agentreacties evalueren
Individuele rotatie U hebt reacties of traceringen opgeslagen van afzonderlijke interacties met een geïmplementeerd model of agent. Geïmplementeerde model- en agentinteracties evalueren
Afzonderlijke beurt U moet synthetische zoekopdrachten genereren. Synthetische query's genereren
Gesprek voltooien U hebt een gegevensset met volledige gesprekken. Conversatiedatasets evalueren
Gesprek voltooien U heeft traces die volledige gesprekken met een uitgerold model of een agent vastleggen. Geïmplementeerde model- en agentgesprekken evalueren
Gesprek voltooien U moet gesimuleerde agentgesprekken genereren en evalueren. Agentgesprekken simuleren
Elke evaluatie-eenheid U moet een run opvragen, interpreteren, annuleren of problemen met een run oplossen. Evaluatieresultaten ophalen

Gebruik AI red-teaming voor adversarial safety testing. Zie Een synthetische evaluatiegegevensset genereren om een zelfstandige gegevensset te maken.