Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieses Dokument bezieht sich auf das Microsoft Foundry(klassische) Portal.
🔍 Zeigen Sie die Microsoft Foundry-Dokumentation (neu) an, um mehr über das neue Portal zu erfahren.
Von Bedeutung
Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
In diesem Artikel erfahren Sie, wie Sie Auswertungen in der Cloud (Vorschau) für Vorabbereitstellungstests für ein Test-Dataset ausführen. Mit dem Azure AI Evaluation SDK können Sie Auswertungen lokal auf Ihrem Computer und in der Cloud ausführen. Führen Sie beispielsweise lokale Auswertungen für kleine Testdaten aus, um Ihre generativen KI-Anwendungsprototypen zu bewerten, und wechseln Sie dann zu Vorabbereitstellungstests, um Auswertungen für ein großes Dataset auszuführen.
Verwenden Sie Cloud-Auswertungen für die meisten Szenarien – insbesondere bei groß angelegten Tests, der Integration von Bewertungen in kontinuierliche Integrations- und Bereitstellungspipelines (CI/CD) oder der Durchführung von Vorabbereitstellungstests. Das Ausführen von Auswertungen in der Cloud macht es nicht erforderlich, die lokale Computeinfrastruktur zu verwalten und unterstützt umfangreiche, automatisierte Testworkflows. Nach der Bereitstellung können Sie Ihre Agents im Rahmen der Überwachung nach der Bereitstellung kontinuierlich auswerten.
Wenn Sie das Foundry SDK verwenden, protokolliert es die Ergebnisse der Auswertung in Ihrem Foundry-Projekt für eine bessere Sichtbarkeit. Dieses Feature unterstützt alle von Microsoft kuratierten integrierten Bewertungen. und Ihre eigenen benutzerdefinierten Evaluatoren. Ihre Evaluatoren können in der Evaluator-Bibliothek lokalisiert werden und besitzen denselben projekt-umfassenden, rollenbasierten Zugriffskontrolle.
Voraussetzungen
- Eine Foundry-Projekt.
- Eine Azure OpenAI-Bereitstellung mit einem GPT-Modell, das den Chatabschluss unterstützt (z. B.
gpt-5-mini). - Azure AI-Benutzer Rolle im Foundry-Projekt.
- Optionalerweise können Sie Ihr eigenes Speicherkonto verwenden, um Auswertungen auszuführen.
Hinweis
Einige Auswertungsfeatures weisen regionale Einschränkungen auf. Weitere Informationen finden Sie unter supported regions.
Loslegen
Installieren Sie das Microsoft Foundry SDK project Client, um Auswertungen in der Cloud auszuführen:
pip install azure-ai-projects azure-identityFestlegen von Umgebungsvariablen für Ihre Foundry-Ressourcen:
import os # Required environment variables: endpoint = os.environ["PROJECT_ENDPOINT"] # https://<account>.services.ai.azure.com/api/projects/<project> model_endpoint = os.environ["MODEL_ENDPOINT"] # https://<account>.services.ai.azure.com model_api_key = os.environ["MODEL_API_KEY"] model_deployment_name = os.environ["MODEL_DEPLOYMENT_NAME"] # E.g. gpt-5-mini # Optional: Reuse an existing dataset. dataset_name = os.environ.get("DATASET_NAME", "dataset-test") dataset_version = os.environ.get("DATASET_VERSION", "1.0")Definieren Sie einen Client zum Ausführen von Auswertungen in der Cloud:
import os from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient # Create the project client (Foundry project and credentials): project_client = AIProjectClient( endpoint=endpoint, credential=DefaultAzureCredential(), )
Vorbereiten von Eingabedaten
# Upload a local JSONL file. Skip this step if you already have a dataset registered.
data_id = project_client.datasets.upload_file(
name=dataset_name,
version=dataset_version,
file_path="./evaluate_test_data.jsonl",
).id
Weitere Informationen zu Eingabedatenformaten für die Auswertung von generativen KI-Anwendungen finden Sie unter:
Weitere Informationen zu Eingabedatenformaten für die Auswertung von Agents finden Sie unter Evaluieren Azure KI-Agents und Evaluieren anderer Agents.
Angeben von Evaluatoren
from azure.ai.projects.models import (
EvaluatorConfiguration,
EvaluatorIds,
)
# Built-in evaluator configurations:
evaluators = {
"relevance": EvaluatorConfiguration(
id=EvaluatorIds.RELEVANCE.value,
init_params={"deployment_name": model_deployment_name},
data_mapping={
"query": "${data.query}",
"response": "${data.response}",
},
),
"violence": EvaluatorConfiguration(
id=EvaluatorIds.VIOLENCE.value,
init_params={"azure_ai_project": endpoint},
),
"bleu_score": EvaluatorConfiguration(
id=EvaluatorIds.BLEU_SCORE.value,
),
}
Erstellen einer Auswertung
Übermitteln Sie schließlich die Remoteauswertungsausführung:
from azure.ai.projects.models import (
Evaluation,
InputDataset
)
# Create an evaluation with the dataset and evaluators specified.
evaluation = Evaluation(
display_name="Cloud evaluation",
description="Evaluation of dataset",
data=InputDataset(id=data_id),
evaluators=evaluators,
)
# Run the evaluation.
evaluation_response = project_client.evaluations.create(
evaluation,
headers={
"model-endpoint": model_endpoint,
"api-key": model_api_key,
},
)
print("Created evaluation:", evaluation_response.name)
print("Status:", evaluation_response.status)
Angeben von benutzerdefinierten Bewertern
Hinweis
Foundry-Projekte werden für dieses Feature nicht unterstützt. Verwenden Sie stattdessen ein Foundry-Hub-Projekt.
Codebasierte benutzerdefinierte Bewerter
Registrieren Sie Ihre benutzerdefinierten Bewerter für Ihre Azure AI Hub-project, und rufen Sie die Evaluator-IDs ab:
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Model
from promptflow.client import PFClient
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# Load the evaluator from the module.
from answer_len.answer_length import AnswerLengthEvaluator
# Convert it to an evaluation flow, and save it locally.
pf_client = PFClient()
local_path = "answer_len_local"
pf_client.flows.save(entry=AnswerLengthEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "AnswerLenEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="Evaluator calculating answer length.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
Nachdem Sie Ihren benutzerdefinierten Evaluator registriert haben, zeigen Sie ihn im Evaluator-Katalog an. Wählen Sie in Ihrem Foundry-Projekt Auswertung und dann Evaluatorkatalog aus.
Promptbasierte benutzerdefinierte Auswertungen
Folgen Sie dem Beispiel, um einen benutzerdefinierten FriendlinessEvaluator-Build zu registrieren, wie in Promptbasierte Auswertungen beschrieben:
# Import your prompt-based custom evaluator.
from friendliness.friend import FriendlinessEvaluator
# Define your deployment.
model_config = dict(
azure_endpoint=os.environ.get("AZURE_ENDPOINT"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
api_key=os.environ.get("AZURE_API_KEY"),
type="azure_openai"
)
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# # Convert the evaluator to evaluation flow and save it locally.
local_path = "friendliness_local"
pf_client = PFClient()
pf_client.flows.save(entry=FriendlinessEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "FriendlinessEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="prompt-based evaluator measuring response friendliness.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
Nachdem Sie Ihren benutzerdefinierten Evaluator registriert haben, können Sie ihn im Evaluator-Katalog anzeigen. Wählen Sie in Ihrem Foundry-Projekt Auswertung und dann den Evaluatorkatalog aus.
Ergebnisse abrufen
Problembehandlung
Verwandte Inhalte
- Bewerten Sie Ihre generativen KI-Anwendungen lokal
- Überwachen Ihrer generativen KI-Anwendungen
- Informationen zum Simulieren von Testdatensätzen für die Auswertung
- Anzeigen von Auswertungsergebnissen im Gießereiportal
- Einführung mit Foundry
- Beginnen Sie mit Evaluierungsbeispielen
- REST-API-Referenzdokumentation