From f6b967d3fab7a2e9c18b9d6fc171d34257c71f50 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 5 Nov 2024 18:36:03 +0000 Subject: [PATCH] Sample template: alert summary with log pattern agent (#945) * log pattern tool template Signed-off-by: yuye-aws * update change log Signed-off-by: yuye-aws * Update alert-summary-log-pattern-agent.json Signed-off-by: Daniel Widdis --------- Signed-off-by: yuye-aws Signed-off-by: Daniel Widdis Co-authored-by: Daniel Widdis (cherry picked from commit 5559242378c4a4ed616d940901d28080b15ad5f9) Signed-off-by: github-actions[bot] --- CHANGELOG.md | 1 + .../alert-summary-log-pattern-agent.json | 94 +++++++++++++++++++ .../alert-summary-log-pattern-agent.yml | 88 +++++++++++++++++ 3 files changed, 183 insertions(+) create mode 100644 sample-templates/alert-summary-log-pattern-agent.json create mode 100644 sample-templates/alert-summary-log-pattern-agent.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 3193e2c4b..34e2161a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) ### Documentation - Add alert summary agent template ([#873](https://github.com/opensearch-project/flow-framework/pull/873)) +- Add alert summary with log pattern agent template ([#945](https://github.com/opensearch-project/flow-framework/pull/945)) ### Maintenance ### Refactoring diff --git a/sample-templates/alert-summary-log-pattern-agent.json b/sample-templates/alert-summary-log-pattern-agent.json new file mode 100644 index 000000000..041518f89 --- /dev/null +++ b/sample-templates/alert-summary-log-pattern-agent.json @@ -0,0 +1,94 @@ +{ + "name": "Alert Summary With Log Pattern Agent", + "description": "Create Alert Summary with Log Pattern Agent using Claude on BedRock", + "use_case": "REGISTER_AGENT", + "version": { + "template": "1.0.0", + "compatibility": ["2.17.0", "3.0.0"] + }, + "workflows": { + "provision": { + "user_params": {}, + "nodes": [ + { + "id": "create_claude_connector", + "type": "create_connector", + "previous_node_inputs": {}, + "user_inputs": { + "version": "1", + "name": "Claude instant runtime Connector", + "protocol": "aws_sigv4", + "description": "The connector to BedRock service for Claude model", + "actions": [ + { + "headers": { + "x-amz-content-sha256": "required", + "content-type": "application/json" + }, + "method": "POST", + "request_body": "{\"prompt\":\"\\n\\nHuman: ${parameters.prompt}\\n\\nAssistant:\", \"max_tokens_to_sample\":${parameters.max_tokens_to_sample}, \"temperature\":${parameters.temperature}, \"anthropic_version\":\"${parameters.anthropic_version}\" }", + "action_type": "predict", + "url": "https://bedrock-runtime.us-west-2.amazonaws.com/model/anthropic.claude-instant-v1/invoke" + } + ], + "credential": { + "access_key": "", + "secret_key": "", + "session_token": "" + }, + "parameters": { + "region": "us-west-2", + "endpoint": "bedrock-runtime.us-west-2.amazonaws.com", + "content_type": "application/json", + "auth": "Sig_V4", + "max_tokens_to_sample": "8000", + "service_name": "bedrock", + "temperature": "0.0001", + "response_filter": "$.completion", + "anthropic_version": "bedrock-2023-05-31" + } + } + }, + { + "id": "register_claude_model", + "type": "register_remote_model", + "previous_node_inputs": { + "create_claude_connector": "connector_id" + }, + "user_inputs": { + "description": "Claude model", + "deploy": true, + "name": "claude-instant" + } + }, + { + "id": "create_alert_summary_with_log_pattern_ml_model_tool", + "type": "create_tool", + "previous_node_inputs": { + "register_claude_model": "model_id" + }, + "user_inputs": { + "parameters": { + "prompt": " You are an OpenSearch Alert Assistant to help summarize the alerts.\n Here is the detail of alert: \n ${parameters.context};\n \n And help detect if there is any common pattern or trend or outlier for the log pattern output. Log pattern groups the alert trigger logs by their generated patterns, the output contains some sample logs for each top-k patterns.\n Here is the log pattern output:\n ${parameters.topNLogPatternData};" + }, + "name": "MLModelTool", + "type": "MLModelTool" + } + }, + { + "id": "create_alert_summary_with_log_pattern_agent", + "type": "register_agent", + "previous_node_inputs": { + "create_alert_summary_with_log_pattern_ml_model_tool": "tools" + }, + "user_inputs": { + "parameters": {}, + "type": "flow", + "name": "Alert Summary With Log Pattern Agent", + "description": "this is an alert summary with log pattern agent" + } + } + ] + } + } +} diff --git a/sample-templates/alert-summary-log-pattern-agent.yml b/sample-templates/alert-summary-log-pattern-agent.yml new file mode 100644 index 000000000..83b23b6d9 --- /dev/null +++ b/sample-templates/alert-summary-log-pattern-agent.yml @@ -0,0 +1,88 @@ +# This template creates a connector to the BedRock service for Claude model +# It then registers a model using the connector and deploys it. +# Finally, it creates a flow agent base agent with ML Model tool to generate alert summary from log patterns. +# +# To use: +# - update the "credential" fields under the create_claude_connector node. +# - if needed, update region +# +# After provisioning: +# - returns a workflow ID +# - use the status API to get the deployed agent ID +--- +name: Alert Summary With Log Pattern Agent +description: Create Alert Summary with Log Pattern Agent using Claude on BedRock +use_case: REGISTER_AGENT +version: + template: 1.0.0 + compatibility: + - 2.17.0 + - 3.0.0 +workflows: + provision: + user_params: {} + nodes: + - id: create_claude_connector + type: create_connector + previous_node_inputs: {} + user_inputs: + version: '1' + name: Claude instant runtime Connector + protocol: aws_sigv4 + description: The connector to BedRock service for Claude model + actions: + - headers: + x-amz-content-sha256: required + content-type: application/json + method: POST + request_body: '{"prompt":"\n\nHuman: ${parameters.prompt}\n\nAssistant:", + "max_tokens_to_sample":${parameters.max_tokens_to_sample}, "temperature":${parameters.temperature}, "anthropic_version":"${parameters.anthropic_version}" + }' + action_type: predict + url: https://bedrock-runtime.us-west-2.amazonaws.com/model/anthropic.claude-instant-v1/invoke + credential: + access_key: "" + secret_key: "" + session_token: "" + parameters: + region: us-west-2 + endpoint: bedrock-runtime.us-west-2.amazonaws.com + content_type: application/json + auth: Sig_V4 + max_tokens_to_sample: '8000' + service_name: bedrock + temperature: '0.0001' + response_filter: "$.completion" + anthropic_version: bedrock-2023-05-31 + - id: register_claude_model + type: register_remote_model + previous_node_inputs: + create_claude_connector: connector_id + user_inputs: + description: Claude model + deploy: true + name: claude-instant + - id: create_alert_summary_with_log_pattern_ml_model_tool + type: create_tool + previous_node_inputs: + register_claude_model: model_id + user_inputs: + parameters: + prompt: " You are an OpenSearch Alert Assistant to help summarize + the alerts.\n Here is the detail of alert: \n ${parameters.context};\n + \ \n And help detect if there is any common pattern + or trend or outlier for the log pattern output. Log pattern groups the + alert trigger logs by their generated patterns, the output contains some + sample logs for each top-k patterns.\n Here is the log + pattern output:\n ${parameters.topNLogPatternData};" + name: MLModelTool + type: MLModelTool + - id: create_alert_summary_with_log_pattern_agent + type: register_agent + previous_node_inputs: + create_alert_summary_with_log_pattern_ml_model_tool: tools + user_inputs: + parameters: {} + type: flow + name: Alert Summary With Log Pattern Agent + description: this is an alert summary with log pattern agent