diff --git a/sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_common/utils.py b/sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_common/utils.py index d02b82741daf..e5a37782036a 100644 --- a/sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_common/utils.py +++ b/sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_common/utils.py @@ -710,6 +710,15 @@ def reformat_conversation_history(query, logger=None, include_system_messages=Fa return query +def _format_value(v): + if isinstance(v, str): + return f'"{v}"' + elif v is None: + return "None" + else: + return str(v) + + def _get_agent_response(agent_response_msgs, include_tool_messages=False): """Extracts formatted agent response including text, and optionally tool calls/results.""" agent_response_text = [] @@ -743,7 +752,7 @@ def _get_agent_response(agent_response_msgs, include_tool_messages=False): tool_call_id = content.get("tool_call_id") func_name = content.get("name", "") args = content.get("arguments", {}) - args_str = ", ".join(f'{k}="{v}"' for k, v in args.items()) + args_str = ", ".join(f"{k}={_format_value(v)}" for k, v in args.items()) call_line = f"[TOOL_CALL] {func_name}({args_str})" agent_response_text.append(call_line) if tool_call_id in tool_results: