createAdvancedPromptOptimizationJob method

Future<CreateAdvancedPromptOptimizationJobResponse> createAdvancedPromptOptimizationJob({
  1. required AdvancedPromptOptimizationInputConfig inputConfig,
  2. required String jobName,
  3. required List<ModelConfiguration> modelConfigurations,
  4. required AdvancedPromptOptimizationOutputConfig outputConfig,
  5. String? clientToken,
  6. String? encryptionKeyArn,
  7. String? jobDescription,
  8. List<Tag>? tags,
})

Creates an advanced prompt optimization job. The job optimizes your prompt templates for specific models using your evaluation dataset and criteria.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw TooManyTagsException. May throw ValidationException.

Parameter inputConfig : Specifies the S3 location of your JSONL input file containing prompt templates and evaluation samples.

Parameter jobName : A name for the advanced prompt optimization job.

Parameter modelConfigurations : A list of model configurations specifying the target models for prompt optimization. You can specify up to 5 models.

Parameter outputConfig : Specifies the S3 location where optimization results will be stored.

Parameter clientToken : A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error.

Parameter encryptionKeyArn : The Amazon Resource Name (ARN) of the KMS key used for encrypting the output data. If not specified, the output is encrypted with an Amazon-owned KMS key.

Parameter jobDescription : A description of the advanced prompt optimization job.

Parameter tags : Tags to associate with the advanced prompt optimization job.

Implementation

Future<CreateAdvancedPromptOptimizationJobResponse>
    createAdvancedPromptOptimizationJob({
  required AdvancedPromptOptimizationInputConfig inputConfig,
  required String jobName,
  required List<ModelConfiguration> modelConfigurations,
  required AdvancedPromptOptimizationOutputConfig outputConfig,
  String? clientToken,
  String? encryptionKeyArn,
  String? jobDescription,
  List<Tag>? tags,
}) async {
  final $payload = <String, dynamic>{
    'inputConfig': inputConfig,
    'jobName': jobName,
    'modelConfigurations': modelConfigurations,
    'outputConfig': outputConfig,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (encryptionKeyArn != null) 'encryptionKeyArn': encryptionKeyArn,
    if (jobDescription != null) 'jobDescription': jobDescription,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/advanced-prompt-optimization-jobs',
    exceptionFnMap: _exceptionFns,
  );
  return CreateAdvancedPromptOptimizationJobResponse.fromJson(response);
}