Converse
bedrockruntime_converse | R Documentation |
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)
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. |
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 |
additionalModelRequestFields |
Additional inference parameters that the model supports, beyond
the base set of inference parameters that |
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 |
additionalModelResponseFieldPaths |
Additional model parameters field paths to return in the
response.
For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.
|
requestMetadata |
Key-value pairs that you can use to filter invocation logs. |
performanceConfig |
Model performance settings for the request. |
Value¶
A list with the following syntax:
list(
output = list(
message = list(
role = "user"|"assistant",
content = list(
list(
text = "string",
image = list(
format = "png"|"jpeg"|"gif"|"webp",
source = list(
bytes = raw
)
),
document = list(
format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
name = "string",
source = list(
bytes = raw
)
),
video = list(
format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
source = list(
bytes = raw,
s3Location = list(
uri = "string",
bucketOwner = "string"
)
)
),
toolUse = list(
toolUseId = "string",
name = "string",
input = list()
),
toolResult = list(
toolUseId = "string",
content = list(
list(
json = list(),
text = "string",
image = list(
format = "png"|"jpeg"|"gif"|"webp",
source = list(
bytes = raw
)
),
document = list(
format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
name = "string",
source = list(
bytes = raw
)
),
video = list(
format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
source = list(
bytes = raw,
s3Location = list(
uri = "string",
bucketOwner = "string"
)
)
)
)
),
status = "success"|"error"
),
guardContent = list(
text = list(
text = "string",
qualifiers = list(
"grounding_source"|"query"|"guard_content"
)
),
image = list(
format = "png"|"jpeg",
source = list(
bytes = raw
)
)
)
)
)
)
),
stopReason = "end_turn"|"tool_use"|"max_tokens"|"stop_sequence"|"guardrail_intervened"|"content_filtered",
usage = list(
inputTokens = 123,
outputTokens = 123,
totalTokens = 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"
)
)
),
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"
)
)
),
wordPolicy = list(
customWords = list(
list(
match = "string",
action = "BLOCKED"
)
),
managedWordLists = list(
list(
match = "string",
type = "PROFANITY",
action = "BLOCKED"
)
)
),
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"
)
),
regexes = list(
list(
name = "string",
match = "string",
regex = "string",
action = "ANONYMIZED"|"BLOCKED"
)
)
),
contextualGroundingPolicy = list(
filters = list(
list(
type = "GROUNDING"|"RELEVANCE",
threshold = 123.0,
score = 123.0,
action = "BLOCKED"|"NONE"
)
)
),
invocationMetrics = list(
guardrailProcessingLatency = 123,
usage = list(
topicPolicyUnits = 123,
contentPolicyUnits = 123,
wordPolicyUnits = 123,
sensitiveInformationPolicyUnits = 123,
sensitiveInformationPolicyFreeUnits = 123,
contextualGroundingPolicyUnits = 123
),
guardrailCoverage = list(
textCharacters = list(
guarded = 123,
total = 123
),
images = list(
guarded = 123,
total = 123
)
)
)
)
),
outputAssessments = list(
list(
list(
topicPolicy = list(
topics = list(
list(
name = "string",
type = "DENY",
action = "BLOCKED"
)
)
),
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"
)
)
),
wordPolicy = list(
customWords = list(
list(
match = "string",
action = "BLOCKED"
)
),
managedWordLists = list(
list(
match = "string",
type = "PROFANITY",
action = "BLOCKED"
)
)
),
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"
)
),
regexes = list(
list(
name = "string",
match = "string",
regex = "string",
action = "ANONYMIZED"|"BLOCKED"
)
)
),
contextualGroundingPolicy = list(
filters = list(
list(
type = "GROUNDING"|"RELEVANCE",
threshold = 123.0,
score = 123.0,
action = "BLOCKED"|"NONE"
)
)
),
invocationMetrics = list(
guardrailProcessingLatency = 123,
usage = list(
topicPolicyUnits = 123,
contentPolicyUnits = 123,
wordPolicyUnits = 123,
sensitiveInformationPolicyUnits = 123,
sensitiveInformationPolicyFreeUnits = 123,
contextualGroundingPolicyUnits = 123
),
guardrailCoverage = list(
textCharacters = list(
guarded = 123,
total = 123
),
images = list(
guarded = 123,
total = 123
)
)
)
)
)
)
),
promptRouter = list(
invokedModelId = "string"
)
),
performanceConfig = list(
latency = "standard"|"optimized"
)
)
Request syntax¶
svc$converse(
modelId = "string",
messages = list(
list(
role = "user"|"assistant",
content = list(
list(
text = "string",
image = list(
format = "png"|"jpeg"|"gif"|"webp",
source = list(
bytes = raw
)
),
document = list(
format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
name = "string",
source = list(
bytes = raw
)
),
video = list(
format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
source = list(
bytes = raw,
s3Location = list(
uri = "string",
bucketOwner = "string"
)
)
),
toolUse = list(
toolUseId = "string",
name = "string",
input = list()
),
toolResult = list(
toolUseId = "string",
content = list(
list(
json = list(),
text = "string",
image = list(
format = "png"|"jpeg"|"gif"|"webp",
source = list(
bytes = raw
)
),
document = list(
format = "pdf"|"csv"|"doc"|"docx"|"xls"|"xlsx"|"html"|"txt"|"md",
name = "string",
source = list(
bytes = raw
)
),
video = list(
format = "mkv"|"mov"|"mp4"|"webm"|"flv"|"mpeg"|"mpg"|"wmv"|"three_gp",
source = list(
bytes = raw,
s3Location = list(
uri = "string",
bucketOwner = "string"
)
)
)
)
),
status = "success"|"error"
),
guardContent = list(
text = list(
text = "string",
qualifiers = list(
"grounding_source"|"query"|"guard_content"
)
),
image = list(
format = "png"|"jpeg",
source = list(
bytes = raw
)
)
)
)
)
)
),
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
)
)
)
)
),
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()
)
)
)
),
toolChoice = list(
auto = list(),
any = list(),
tool = list(
name = "string"
)
)
),
guardrailConfig = list(
guardrailIdentifier = "string",
guardrailVersion = "string",
trace = "enabled"|"disabled"
),
additionalModelRequestFields = list(),
promptVariables = list(
list(
text = "string"
)
),
additionalModelResponseFieldPaths = list(
"string"
),
requestMetadata = list(
"string"
),
performanceConfig = list(
latency = "standard"|"optimized"
)
)