Skip to content

Commit

Permalink
Add query assist data summary agent template (#875)
Browse files Browse the repository at this point in the history
* Add query assist data summary agent template

Signed-off-by: Liyun Xiu <xiliyun@amazon.com>

* spotlessApply

Signed-off-by: Liyun Xiu <xiliyun@amazon.com>

* Add changelog

Signed-off-by: Liyun Xiu <xiliyun@amazon.com>

---------

Signed-off-by: Liyun Xiu <xiliyun@amazon.com>
  • Loading branch information
chishui authored Sep 30, 2024
1 parent a30320d commit c1f5519
Show file tree
Hide file tree
Showing 3 changed files with 166 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
### Bug Fixes
### Infrastructure
### Documentation
- Add query assist data summary agent into sample templates ([#875](https://github.com/opensearch-project/flow-framework/pull/875))
### Maintenance
### Refactoring
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
{
"name": "Query Assist Data Summary Agent",
"description": "Create Query Assist Data Summary 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\":\"${parameters.prompt}\", \"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": "<YOUR_ACCESS_KEY>",
"secret_key": "<YOUR_SECRET_KEY>",
"session_token": "<YOUR_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_query_assist_data_summary_ml_model_tool",
"type": "create_tool",
"previous_node_inputs": {
"register_claude_model": "model_id"
},
"user_inputs": {
"parameters": {
"prompt": "Human: You are an assistant that helps to summarize the data and provide data insights.\nThe data are queried from OpenSearch index through user's question which was translated into PPL query.\nHere is a sample PPL query: `source=<index> | where <field> = <value>`.\nNow you are given ${parameters.sample_count} sample data out of ${parameters.total_count} total data.\nThe user's question is `${parameters.question}`, the translated PPL query is `${parameters.ppl}` and sample data are:\n```\n${parameters.sample_data}\n```\nCould you help provide a summary of the sample data and provide some useful insights with precise wording and in plain text format, do not use markdown format.\nYou don't need to echo my requirements in response.\n\nAssistant:"
},
"name": "MLModelTool",
"type": "MLModelTool"
}
},
{
"id": "create_query_assist_data_summary_agent",
"type": "register_agent",
"previous_node_inputs": {
"create_query_assist_data_summary_ml_model_tool": "tools"
},
"user_inputs": {
"parameters": {},
"type": "flow",
"name": "Query Assist Data Summary Agent",
"description": "this is an query assist data summary agent"
}
}
]
}
}
}
71 changes: 71 additions & 0 deletions sample-templates/query-assist-data-summary-agent-claude-tested.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
name: Query Assist Data Summary Agent
description: Create Query Assist Data Summary 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":"${parameters.prompt}", "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: "<YOUR_ACCESS_KEY>"
secret_key: "<YOUR_SECRET_KEY>"
session_token: "<YOUR_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_query_assist_data_summary_ml_model_tool
type: create_tool
previous_node_inputs:
register_claude_model: model_id
user_inputs:
parameters:
prompt: "Human: You are an assistant that helps to summarize the data and provide data insights.\nThe data are queried from OpenSearch index through user's question which was translated into PPL query.\nHere is a sample PPL query: `source=<index> | where <field> = <value>`.\nNow you are given ${parameters.sample_count} sample data out of ${parameters.total_count} total data.\nThe user's question is `${parameters.question}`, the translated PPL query is `${parameters.ppl}` and sample data are:\n```\n${parameters.sample_data}\n```\nCould you help provide a summary of the sample data and provide some useful insights with precise wording and in plain text format, do not use markdown format.\nYou don't need to echo my requirements in response.\n\nAssistant:"
name: MLModelTool
type: MLModelTool
- id: create_query_assist_data_summary_agent
type: register_agent
previous_node_inputs:
create_alert_summary_ml_model_tool: tools
user_inputs:
parameters: {}
type: flow
name: Query Assist Data Summary Agent
description: this is an query assist data summary agent

0 comments on commit c1f5519

Please sign in to comment.