diff --git a/src/main/java/org/opensearch/flowframework/workflow/RegisterAgentStep.java b/src/main/java/org/opensearch/flowframework/workflow/RegisterAgentStep.java index 88c013253..cebdfa382 100644 --- a/src/main/java/org/opensearch/flowframework/workflow/RegisterAgentStep.java +++ b/src/main/java/org/opensearch/flowframework/workflow/RegisterAgentStep.java @@ -194,12 +194,16 @@ public void onFailure(Exception e) { if (description != null) { builder.description(description); } + if (memory != null) { + builder.memory(memory); + } + if (llmSpec != null) { + builder.llm(llmSpec); + } builder.type(type) - .llm(llmSpec) .tools(toolsList) .parameters(parameters) - .memory(memory) .createdTime(createdTime) .lastUpdateTime(lastUpdateTime) .appType(appType); @@ -264,10 +268,7 @@ private String getLlmModelId(Map previousNodeInputs, Map llmParameters, String workflowId, String currentNodeId) { if (llmModelId == null) { - throw new FlowFrameworkException( - "model id for llm is null for workflow: " + workflowId + " on node: " + currentNodeId, - RestStatus.BAD_REQUEST - ); + return null; } LLMSpec.LLMSpecBuilder builder = LLMSpec.builder(); builder.modelId(llmModelId); @@ -279,6 +280,9 @@ private LLMSpec getLLMSpec(String llmModelId, Map llmParameters, } private MLMemorySpec getMLMemorySpec(Object mlMemory) { + if (mlMemory == null) { + return null; + } Map map = (Map) mlMemory; String type = null;