From 7c759910421335192772b827fe120833b2594db8 Mon Sep 17 00:00:00 2001 From: salma-elshafey Date: Wed, 28 Jan 2026 12:16:19 +0200 Subject: [PATCH 1/2] Fix argument type in agent response reformatting --- .../azure/ai/evaluation/_common/utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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..587a623a4c6c 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 @@ -709,6 +709,13 @@ def reformat_conversation_history(query, logger=None, include_system_messages=Fa logger.warning(f"Conversation history could not be parsed, falling back to original query: {query}") 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.""" @@ -743,7 +750,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: From e7291a50747e3fb99b1bce06caaf27feb11a4003 Mon Sep 17 00:00:00 2001 From: salma-elshafey Date: Wed, 28 Jan 2026 12:50:59 +0200 Subject: [PATCH 2/2] Black --- .../azure/ai/evaluation/_common/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 587a623a4c6c..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 @@ -709,14 +709,16 @@ def reformat_conversation_history(query, logger=None, include_system_messages=Fa logger.warning(f"Conversation history could not be parsed, falling back to original query: {query}") return query + def _format_value(v): if isinstance(v, str): return f'"{v}"' elif v is None: - return '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 = [] @@ -750,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}={_format_value(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: