Amazon Bedrock Converse API Tool Calling

Overview

You can use this Snap to provide a conversational interface with the ability to call external tools or services based on your interaction and context.


Amazon Bedrock Converse API Overview

Prerequisites

None.

Limitations and known issues

None.

Snap views

View Description Examples of upstream and downstream Snaps
Input This Snap supports exactly one document input view. The input has a message list that contains the conversation history, a tool definition list, and other query parameters to the AWS Converse API endpoint.
Output This Snap supports exactly two document output views.
  • The first output displays the full response from the LLM.
  • The second output displays the list of tools called.
Router
Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution Stops the current pipeline execution when an error occurs.
  • Discard Error Data and Continue Ignores the error, discards that record, and continues with the remaining records.
  • Route Error Data to Error View Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap settings

Note:
  • Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.
  • Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
  • Add icon (Plus Icon): Indicates that you can add fields in the field set.
  • Remove icon (Minus Icon): Indicates that you can remove fields from the field set.
Field / Field set Type Description
Label String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: Amazon Bedrock Converse API Tool Calling

Example: Weather Report
Model name String/Expression/Suggestion

Required. Specify the model name to use for converse API. Learn more about the list of supported Amazon Bedrock Converse API Tool Calling models.

Default value: N/A

Example: anthropic.claude-3-sonnet
Message payload String/Expression

Required. Specify the message payload for the associated Converse API model.

For example,
[
    {
        "content": "You are a helpful assistant",
        "sl_role": "SYSTEM"
    },
    {
        "content": "Who won the world series in 2020?",
        "sl_role": "USER",
        "name": "Snap-User"
    },
    {
        "content": "The Los Angeles Dodgers won the World Series in 2020",
        "sl_role": "ASSISTANT"
    },
    {
        "content": "Where was it played?",
        "sl_role": "USER",
        "name": "Snap-User2"
    }
]

Default value: N/A

Example: $messages
Tool payload String/Expression

Required. Specify the list of tool definitions to send to the model.

Default value: N/A

Example: $messages
Tool configuration

Use this field set to modify the tool calling settings to guide the model responses and optimize the output processing.

Tool choice Dropdown list/Expression
Required. Choose the preferred tool which the model has to call. Available options include:
  • ANY
  • SPECIFY A FUNCTION
  • AUTO
Important: The SPECIFY A FUNCTION option is only available for Anthropic Claude 3 models.

Default value: AUTO

Example: ANY

Function name String/Expression

Appears when you select SPECIFY A FUNCTION as the Tool choice.

Required. Specify the name of the function to force the model to call.

Default value: N/A

Example: get_weather_info

Model parameters Configure the parameters to tune the model runtime.
Maximum tokens Integer/Expression
Specify the maximum number of tokens to generate in the chat completion. If left blank, the default will be set to the specified model's maximum allowed value. Learn more.
Note: The response may be incomplete if the sum of the prompt tokens and Maximum tokens exceed the allowed token limit for the model.
Minimum value: 1

Default value: N/A

Example: 100

Temperature Decimal/Expression

Specify the sampling temperature to use a decimal value between 0 and 1. If left blank, the model will use its default value. Learn more.

Default value: N/A

Example: 0.2

Top P Decimal/Expression

Specify the nucleus sampling value, a decimal value between 0 and 1. If left blank, the model will use its default value. Learn more.

Default value: N/A

Example: 0.2

Stop sequences String/Expression

Specify a sequence of texts or tokens to stop the model from generating further output.

Default value: N/A

Example:
  • coffee
  • ["coffee", "bean"]
Advanced prompt configuration

Use this field set to configure the advanced prompt settings.

System prompt String/Expression

Specify the prompt (inital instruction). This prompt prepares for the conversation by defining the model's role, personality, tone, and other relevant details to understand and respond to the user's input. Learn more about the supported models.

Note:
  • If you leave this field blank, empty or null, the Snap processes the request without using any system prompt.
  • This field supports input document values from upstream Snap.
  • The output represents the result generated by the Amazon Bedrock Converse API Response.

Default value: N/A

Example:
  • Explain the answer to a 6-year-old child.
  • Explain your role as an AI assistant.
Snap execution Dropdown list
Select one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Validate & Execute

Example: Execute only

Additional information

The following are the supported models for System prompt field:

  • anthropic.claude-instant-v1
  • anthropic.claude-v2:1
  • anthropic.claude-v2
  • anthropic.claude-3-sonnet-20240229-v1:0
  • anthropic.claude-3-haiku-20240307-v1:0
  • anthropic.claude-3-opus-20240229-v1:0
  • anthropic.claude-3-5-sonnet-20240620-v1:0
  • cohere.command-r-v1:0
  • cohere.command-r-plus-v1:0
  • meta.llama3-8b-instruct-v1:0
  • meta.llama3-70b-instruct-v1:0
  • meta.llama3-1-8b-instruct-v1:0
  • meta.llama3-1-70b-instruct-v1:0
  • meta.llama3-1-405b-instruct-v1:0
  • mistral.mistral-large-2402-v1:0
  • mistral.mistral-large-2407-v1:0

Examples