Skip to content

Sends messages to the specified Amazon Bedrock model

Description

Sends messages to the specified Amazon Bedrock model. converse provides a consistent interface that works with all models that support messages. This allows you to write code once and use it with different models. If a model has unique inference parameters, you can also pass those unique parameters to the model.

Amazon Bedrock doesn't store any text, images, or documents that you provide as content. The data is only used to generate the response.

You can submit a prompt by including it in the messages field, specifying the modelId of a foundation model or inference profile to run inference on it, and including any other fields that are relevant to your use case.

You can also submit a prompt from Prompt management by specifying the ARN of the prompt version and including a map of variables to values in the promptVariables field. You can append more messages to the prompt by using the messages field. If you use a prompt from Prompt management, you can't include the following fields in the request: additionalModelRequestFields, inferenceConfig, system, or toolConfig. Instead, these fields must be defined through Prompt management. For more information, see Use a prompt from Prompt management.

For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

For example code, see Converse API examples in the Amazon Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModel action.

To deny all inference access to resources that you specify in the modelId field, you need to deny access to the bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream actions. Doing this also denies access to the resource through the base inference actions (invoke_model and invoke_model_with_response_stream). For more information see Deny access for inference on specific models.

For troubleshooting some of the common errors you might encounter when using the converse API, see Troubleshooting Amazon Bedrock API Error Codes in the Amazon Bedrock User Guide

Usage

bedrockruntime_converse(modelId, messages, system, inferenceConfig,
  toolConfig, guardrailConfig, additionalModelRequestFields,
  promptVariables, additionalModelResponseFieldPaths, requestMetadata,
  performanceConfig, serviceTier, outputConfig)

Arguments

  • modelId

[required] Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use:

The Converse API doesn't support imported models.

  • messages

The messages that you want to send to the model.

  • system

A prompt that provides instructions or context to the model about the task it should perform, or the persona it should adopt during the conversation.

  • inferenceConfig

Inference parameters to pass to the model. converse and converse_stream support a base set of inference parameters. If you need to pass additional parameters that the model supports, use the additionalModelRequestFields request field.

  • toolConfig

Configuration information for the tools that the model can use when generating a response.

For information about models that support tool use, see Supported models and model features.

  • guardrailConfig

Configuration information for a guardrail that you want to use in the request. If you include guardContent blocks in the content field in the messages field, the guardrail operates only on those messages. If you include no guardContent blocks, the guardrail operates on all messages in the request body and in any included prompt resource.

  • additionalModelRequestFields

Additional inference parameters that the model supports, beyond the base set of inference parameters that converse and converse_stream support in the inferenceConfig field. For more information, see Model parameters.

  • promptVariables

Contains a map of variables in a prompt from Prompt management to objects containing the values to fill in for them when running model invocation. This field is ignored if you don't specify a prompt resource in the modelId field.

  • additionalModelResponseFieldPaths

Additional model parameters field paths to return in the response. converse and converse_stream return the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ "/stop_sequence" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

converse and converse_stream reject an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by converse.

  • requestMetadata

Key-value pairs that you can use to filter invocation logs.

  • performanceConfig

Model performance settings for the request.

  • serviceTier

Specifies the processing tier configuration used for serving the request.

  • outputConfig

Output configuration for a model response.

Value

A list with the following syntax:

