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.
Senden Sie Testabfragen an bereitgestellte Modelle, Prompt-Agenten oder gehostete Agenten und bewerten Sie die zur Laufzeit generierten Antworten.
Voraussetzungen
- Führen Sie die Voraussetzungen für die Cloudbewertung und die Clienteinrichtung durch.
- Ein JSONL- oder CSV-Dataset von Eingabeabfragen.
- Ein bereitgestelltes Modell, ein Prompt-Agent oder ein gehosteter Agent zur Verwendung als Ziel.
In den Beispielen wird der in SDK-Client einrichten konfigurierte SDK-Client verwendet.
Auswerten eines Modellziels
Senden von Abfragen an ein bereitgestelltes Modell zur Laufzeit. Bewerten Sie die Antworten mithilfe des azure_ai_target_completions Datenquellentyps mit einem azure_ai_model Ziel. Ihre Eingabedaten enthalten Abfragen. Das Modell generiert Antworten, die Sie dann auswerten.
Important
Bevor Sie beginnen, schließen Sie die Client-Einrichtung ab und bereiten Sie die Eingabedaten vor.
Note
Sie können den Modellrouter als Zielmodell verwenden. Der Modellrouter wird nur als Auswertungsziel unterstützt. Es kann nicht als Modell für andere Auswertungsfeatures ausgewählt werden.
Nachrichtenvorlage und Ziel definieren
Die input_messages Vorlage steuert, wie Abfragen an das Modell gesendet werden. Verwenden Sie {{item.query}}, um auf Felder aus Ihren Eingabedaten zu verweisen. Geben Sie das Modell an, das ausgewertet werden soll, und optionale Samplingparameter:
input_messages = {
"type": "template",
"template": [
{
"type": "message",
"role": "user",
"content": {
"type": "input_text",
"text": "{{item.query}}"
}
}
]
}
target = {
"type": "azure_ai_model",
"model": "gpt-5-mini",
"sampling_params": {
"top_p": 1.0,
"max_completion_tokens": 2048,
},
}
Einrichten von Evaluatoren und Datenzuordnungen
Wenn das Modell zur Laufzeit Antworten generiert, verwenden Sie {{sample.output_text}} in data_mapping, um auf die Ausgabe des Modells zu verweisen. Verwenden Sie {{item.field}}, um auf Felder aus Ihren Eingabedaten zu verweisen.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
include_sample_schema=True,
)
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
eval_object = openai_client.evals.create(
name="Model Target Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="model-target-evaluation",
data_source=data_source,
)
Ein vollständiges Runnable-Beispiel finden Sie unter sample_model_evaluation.py auf GitHub. Informationen zum Abfragen des Abschlussstatus und zum Interpretieren der Ergebnisse finden Sie unter Ergebnisse der Cloudauswertung abrufen.
Tipp
Wenn Sie eine weitere Auswertungsausführung hinzufügen möchten, verwenden Sie denselben Code.
Agentziel bewerten
Senden Sie Abfragen zur Laufzeit an einen Foundry-Agent, und bewerten Sie die Antworten mithilfe des azure_ai_target_completions Datenquellentyps mit einem azure_ai_agent Ziel. Dieses Szenario funktioniert sowohl für Eingabeaufforderungs-Agents als auch für gehostete Agents.
Important
Bevor Sie beginnen, schließen Sie die Client-Einrichtung ab und bereiten Sie die Eingabedaten vor.
Tipp
Gehostete Agents, die das Antwortprotokoll verwenden, funktionieren mit den hier gezeigten Codebeispielen. Bei gehosteten Agents, die das Aufrufprotokoll verwenden, unterscheidet sich das input_messages Format. Ausführliche Informationen finden Sie im Protokoll für Aufrufe des gehosteten Agents .
Nachrichtenvorlage und Ziel definieren
Die input_messages Vorlage steuert, wie Abfragen an den Agent gesendet werden. Verwenden Sie {{item.query}}, um auf Felder aus Ihren Eingabedaten zu verweisen. Geben Sie den Agent an, der anhand des Namens ausgewertet werden soll:
input_messages = {
"type": "template",
"template": [
{
"type": "message",
"role": "developer",
"content": {
"type": "input_text",
"text": "You are a helpful assistant. Answer clearly and safely."
}
},
{
"type": "message",
"role": "user",
"content": {
"type": "input_text",
"text": "{{item.query}}"
}
}
]
}
target = {
"type": "azure_ai_agent",
"name": "my-agent",
"version": "1" # Optional. Uses latest version if omitted.
}
Einrichten von Evaluatoren und Datenzuordnungen
Wenn der Agent zur Laufzeit Antworten generiert, verwenden Sie die Variablen {{sample.*}} in data_mapping, um auf die Ausgabe des Agenten zu verweisen.
| Variable | Description | Verwendung für |
|---|---|---|
{{sample.output_text}} |
Die Nur-Text-Antwort des Agents. | Evaluatoren, die eine Zeichenfolgenantwort erwarten (z. B coherence. , violence). |
{{sample.output_items}} |
Die strukturierte JSON-Ausgabe des Agents, einschließlich Toolaufrufen. | Auswerter, die den vollständigen Interaktionskontext benötigen (z. B. task_adherence). |
{{item.field}} |
Ein Feld aus Ihren Eingabedaten. | Eingabefelder wie query oder ground_truth. |
Tipp
Das query Feld kann strukturierte JSON enthalten, einschließlich Systemnachrichten und Unterhaltungsverlauf. Einige Agentenbewertungsprogramme wie task_adherence verwenden diesen Kontext für eine genauere Bewertung. Ausführliche Informationen zur Abfrageformatierung finden Sie unter Agent-Evaluatoren.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
include_sample_schema=True,
)
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}}",
},
),
TestingCriterionAzureAIEvaluator(
type="azure_ai_evaluator",
name="task_adherence",
evaluator_name="builtin.task_adherence",
initialization_parameters={"model": model_deployment_name},
data_mapping={
"query": "{{item.query}}",
"response": "{{sample.output_items}}",
},
),
]
Auswertung erstellen und ausführen
eval_object = openai_client.evals.create(
name="Agent Target Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
agent_eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="agent-target-evaluation",
data_source=data_source,
)
Ein vollständiges runnables Beispiel finden Sie unter sample_agent_evaluation.py auf GitHub. Informationen zum Abfragen des Abschlussstatus und zum Interpretieren der Ergebnisse finden Sie unter Ergebnisse der Cloudauswertung abrufen.
Protokoll für Aufrufe des gehosteten Agents
Gehostete Agents , die das Aufrufprotokoll verwenden, unterstützen denselben azure_ai_agent Zieltyp, verwenden jedoch ein Freihandformformat input_messages . Stellen Sie anstelle des strukturierten Vorlagenformats ein JSON-Objekt bereit, das dem Anforderungstext des /invocations Agents direkt zugeordnet wird. Verwenden Sie {{item.*}} Platzhalter, um Felder aus Ihren Eingabedaten zu ersetzen.
Wenn ein gehosteter Agent sowohl die Antworten als auch Aufrufprotokolle unterstützt, verwendet der Dienst standardmäßig das Aufrufprotokoll.
Definieren des Nachrichtenformats und des Ziels
input_messages = {"message": "{{item.query}}"}
target = {
"type": "azure_ai_agent",
"name": "my-hosted-agent", # Replace with your hosted agent name
"version": "1",
}
Auswertung erstellen und ausführen
eval_object = openai_client.evals.create(
name="Hosted Agent Invocations Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="hosted-agent-invocations-evaluation",
data_source=data_source,
)
Die Einrichtung des Evaluators und die Datenzuordnungen sind identisch mit der Auswertung des Prompt-Agents. Verwenden Sie {{sample.output_text}} für die Textantwort des Agents und {{sample.output_items}} für die vollständige strukturierte Ausgabe, einschließlich der Toolanrufe.