diff --git a/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/agent/AgentUtils.java b/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/agent/AgentUtils.java index bbe199ca69..d8f8d6da94 100644 --- a/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/agent/AgentUtils.java +++ b/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/agent/AgentUtils.java @@ -480,6 +480,10 @@ public static Map constructToolParams( StringSubstitutor substitutor = new StringSubstitutor(toolParams, "${parameters.", "}"); input = substitutor.replace(input); toolParams.put("input", input); + if (isJson(input)) { + Map params = getParameterMap(gson.fromJson(input, Map.class)); + toolParams.putAll(params); + } } else { toolParams.put("input", actionInput); if (isJson(actionInput)) {