A unified Azure platform for creating and managing AI models, agents, and applications with built‑in enterprise security, monitoring, and governance
For agent evaluation in Microsoft Foundry, the dataset must contain the fields that the selected evaluator expects, and those fields must be mapped in the UI.
For individual turn evaluations, these fields are supported:
-
query— required -
response— required -
context— optional -
ground_truth— optional -
tool_calls— optional -
tool_definitions— optional
For conversation evaluations, these fields are required:
-
messages -
tool_definitions
How to provide tool data in the dataset:
- Add a
tool_definitionsfield to each dataset row when the evaluator needs tool information. - Add a
tool_callsfield when the evaluator supports or requires tool call data. - The dataset field names can be any names, but the mapping must point to the correct column using
{{item.field_name}}syntax.
How to map in Foundry UI:
- In the evaluation creation flow, go to Configure field mapping.
- If Foundry does not auto-map a field, it appears as Unassigned.
- Use the dropdown for each required evaluator input and select the dataset column that contains that data.
- Required fields marked with
*must be assigned, or the evaluator fails.
Evaluator requirements for tool-related agent testing:
- Tool Call Accuracy: requires either
-
query,response,tool_definitions, or -
query,tool_calls,tool_definitions
-
- Tool Selection: requires either
-
query,response,tool_definitions, or -
query,tool_calls,tool_definitions
-
- Tool Input Accuracy: requires
query,response,tool_definitions - Tool Output Utilization: requires
query,response,tool_definitions - Tool Call Success: requires
response
Important detail for the UI shown in the screenshot:
-
{{sample.tool_calls}}and{{sample.tool_definitions}}are not dataset fields. - Dataset field mapping uses
{{item.field_name}}. -
{{sample.output_items}}is used for the agent’s structured output in evaluator configuration scenarios that need full interaction context. -
{{sample.output_text}}is used when an evaluator expects plain text response.
Recommended dataset shape for agent testing:
{"query":"What's the weather in Seattle?","response":"The weather in Seattle is rainy, 14°C.","tool_definitions":[{"type":"function","function":{"name":"get_weather","description":"Get weather by city"}}],"tool_calls":[{"name":"get_weather","arguments":"{\"city\":\"Seattle\"}"}]}
If the dataset uses different column names, map them explicitly. Example:
- dataset column
question_text→queryusing{{item.question_text}} - dataset column
answer_text→responseusing{{item.answer_text}} - dataset column
tools→tool_definitionsusing{{item.tools}} - dataset column
calls→tool_callsusing{{item.calls}}
If testing multi-turn conversations, use:
-
messages -
tool_definitions
If testing single-turn agent evaluators, use query and response at minimum, then add tool_definitions and tool_calls based on the evaluator selected.