list(
  output = list(
    message = list(
      role = "user"|"assistant"|"system",
      content = list(
        list(
          text = "string",
          image = list(
            format = "png"|"jpeg"|"gif"|"webp",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              )
            ),
            error = list(
              message = "string"
            )
          ),
          document = list(
            format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
            name = "string",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              ),
              text = "string",
              content = list(
                list(
                  text = "string"
                )
              )
            ),
            context = "string",
            citations = list(
              enabled = TRUE|FALSE
            )
          ),
          video = list(
            format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              )
            )
          ),
          audio = list(
            format = "mp3"|"opus"|"wav"|"aac"|"flac"|"mp4"|"ogg"|"mkv"|"mka"|"x-aac"|"m4a"|"mpeg"|"mpga"|"pcm"|"webm",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              )
            ),
            error = list(
              message = "string"
            )
          ),
          toolUse = list(
            toolUseId = "string",
            name = "string",
            input = list(),
            type = "server_tool_use"
          ),
          toolResult = list(
            toolUseId = "string",
            content = list(
              list(
                json = list(),
                text = "string",
                image = list(
                  format = "png"|"jpeg"|"gif"|"webp",
                  source = list(
                    bytes = raw,
                    s3Location = list(
                      uri = "string",
                      bucketOwner = "string"
                    )
                  ),
                  error = list(
                    message = "string"
                  )
                ),
                document = list(
                  format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
                  name = "string",
                  source = list(
                    bytes = raw,
                    s3Location = list(
                      uri = "string",
                      bucketOwner = "string"
                    ),
                    text = "string",
                    content = list(
                      list(
                        text = "string"
                      )
                    )
                  ),
                  context = "string",
                  citations = list(
                    enabled = TRUE|FALSE
                  )
                ),
                video = list(
                  format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
                  source = list(
                    bytes = raw,
                    s3Location = list(
                      uri = "string",
                      bucketOwner = "string"
                    )
                  )
                ),
                searchResult = list(
                  source = "string",
                  title = "string",
                  content = list(
                    list(
                      text = "string"
                    )
                  ),
                  citations = list(
                    enabled = TRUE|FALSE
                  )
                )
              )
            ),
            status = "success"|"error",
            type = "string"
          ),
          guardContent = list(
            text = list(
              text = "string",
              qualifiers = list(
                "grounding_source"|"query"|"guard_content"
              )
            ),
            image = list(
              format = "png"|"jpeg",
              source = list(
                bytes = raw
              )
            )
          ),
          cachePoint = list(
            type = "default",
            ttl = "5m"|"1h"
          ),
          reasoningContent = list(
            reasoningText = list(
              text = "string",
              signature = "string"
            ),
            redactedContent = raw
          ),
          citationsContent = list(
            content = list(
              list(
                text = "string"
              )
            ),
            citations = list(
              list(
                title = "string",
                source = "string",
                sourceContent = list(
                  list(
                    text = "string"
                  )
                ),
                location = list(
                  web = list(
                    url = "string",
                    domain = "string"
                  ),
                  documentChar = list(
                    documentIndex = 123,
                    start = 123,
                    end = 123
                  ),
                  documentPage = list(
                    documentIndex = 123,
                    start = 123,
                    end = 123
                  ),
                  documentChunk = list(
                    documentIndex = 123,
                    start = 123,
                    end = 123
                  ),
                  searchResultLocation = list(
                    searchResultIndex = 123,
                    start = 123,
                    end = 123
                  )
                )
              )
            )
          ),
          searchResult = list(
            source = "string",
            title = "string",
            content = list(
              list(
                text = "string"
              )
            ),
            citations = list(
              enabled = TRUE|FALSE
            )
          ),
          toolAddition = list(
            tool = list(
              type = "string",
              name = "string",
              serverName = "string"
            )
          ),
          toolRemoval = list(
            tool = list(
              type = "string",
              name = "string",
              serverName = "string"
            )
          )
        )
      )
    )
  ),
  stopReason = "end_turn"|"tool_use"|"max_tokens"|"stop_sequence"|"guardrail_intervened"|"content_filtered"|"malformed_model_output"|"malformed_tool_use"|"model_context_window_exceeded",
  usage = list(
    inputTokens = 123,
    outputTokens = 123,
    totalTokens = 123,
    cacheReadInputTokens = 123,
    cacheWriteInputTokens = 123,
    cacheDetails = list(
      list(
        ttl = "5m"|"1h",
        inputTokens = 123
      )
    )
  ),
  metrics = list(
    latencyMs = 123
  ),
  additionalModelResponseFields = list(),
  trace = list(
    guardrail = list(
      modelOutput = list(
        "string"
      ),
      inputAssessment = list(
        list(
          topicPolicy = list(
            topics = list(
              list(
                name = "string",
                type = "DENY",
                action = "BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            )
          ),
          contentPolicy = list(
            filters = list(
              list(
                type = "INSULTS"|"HATE"|"SEXUAL"|"VIOLENCE"|"MISCONDUCT"|"PROMPT_ATTACK",
                confidence = "NONE"|"LOW"|"MEDIUM"|"HIGH",
                filterStrength = "NONE"|"LOW"|"MEDIUM"|"HIGH",
                action = "BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            )
          ),
          wordPolicy = list(
            customWords = list(
              list(
                match = "string",
                action = "BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            ),
            managedWordLists = list(
              list(
                match = "string",
                type = "PROFANITY",
                action = "BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            )
          ),
          sensitiveInformationPolicy = list(
            piiEntities = list(
              list(
                match = "string",
                type = "ADDRESS"|"AGE"|"AWS_ACCESS_KEY"|"AWS_SECRET_KEY"|"CA_HEALTH_NUMBER"|"CA_SOCIAL_INSURANCE_NUMBER"|"CREDIT_DEBIT_CARD_CVV"|"CREDIT_DEBIT_CARD_EXPIRY"|"CREDIT_DEBIT_CARD_NUMBER"|"DRIVER_ID"|"EMAIL"|"INTERNATIONAL_BANK_ACCOUNT_NUMBER"|"IP_ADDRESS"|"LICENSE_PLATE"|"MAC_ADDRESS"|"NAME"|"PASSWORD"|"PHONE"|"PIN"|"SWIFT_CODE"|"UK_NATIONAL_HEALTH_SERVICE_NUMBER"|"UK_NATIONAL_INSURANCE_NUMBER"|"UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER"|"URL"|"USERNAME"|"US_BANK_ACCOUNT_NUMBER"|"US_BANK_ROUTING_NUMBER"|"US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER"|"US_PASSPORT_NUMBER"|"US_SOCIAL_SECURITY_NUMBER"|"VEHICLE_IDENTIFICATION_NUMBER",
                action = "ANONYMIZED"|"BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            ),
            regexes = list(
              list(
                name = "string",
                match = "string",
                regex = "string",
                action = "ANONYMIZED"|"BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            )
          ),
          contextualGroundingPolicy = list(
            filters = list(
              list(
                type = "GROUNDING"|"RELEVANCE",
                threshold = 123.0,
                score = 123.0,
                action = "BLOCKED"|"NONE",
                detected = TRUE|FALSE
              )
            )
          ),
          automatedReasoningPolicy = list(
            findings = list(
              list(
                valid = list(
                  translation = list(
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    untranslatedPremises = list(
                      list(
                        text = "string"
                      )
                    ),
                    untranslatedClaims = list(
                      list(
                        text = "string"
                      )
                    ),
                    confidence = 123.0
                  ),
                  claimsTrueScenario = list(
                    statements = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  ),
                  supportingRules = list(
                    list(
                      identifier = "string",
                      policyVersionArn = "string"
                    )
                  ),
                  logicWarning = list(
                    type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  )
                ),
                invalid = list(
                  translation = list(
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    untranslatedPremises = list(
                      list(
                        text = "string"
                      )
                    ),
                    untranslatedClaims = list(
                      list(
                        text = "string"
                      )
                    ),
                    confidence = 123.0
                  ),
                  contradictingRules = list(
                    list(
                      identifier = "string",
                      policyVersionArn = "string"
                    )
                  ),
                  logicWarning = list(
                    type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  )
                ),
                satisfiable = list(
                  translation = list(
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    untranslatedPremises = list(
                      list(
                        text = "string"
                      )
                    ),
                    untranslatedClaims = list(
                      list(
                        text = "string"
                      )
                    ),
                    confidence = 123.0
                  ),
                  claimsTrueScenario = list(
                    statements = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  ),
                  claimsFalseScenario = list(
                    statements = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  ),
                  logicWarning = list(
                    type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  )
                ),
                impossible = list(
                  translation = list(
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    untranslatedPremises = list(
                      list(
                        text = "string"
                      )
                    ),
                    untranslatedClaims = list(
                      list(
                        text = "string"
                      )
                    ),
                    confidence = 123.0
                  ),
                  contradictingRules = list(
                    list(
                      identifier = "string",
                      policyVersionArn = "string"
                    )
                  ),
                  logicWarning = list(
                    type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                    premises = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    ),
                    claims = list(
                      list(
                        logic = "string",
                        naturalLanguage = "string"
                      )
                    )
                  )
                ),
                translationAmbiguous = list(
                  options = list(
                    list(
                      translations = list(
                        list(
                          premises = list(
                            list(
                              logic = "string",
                              naturalLanguage = "string"
                            )
                          ),
                          claims = list(
                            list(
                              logic = "string",
                              naturalLanguage = "string"
                            )
                          ),
                          untranslatedPremises = list(
                            list(
                              text = "string"
                            )
                          ),
                          untranslatedClaims = list(
                            list(
                              text = "string"
                            )
                          ),
                          confidence = 123.0
                        )
                      )
                    )
                  ),
                  differenceScenarios = list(
                    list(
                      statements = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    )
                  )
                ),
                tooComplex = list(),
                noTranslations = list()
              )
            )
          ),
          invocationMetrics = list(
            guardrailProcessingLatency = 123,
            usage = list(
              topicPolicyUnits = 123,
              contentPolicyUnits = 123,
              wordPolicyUnits = 123,
              sensitiveInformationPolicyUnits = 123,
              sensitiveInformationPolicyFreeUnits = 123,
              contextualGroundingPolicyUnits = 123,
              contentPolicyImageUnits = 123,
              automatedReasoningPolicyUnits = 123,
              automatedReasoningPolicies = 123
            ),
            guardrailCoverage = list(
              textCharacters = list(
                guarded = 123,
                total = 123
              ),
              images = list(
                guarded = 123,
                total = 123
              )
            )
          ),
          appliedGuardrailDetails = list(
            guardrailId = "string",
            guardrailVersion = "string",
            guardrailArn = "string",
            guardrailOrigin = list(
              "REQUEST"|"ACCOUNT_ENFORCED"|"ORGANIZATION_ENFORCED"
            ),
            guardrailOwnership = "SELF"|"CROSS_ACCOUNT"
          )
        )
      ),
      outputAssessments = list(
        list(
          list(
            topicPolicy = list(
              topics = list(
                list(
                  name = "string",
                  type = "DENY",
                  action = "BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              )
            ),
            contentPolicy = list(
              filters = list(
                list(
                  type = "INSULTS"|"HATE"|"SEXUAL"|"VIOLENCE"|"MISCONDUCT"|"PROMPT_ATTACK",
                  confidence = "NONE"|"LOW"|"MEDIUM"|"HIGH",
                  filterStrength = "NONE"|"LOW"|"MEDIUM"|"HIGH",
                  action = "BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              )
            ),
            wordPolicy = list(
              customWords = list(
                list(
                  match = "string",
                  action = "BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              ),
              managedWordLists = list(
                list(
                  match = "string",
                  type = "PROFANITY",
                  action = "BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              )
            ),
            sensitiveInformationPolicy = list(
              piiEntities = list(
                list(
                  match = "string",
                  type = "ADDRESS"|"AGE"|"AWS_ACCESS_KEY"|"AWS_SECRET_KEY"|"CA_HEALTH_NUMBER"|"CA_SOCIAL_INSURANCE_NUMBER"|"CREDIT_DEBIT_CARD_CVV"|"CREDIT_DEBIT_CARD_EXPIRY"|"CREDIT_DEBIT_CARD_NUMBER"|"DRIVER_ID"|"EMAIL"|"INTERNATIONAL_BANK_ACCOUNT_NUMBER"|"IP_ADDRESS"|"LICENSE_PLATE"|"MAC_ADDRESS"|"NAME"|"PASSWORD"|"PHONE"|"PIN"|"SWIFT_CODE"|"UK_NATIONAL_HEALTH_SERVICE_NUMBER"|"UK_NATIONAL_INSURANCE_NUMBER"|"UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER"|"URL"|"USERNAME"|"US_BANK_ACCOUNT_NUMBER"|"US_BANK_ROUTING_NUMBER"|"US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER"|"US_PASSPORT_NUMBER"|"US_SOCIAL_SECURITY_NUMBER"|"VEHICLE_IDENTIFICATION_NUMBER",
                  action = "ANONYMIZED"|"BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              ),
              regexes = list(
                list(
                  name = "string",
                  match = "string",
                  regex = "string",
                  action = "ANONYMIZED"|"BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              )
            ),
            contextualGroundingPolicy = list(
              filters = list(
                list(
                  type = "GROUNDING"|"RELEVANCE",
                  threshold = 123.0,
                  score = 123.0,
                  action = "BLOCKED"|"NONE",
                  detected = TRUE|FALSE
                )
              )
            ),
            automatedReasoningPolicy = list(
              findings = list(
                list(
                  valid = list(
                    translation = list(
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      untranslatedPremises = list(
                        list(
                          text = "string"
                        )
                      ),
                      untranslatedClaims = list(
                        list(
                          text = "string"
                        )
                      ),
                      confidence = 123.0
                    ),
                    claimsTrueScenario = list(
                      statements = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    ),
                    supportingRules = list(
                      list(
                        identifier = "string",
                        policyVersionArn = "string"
                      )
                    ),
                    logicWarning = list(
                      type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    )
                  ),
                  invalid = list(
                    translation = list(
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      untranslatedPremises = list(
                        list(
                          text = "string"
                        )
                      ),
                      untranslatedClaims = list(
                        list(
                          text = "string"
                        )
                      ),
                      confidence = 123.0
                    ),
                    contradictingRules = list(
                      list(
                        identifier = "string",
                        policyVersionArn = "string"
                      )
                    ),
                    logicWarning = list(
                      type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    )
                  ),
                  satisfiable = list(
                    translation = list(
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      untranslatedPremises = list(
                        list(
                          text = "string"
                        )
                      ),
                      untranslatedClaims = list(
                        list(
                          text = "string"
                        )
                      ),
                      confidence = 123.0
                    ),
                    claimsTrueScenario = list(
                      statements = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    ),
                    claimsFalseScenario = list(
                      statements = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    ),
                    logicWarning = list(
                      type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    )
                  ),
                  impossible = list(
                    translation = list(
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      untranslatedPremises = list(
                        list(
                          text = "string"
                        )
                      ),
                      untranslatedClaims = list(
                        list(
                          text = "string"
                        )
                      ),
                      confidence = 123.0
                    ),
                    contradictingRules = list(
                      list(
                        identifier = "string",
                        policyVersionArn = "string"
                      )
                    ),
                    logicWarning = list(
                      type = "ALWAYS_FALSE"|"ALWAYS_TRUE",
                      premises = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      ),
                      claims = list(
                        list(
                          logic = "string",
                          naturalLanguage = "string"
                        )
                      )
                    )
                  ),
                  translationAmbiguous = list(
                    options = list(
                      list(
                        translations = list(
                          list(
                            premises = list(
                              list(
                                logic = "string",
                                naturalLanguage = "string"
                              )
                            ),
                            claims = list(
                              list(
                                logic = "string",
                                naturalLanguage = "string"
                              )
                            ),
                            untranslatedPremises = list(
                              list(
                                text = "string"
                              )
                            ),
                            untranslatedClaims = list(
                              list(
                                text = "string"
                              )
                            ),
                            confidence = 123.0
                          )
                        )
                      )
                    ),
                    differenceScenarios = list(
                      list(
                        statements = list(
                          list(
                            logic = "string",
                            naturalLanguage = "string"
                          )
                        )
                      )
                    )
                  ),
                  tooComplex = list(),
                  noTranslations = list()
                )
              )
            ),
            invocationMetrics = list(
              guardrailProcessingLatency = 123,
              usage = list(
                topicPolicyUnits = 123,
                contentPolicyUnits = 123,
                wordPolicyUnits = 123,
                sensitiveInformationPolicyUnits = 123,
                sensitiveInformationPolicyFreeUnits = 123,
                contextualGroundingPolicyUnits = 123,
                contentPolicyImageUnits = 123,
                automatedReasoningPolicyUnits = 123,
                automatedReasoningPolicies = 123
              ),
              guardrailCoverage = list(
                textCharacters = list(
                  guarded = 123,
                  total = 123
                ),
                images = list(
                  guarded = 123,
                  total = 123
                )
              )
            ),
            appliedGuardrailDetails = list(
              guardrailId = "string",
              guardrailVersion = "string",
              guardrailArn = "string",
              guardrailOrigin = list(
                "REQUEST"|"ACCOUNT_ENFORCED"|"ORGANIZATION_ENFORCED"
              ),
              guardrailOwnership = "SELF"|"CROSS_ACCOUNT"
            )
          )
        )
      ),
      actionReason = "string"
    ),
    promptRouter = list(
      invokedModelId = "string"
    )
  ),
  performanceConfig = list(
    latency = "standard"|"optimized"
  ),
  serviceTier = list(
    type = "priority"|"default"|"flex"|"reserved"
  )
)

Request syntax

svc$converse(
  modelId = "string",
  messages = list(
    list(
      role = "user"|"assistant"|"system",
      content = list(
        list(
          text = "string",
          image = list(
            format = "png"|"jpeg"|"gif"|"webp",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              )
            ),
            error = list(
              message = "string"
            )
          ),
          document = list(
            format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
            name = "string",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              ),
              text = "string",
              content = list(
                list(
                  text = "string"
                )
              )
            ),
            context = "string",
            citations = list(
              enabled = TRUE|FALSE
            )
          ),
          video = list(
            format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              )
            )
          ),
          audio = list(
            format = "mp3"|"opus"|"wav"|"aac"|"flac"|"mp4"|"ogg"|"mkv"|"mka"|"x-aac"|"m4a"|"mpeg"|"mpga"|"pcm"|"webm",
            source = list(
              bytes = raw,
              s3Location = list(
                uri = "string",
                bucketOwner = "string"
              )
            ),
            error = list(
              message = "string"
            )
          ),
          toolUse = list(
            toolUseId = "string",
            name = "string",
            input = list(),
            type = "server_tool_use"
          ),
          toolResult = list(
            toolUseId = "string",
            content = list(
              list(
                json = list(),
                text = "string",
                image = list(
                  format = "png"|"jpeg"|"gif"|"webp",
                  source = list(
                    bytes = raw,
                    s3Location = list(
                      uri = "string",
                      bucketOwner = "string"
                    )
                  ),
                  error = list(
                    message = "string"
                  )
                ),
                document = list(
                  format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
                  name = "string",
                  source = list(
                    bytes = raw,
                    s3Location = list(
                      uri = "string",
                      bucketOwner = "string"
                    ),
                    text = "string",
                    content = list(
                      list(
                        text = "string"
                      )
                    )
                  ),
                  context = "string",
                  citations = list(
                    enabled = TRUE|FALSE
                  )
                ),
                video = list(
                  format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
                  source = list(
                    bytes = raw,
                    s3Location = list(
                      uri = "string",
                      bucketOwner = "string"
                    )
                  )
                ),
                searchResult = list(
                  source = "string",
                  title = "string",
                  content = list(
                    list(
                      text = "string"
                    )
                  ),
                  citations = list(
                    enabled = TRUE|FALSE
                  )
                )
              )
            ),
            status = "success"|"error",
            type = "string"
          ),
          guardContent = list(
            text = list(
              text = "string",
              qualifiers = list(
                "grounding_source"|"query"|"guard_content"
              )
            ),
            image = list(
              format = "png"|"jpeg",
              source = list(
                bytes = raw
              )
            )
          ),
          cachePoint = list(
            type = "default",
            ttl = "5m"|"1h"
          ),
          reasoningContent = list(
            reasoningText = list(
              text = "string",
              signature = "string"
            ),
            redactedContent = raw
          ),
          citationsContent = list(
            content = list(
              list(
                text = "string"
              )
            ),
            citations = list(
              list(
                title = "string",
                source = "string",
                sourceContent = list(
                  list(
                    text = "string"
                  )
                ),
                location = list(
                  web = list(
                    url = "string",
                    domain = "string"
                  ),
                  documentChar = list(
                    documentIndex = 123,
                    start = 123,
                    end = 123
                  ),
                  documentPage = list(
                    documentIndex = 123,
                    start = 123,
                    end = 123
                  ),
                  documentChunk = list(
                    documentIndex = 123,
                    start = 123,
                    end = 123
                  ),
                  searchResultLocation = list(
                    searchResultIndex = 123,
                    start = 123,
                    end = 123
                  )
                )
              )
            )
          ),
          searchResult = list(
            source = "string",
            title = "string",
            content = list(
              list(
                text = "string"
              )
            ),
            citations = list(
              enabled = TRUE|FALSE
            )
          ),
          toolAddition = list(
            tool = list(
              type = "string",
              name = "string",
              serverName = "string"
            )
          ),
          toolRemoval = list(
            tool = list(
              type = "string",
              name = "string",
              serverName = "string"
            )
          )
        )
      )
    )
  ),
  system = list(
    list(
      text = "string",
      guardContent = list(
        text = list(
          text = "string",
          qualifiers = list(
            "grounding_source"|"query"|"guard_content"
          )
        ),
        image = list(
          format = "png"|"jpeg",
          source = list(
            bytes = raw
          )
        )
      ),
      cachePoint = list(
        type = "default",
        ttl = "5m"|"1h"
      )
    )
  ),
  inferenceConfig = list(
    maxTokens = 123,
    temperature = 123.0,
    topP = 123.0,
    stopSequences = list(
      "string"
    )
  ),
  toolConfig = list(
    tools = list(
      list(
        toolSpec = list(
          name = "string",
          description = "string",
          inputSchema = list(
            json = list()
          ),
          strict = TRUE|FALSE
        ),
        systemTool = list(
          name = "string"
        ),
        cachePoint = list(
          type = "default",
          ttl = "5m"|"1h"
        )
      )
    ),
    toolChoice = list(
      auto = list(),
      any = list(),
      tool = list(
        name = "string"
      )
    )
  ),
  guardrailConfig = list(
    guardrailIdentifier = "string",
    guardrailVersion = "string",
    trace = "enabled"|"disabled"|"enabled_full"
  ),
  additionalModelRequestFields = list(),
  promptVariables = list(
    list(
      text = "string"
    )
  ),
  additionalModelResponseFieldPaths = list(
    "string"
  ),
  requestMetadata = list(
    "string"
  ),
  performanceConfig = list(
    latency = "standard"|"optimized"
  ),
  serviceTier = list(
    type = "priority"|"default"|"flex"|"reserved"
  ),
  outputConfig = list(
    textFormat = list(
      type = "json_schema",
      structure = list(
        jsonSchema = list(
          schema = "string",
          name = "string",
          description = "string"
        )
      )
    ),
    effort = "string"
  )
)