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.
Important
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 Zusätzliche Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.
Generieren Sie einzelne Testabfragen, senden Sie sie an ein Modell- oder Agentziel, und bewerten Sie die Zielantworten.
Voraussetzungen
- Schließen Sie die Voraussetzungen für die Cloudbewertung und die -Clienteinrichtung ab.
- Eine Modellbereitstellung, die die Responses-API zur Abfragegenerierung unterstützt.
- Ein Modell- oder Agentziel, das ausgewertet werden soll.
In den Beispielen wird der in SDK-Client einrichten konfigurierte SDK-Client verwendet.
Generieren synthetischer Abfragen
Verwenden Sie den azure_ai_synthetic_data_gen_preview Datenquellentyp, um synthetische Testabfragen zu generieren, sie an ein bereitgestelltes Modell oder einen Foundry-Agent zu senden und die Antworten auszuwerten. Verwenden Sie dieses Szenario, wenn Sie nicht über ein Testdatenset verfügen. Der Dienst generiert Abfragen basierend auf einer Eingabeaufforderung, die Sie bereitstellen (und/oder aus den Anweisungen des Agents), führt sie für Ihr Ziel aus und wertet die Antworten aus.
Important
Bevor Sie beginnen, schließen Sie die Clienteinrichtung ab.
Funktionsweise der synthetischen Datenauswertung
- Der Dienst generiert synthetische Abfragen basierend auf Ihren
promptund optionalen Seed-Datendateien. - Jede Abfrage wird an das angegebene Ziel (Modell oder Agent) gesendet, um eine Antwort zu generieren.
- Evaluatoren bewerten jede Antwort mithilfe der generierten Abfrage und Antwort.
- Die generierten Abfragen werden als Dataset in Ihrem Projekt zur Wiederverwendung gespeichert.
Parameters
| Parameter | Erforderlich | Description |
|---|---|---|
samples_count |
Ja | Maximale Anzahl synthetischer Testabfragen, die generiert werden sollen. |
model_deployment_name |
Ja | Einsatz des Modells zur Generierung synthetischer Abfragen. Es werden nur Modelle mit der Antwort-API-Funktion unterstützt. Verfügbarkeit finden Sie unter Verfügbarkeit der Response-API in verschiedenen Regionen. Der Modellrouter wird hier nicht unterstützt; sie kann nur als Auswertungsziel verwendet werden. |
prompt |
Nein | Anweisungen zur Beschreibung des Typs der zu generierenden Abfragen. Optional, wenn für das Ziel des Agents Anweisungen konfiguriert wurden. |
output_dataset_name |
Nein | Name für das Ausgabe-Dataset, in dem generierte Abfragen gespeichert werden. Wenn Sie keinen Namen angeben, generiert der Dienst automatisch einen. |
sources |
Nein | Seed-Datendateien (nach Datei-ID), um die Relevanz generierter Abfragen zu verbessern. Derzeit wird nur eine Datei unterstützt. |
Einrichten von Evaluatoren und Datenzuordnungen
Der Generator für synthetische Daten erzeugt Abfragen im {{item.query}} Feld. Das Zielobjekt generiert Antworten, die in {{sample.output_text}} verfügbar sind. Ordnen Sie diese Felder Ihren Evaluatoren zu:
from azure.ai.projects.models import TestingCriterionAzureAIEvaluator
data_source_config = {"type": "azure_ai_source", "scenario": "synthetic_data_gen_preview"}
testing_criteria = [
TestingCriterionAzureAIEvaluator(
type="azure_ai_evaluator",
name="coherence",
evaluator_name="builtin.coherence",
initialization_parameters={"model": model_deployment_name},
data_mapping={
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
),
TestingCriterionAzureAIEvaluator(
type="azure_ai_evaluator",
name="violence",
evaluator_name="builtin.violence",
data_mapping={
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
),
]
Auswertung erstellen und ausführen
Modellziel
Generieren von synthetischen Abfragen und Auswerten eines Modells:
eval_object = openai_client.evals.create(
name="Synthetic Data Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
"output_dataset_name": "my-synthetic-dataset",
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
}
eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-data-evaluation",
data_source=data_source,
)
Optional können Sie eine Systemaufforderung hinzufügen, um das Verhalten des Zielmodells zu gestalten. Wenn Sie input_messages mit der Generierung synthetischer Daten verwenden, fügen Sie nur Nachrichten der Rolle system hinzu – der Dienst stellt die generierten Abfragen automatisch als Benutzernachrichten bereit.
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
"input_messages": {
"type": "template",
"template": [
{
"type": "message",
"role": "system",
"content": {
"type": "input_text",
"text": "You are a helpful customer service agent. Be empathetic and solution-oriented."
}
}
]
},
}
Ziel des Agenten
Generieren Sie synthetische Abfragen, und bewerten Sie einen Foundry-Agent:
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_agent",
"name": agent_name,
"version": agent_version,
},
}
eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-agent-evaluation",
data_source=data_source,
)
Um den Abschlussstatus abzufragen und die Ergebnisse zu interpretieren, siehe Cloudauswertungsergebnisse abrufen. Die Antwort enthält eine output_dataset_id Eigenschaft, die die ID des generierten Datasets enthält, mit der Sie die synthetischen Daten abrufen oder wiederverwenden können.
Vollständige ausführungsfähige Beispiele finden Sie unter sample_synthetic_data_agent_evaluation.py und sample_synthetic_data_model_evaluation.py zu GitHub.