Class BedrockInvokeModelProps
Properties for invoking a Bedrock Model.
Inheritance
Namespace: Amazon.CDK.AWS.StepFunctions.Tasks
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class BedrockInvokeModelProps : Object, IBedrockInvokeModelProps, ITaskStateBaseProps
Syntax (vb)
Public Class BedrockInvokeModelProps
Inherits Object
Implements IBedrockInvokeModelProps, ITaskStateBaseProps
Remarks
ExampleMetadata: infused
Examples
using Amazon.CDK.Aws_bedrock;
var model = FoundationModel.FromFoundationModelId(this, "Model", FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1);
var task = new BedrockInvokeModel(this, "Prompt Model", new BedrockInvokeModelProps {
Model = model,
Body = TaskInput.FromObject(new Dictionary<string, object> {
{ "inputText", "Generate a list of five first names." },
{ "textGenerationConfig", new Dictionary<string, int> {
{ "maxTokenCount", 100 },
{ "temperature", 1 }
} }
}),
ResultSelector = new Dictionary<string, object> {
{ "names", JsonPath.StringAt("$.Body.results[0].outputText") }
}
});
Synopsis
Constructors
BedrockInvokeModelProps() |
Properties
Accept | The desired MIME type of the inference body in the response. |
Body | The input data for the Bedrock model invocation. |
Comment | An optional description for this state. |
ContentType | The MIME type of the input data in the request. |
Credentials | Credentials for an IAM Role that the State Machine assumes for executing the task. |
Heartbeat | (deprecated) Timeout for the heartbeat. |
HeartbeatTimeout | Timeout for the heartbeat. |
Input | The source location to retrieve the input data from. |
InputPath | JSONPath expression to select part of the state to be the input to this state. |
IntegrationPattern | AWS Step Functions integrates with services directly in the Amazon States Language. |
Model | The Bedrock model that the task will invoke. |
Output | The destination location where the API response is written. |
OutputPath | JSONPath expression to select select a portion of the state output to pass to the next state. |
ResultPath | JSONPath expression to indicate where to inject the state's output. |
ResultSelector | The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
StateName | Optional name for this state. |
TaskTimeout | Timeout for the task. |
Timeout | (deprecated) Timeout for the task. |
Constructors
BedrockInvokeModelProps()
public BedrockInvokeModelProps()
Properties
Accept
The desired MIME type of the inference body in the response.
public string Accept { get; set; }
Property Value
System.String
Remarks
Default: 'application/json'
See: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html
Body
The input data for the Bedrock model invocation.
public TaskInput Body { get; set; }
Property Value
Remarks
The inference parameters contained in the body depend on the Bedrock model being used.
The body must be in the format specified in the contentType
field.
For example, if the content type is application/json
, the body must be
JSON formatted.
The body must be up to 256 KB in size. For input data that exceeds 256 KB,
use input
instead to retrieve the input data from S3.
You must specify either the body
or the input
field, but not both.
Default: Input data is retrieved from the location specified in the input
field
See: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html
Comment
An optional description for this state.
public string Comment { get; set; }
Property Value
System.String
Remarks
Default: - No comment
ContentType
The MIME type of the input data in the request.
public string ContentType { get; set; }
Property Value
System.String
Remarks
Default: 'application/json'
See: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html
Credentials
Credentials for an IAM Role that the State Machine assumes for executing the task.
public ICredentials Credentials { get; set; }
Property Value
Remarks
This enables cross-account resource invocations.
Default: - None (Task is executed using the State Machine's execution role)
See: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
Heartbeat
(deprecated) Timeout for the heartbeat.
public Duration Heartbeat { get; set; }
Property Value
Remarks
Default: - None
Stability: Deprecated
HeartbeatTimeout
Timeout for the heartbeat.
public Timeout HeartbeatTimeout { get; set; }
Property Value
Remarks
[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
Default: - None
Input
The source location to retrieve the input data from.
public IBedrockInvokeModelInputProps Input { get; set; }
Property Value
Remarks
Default: Input data is retrieved from the body
field
InputPath
JSONPath expression to select part of the state to be the input to this state.
public string InputPath { get; set; }
Property Value
System.String
Remarks
May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
Default: - The entire task input (JSON path '$')
IntegrationPattern
AWS Step Functions integrates with services directly in the Amazon States Language.
public Nullable<IntegrationPattern> IntegrationPattern { get; set; }
Property Value
System.Nullable<IntegrationPattern>
Remarks
You can control these AWS services using service integration patterns.
Depending on the AWS Service, the Service Integration Pattern availability will vary.
Default: - IntegrationPattern.REQUEST_RESPONSE
for most tasks.
IntegrationPattern.RUN_JOB
for the following exceptions:
BatchSubmitJob
, EmrAddStep
, EmrCreateCluster
, EmrTerminationCluster
, and EmrContainersStartJobRun
.
See: https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html
Model
The Bedrock model that the task will invoke.
public IModel Model { get; set; }
Property Value
Remarks
Output
The destination location where the API response is written.
public IBedrockInvokeModelOutputProps Output { get; set; }
Property Value
IBedrockInvokeModelOutputProps
Remarks
If you specify this field, the API response body is replaced with a reference to the output location.
Default: The API response body is returned in the result.
OutputPath
JSONPath expression to select select a portion of the state output to pass to the next state.
public string OutputPath { get; set; }
Property Value
System.String
Remarks
May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
Default: - The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
ResultPath
JSONPath expression to indicate where to inject the state's output.
public string ResultPath { get; set; }
Property Value
System.String
Remarks
May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
Default: - Replaces the entire input with the result (JSON path '$')
ResultSelector
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
public IDictionary<string, object> ResultSelector { get; set; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Remarks
You can use ResultSelector to create a payload with values that are static or selected from the state's raw result.
Default: - None
StateName
Optional name for this state.
public string StateName { get; set; }
Property Value
System.String
Remarks
Default: - The construct ID will be used as state name
TaskTimeout
Timeout for the task.
public Timeout TaskTimeout { get; set; }
Property Value
Remarks
[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
Default: - None
Timeout
(deprecated) Timeout for the task.
public Duration Timeout { get; set; }
Property Value
Remarks
Default: - None
Stability: Deprecated