From 846ce5d8a730e99d4207d06297b321a4a85905bb Mon Sep 17 00:00:00 2001 From: Owais Kazi Date: Wed, 29 Nov 2023 19:34:57 -0800 Subject: [PATCH] [Feature/agent_framework] Registers a single agent with multiple tools (#198) * Initial register agent workflow step Signed-off-by: Owais Kazi * Added tools step Signed-off-by: Owais Kazi * Fixed ClassCastException Signed-off-by: Owais Kazi * Handled exception for Instant Signed-off-by: Owais Kazi * Added type Instant for WorklowNode Parser Signed-off-by: Owais Kazi * Removed created and last updated time Signed-off-by: Owais Kazi * Addressed parsing error Signed-off-by: Owais Kazi * Handled parsing of Long values for Instant Signed-off-by: Owais Kazi * Handled nested object for llm key Signed-off-by: Owais Kazi * Handled parsing error Signed-off-by: Owais Kazi * Another attempt to fix parsing error for llm Signed-off-by: Owais Kazi * Another attemp to fix XContent Signed-off-by: Owais Kazi * Fixed Parsing error Signed-off-by: Owais Kazi * Added tests for toolstep and javadocs Signed-off-by: Owais Kazi * Undo CI changes Signed-off-by: Owais Kazi * Addressing PR comments Signed-off-by: Owais Kazi * Addressing PR comments Signed-off-by: Owais Kazi * Handled interface changes Signed-off-by: Owais Kazi * Addressed conflicts Signed-off-by: Owais Kazi * Added TODO Signed-off-by: Owais Kazi --------- Signed-off-by: Owais Kazi --- build.gradle | 1 + .../resources/mappings/workflow-steps.json | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/build.gradle b/build.gradle index 7246996b3..648aea5c7 100644 --- a/build.gradle +++ b/build.gradle @@ -155,6 +155,7 @@ dependencies { implementation "org.opensearch:common-utils:${common_utils_version}" implementation 'com.amazonaws:aws-encryption-sdk-java:2.4.1' implementation 'org.bouncycastle:bcprov-jdk18on:1.77' + implementation "com.google.code.gson:gson:2.10.1" // ZipArchive dependencies used for integration tests zipArchive group: 'org.opensearch.plugin', name:'opensearch-ml-plugin', version: "${opensearch_build}" diff --git a/src/main/resources/mappings/workflow-steps.json b/src/main/resources/mappings/workflow-steps.json index 1c6e73a4c..69f4cb7d9 100644 --- a/src/main/resources/mappings/workflow-steps.json +++ b/src/main/resources/mappings/workflow-steps.json @@ -174,5 +174,29 @@ "required_plugins":[ "opensearch-ml" ] + }, + "register_agent": { + "inputs":[ + "name", + "type", + "llm", + "tools", + "parameters", + "memory", + "created_time", + "last_updated_time", + "app_type" + ], + "outputs":[ + "agent_id" + ] + }, + "create_tool": { + "inputs": [ + "type" + ], + "outputs": [ + "tools" + ] } }