createLanguageModel method
Creates a new custom language model.
When creating a new custom language model, you must specify:
- If you want a Wideband (audio sample rates over 16,000 Hz) or Narrowband (audio sample rates under 16,000 Hz) base model
- The location of your training and tuning files (this must be an Amazon S3 URI)
- The language of your model
- A unique name for your model
May throw BadRequestException.
May throw ConflictException.
May throw InternalFailureException.
May throw LimitExceededException.
Parameter baseModelName :
The Amazon Transcribe standard language model, or base model, used to
create your custom language model. Amazon Transcribe offers two options
for base models: Wideband and Narrowband.
If the audio you want to transcribe has a sample rate of 16,000 Hz or
greater, choose WideBand. To transcribe audio with a sample
rate less than 16,000 Hz, choose NarrowBand.
Parameter inputDataConfig :
Contains the Amazon S3 location of the training data you want to use to
create a new custom language model, and permissions to access this
location.
When using InputDataConfig, you must include these
sub-parameters: S3Uri, which is the Amazon S3 location of
your training data, and DataAccessRoleArn, which is the
Amazon Resource Name (ARN) of the role that has permission to access your
specified Amazon S3 location. You can optionally include
TuningDataS3Uri, which is the Amazon S3 location of your
tuning data. If you specify different Amazon S3 locations for training and
tuning data, the ARN you use must have permissions to access both
locations.
Parameter languageCode :
The language code that represents the language of your model. Each custom
language model must contain terms in only one language, and the language
you select for your custom language model must match the language of your
training and tuning data.
For a list of supported languages and their associated language codes,
refer to the Supported
languages table. Note that US English (en-US) is the only
language supported with Amazon Transcribe Medical.
A custom language model can only be used to transcribe files in the same
language as the model. For example, if you create a custom language model
using US English (en-US), you can only apply this model to
files that contain English audio.
Parameter modelName :
A unique name, chosen by you, for your custom language model.
This name is case sensitive, cannot contain spaces, and must be unique
within an Amazon Web Services account. If you try to create a new custom
language model with the same name as an existing custom language model,
you get a ConflictException error.
Parameter tags :
Adds one or more custom tags, each in the form of a key:value pair, to a
new custom language model at the time you create this new model.
To learn more about using tags with Amazon Transcribe, refer to Tagging resources.
Implementation
Future<CreateLanguageModelResponse> createLanguageModel({
required BaseModelName baseModelName,
required InputDataConfig inputDataConfig,
required CLMLanguageCode languageCode,
required String modelName,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Transcribe.CreateLanguageModel'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'BaseModelName': baseModelName.value,
'InputDataConfig': inputDataConfig,
'LanguageCode': languageCode.value,
'ModelName': modelName,
if (tags != null) 'Tags': tags,
},
);
return CreateLanguageModelResponse.fromJson(jsonResponse.body);
}