LexModelsV2 / Client / create_bot_locale

create_bot_locale

LexModelsV2.Client.create_bot_locale(**kwargs)

Creates a locale in the bot. The locale contains the intents and slot types that the bot uses in conversations with users in the specified language and locale. You must add a locale to a bot before you can add intents and slot types to the bot.

See also: AWS API Documentation

Request Syntax

response = client.create_bot_locale(
    botId='string',
    botVersion='string',
    localeId='string',
    description='string',
    nluIntentConfidenceThreshold=123.0,
    voiceSettings={
        'engine': 'standard'|'neural'|'long-form'|'generative',
        'voiceId': 'string'
    },
    unifiedSpeechSettings={
        'speechFoundationModel': {
            'modelArn': 'string',
            'voiceId': 'string'
        }
    },
    audioFillerSettings={
        'enabled': True|False,
        'audioType': 'MELODY_CHIPPER_CHIME'|'MELODY_CURIOUS_CRAWL'|'MELODY_RISING_RIPPLE'|'MELODY_PATIENT_PING'|'MELODY_PONDERING_PONG'|'TYPING_KINETIC_KEYS'|'TYPING_QUIET_QWERTY',
        'startDelayInMilliseconds': 123,
        'minimumPlayDurationInMilliseconds': 123,
        'responseDeliveryDelayInMilliseconds': 123
    },
    speechRecognitionSettings={
        'speechModelPreference': 'Standard'|'Neural'|'Deepgram',
        'speechModelConfig': {
            'deepgramConfig': {
                'apiTokenSecretArn': 'string',
                'modelId': 'string'
            }
        }
    },
    generativeAISettings={
        'runtimeSettings': {
            'slotResolutionImprovement': {
                'enabled': True|False,
                'bedrockModelSpecification': {
                    'modelArn': 'string',
                    'guardrail': {
                        'identifier': 'string',
                        'version': 'string'
                    },
                    'traceStatus': 'ENABLED'|'DISABLED',
                    'customPrompt': 'string'
                }
            },
            'nluImprovement': {
                'enabled': True|False,
                'assistedNluMode': 'Primary'|'Fallback',
                'intentDisambiguationSettings': {
                    'enabled': True|False,
                    'maxDisambiguationIntents': 123,
                    'customDisambiguationMessage': 'string'
                }
            }
        },
        'buildtimeSettings': {
            'descriptiveBotBuilder': {
                'enabled': True|False,
                'bedrockModelSpecification': {
                    'modelArn': 'string',
                    'guardrail': {
                        'identifier': 'string',
                        'version': 'string'
                    },
                    'traceStatus': 'ENABLED'|'DISABLED',
                    'customPrompt': 'string'
                }
            },
            'sampleUtteranceGeneration': {
                'enabled': True|False,
                'bedrockModelSpecification': {
                    'modelArn': 'string',
                    'guardrail': {
                        'identifier': 'string',
                        'version': 'string'
                    },
                    'traceStatus': 'ENABLED'|'DISABLED',
                    'customPrompt': 'string'
                }
            }
        }
    },
    speechDetectionSensitivity='Default'|'HighNoiseTolerance'|'MaximumNoiseTolerance'
)
Parameters:
  • botId (string) –

    [REQUIRED]

    The identifier of the bot to create the locale for.

  • botVersion (string) –

    [REQUIRED]

    The version of the bot to create the locale for. This can only be the draft version of the bot.

  • localeId (string) –

    [REQUIRED]

    The identifier of the language and locale that the bot will be used in. The string must match one of the supported locales. All of the intents, slot types, and slots used in the bot must have the same locale. For more information, see Supported languages.

  • description (string) – A description of the bot locale. Use this to help identify the bot locale in lists.

  • nluIntentConfidenceThreshold (float) –

    [REQUIRED]

    Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted if they are configured for the bot.

    For example, suppose a bot is configured with the confidence threshold of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative intents with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from the RecognizeText operation would be:

    • AMAZON.FallbackIntent

    • IntentA

    • IntentB

    • IntentC

  • voiceSettings (dict) –

    The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user.

    • engine (string) –

      Indicates the type of Amazon Polly voice that Amazon Lex should use for voice interaction with the user. For more information, see the engine parameter of the SynthesizeSpeech operation in the Amazon Polly developer guide.

      If you do not specify a value, the default is standard.

    • voiceId (string) – [REQUIRED]

      The identifier of the Amazon Polly voice to use.

  • unifiedSpeechSettings (dict) –

    Unified speech settings to configure for the new bot locale.

    • speechFoundationModel (dict) – [REQUIRED]

      The foundation model configuration to use for unified speech processing capabilities.

      • modelArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the foundation model used for speech processing.

      • voiceId (string) –

        The identifier of the voice to use for speech synthesis with the foundation model.

  • audioFillerSettings (dict) –

    Audio filler settings to configure for the new bot locale. When enabled, Amazon Lex plays a brief background audio filler during speech-to-speech interactions to mask processing delays. Requires unifiedSpeechSettings (speech-to-speech) to be configured on the bot locale.

    • enabled (boolean) –

      Specifies whether audio filler playback is enabled for the bot locale. Set to true to play filler audio while Amazon Lex processes a user utterance. Set to false to disable filler audio.

    • audioType (string) –

      The identifier of the audio filler to play while Amazon Lex processes the user’s input. This field is required when enabled is true.

    • startDelayInMilliseconds (integer) –

      The time, in milliseconds, to wait after the end of the user’s utterance before starting audio filler playback. Valid range is 500 to 5000 milliseconds. If not specified, Amazon Lex uses a default of 2500 milliseconds.

    • minimumPlayDurationInMilliseconds (integer) –

      The minimum time, in milliseconds, that audio filler plays once it has started, even if the bot response becomes ready sooner. Valid range is 1000 to 5000 milliseconds. If not specified, Amazon Lex uses a default of 3000 milliseconds.

    • responseDeliveryDelayInMilliseconds (integer) –

      The silent delay, in milliseconds, inserted between the end of audio filler playback and the start of the bot’s response. Valid range is 200 to 1000 milliseconds. If not specified, Amazon Lex uses a default of 500 milliseconds.

  • speechRecognitionSettings (dict) –

    Speech-to-text settings to configure for the new bot locale.

    • speechModelPreference (string) –

      The speech-to-text model to use.

    • speechModelConfig (dict) –

      Configuration settings for the selected speech-to-text model.

      • deepgramConfig (dict) –

        Configuration settings for using Deepgram as the speech-to-text provider.

        • apiTokenSecretArn (string) – [REQUIRED]

          The Amazon Resource Name (ARN) of the Secrets Manager secret that contains the Deepgram API token.

        • modelId (string) –

          The identifier of the Deepgram speech-to-text model to use for processing speech input.

  • generativeAISettings (dict) –

    Contains specifications about the generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

    • runtimeSettings (dict) –

      Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      • slotResolutionImprovement (dict) –

        An object containing specifications for the assisted slot resolution feature.

        • enabled (boolean) – [REQUIRED]

          Specifies whether assisted slot resolution is turned on or off.

        • bedrockModelSpecification (dict) –

          An object containing information about the Amazon Bedrock model used to assist slot resolution.

          • modelArn (string) – [REQUIRED]

            The ARN of the foundation model used in descriptive bot building.

          • guardrail (dict) –

            The guardrail configuration in the Bedrock model specification details.

            • identifier (string) – [REQUIRED]

              The unique guardrail id for the Bedrock guardrail configuration.

            • version (string) – [REQUIRED]

              The guardrail version for the Bedrock guardrail configuration.

          • traceStatus (string) –

            The Bedrock trace status in the Bedrock model specification details.

          • customPrompt (string) –

            The custom prompt used in the Bedrock model specification details.

      • nluImprovement (dict) –

        An object containing specifications for the Assisted NLU feature within the bot’s runtime settings. These settings determine how the bot processes and interprets user utterances during conversations.

        • enabled (boolean) – [REQUIRED]

          Determines whether the Assisted NLU feature is enabled for the bot. When set to true, Amazon Lex uses advanced models to improve intent recognition and slot resolution, with the default being false.

        • assistedNluMode (string) –

          Specifies the mode for Assisted NLU operation. Use Primary to make Assisted NLU the primary intent recognition method, or Fallback to use it only when standard NLU confidence is low.

        • intentDisambiguationSettings (dict) –

          An object containing specifications for the Intent Disambiguation feature within the Assisted NLU settings. These settings determine how the bot handles ambiguous user inputs that could match multiple intents.

          • enabled (boolean) – [REQUIRED]

            Determines whether the Intent Disambiguation feature is enabled. When set to true, Amazon Lex will present disambiguation options to users when multiple intents could match their input, with the default being false.

          • maxDisambiguationIntents (integer) –

            Specifies the maximum number of intent options (2-5) to present to users when disambiguation is needed. This setting determines how many intent options will be shown to users when the system detects ambiguous input. The default value is 3.

          • customDisambiguationMessage (string) –

            Provides a custom message that will be displayed before presenting the disambiguation options to users. This message helps set the context for users and can be customized to match your bot’s tone and brand. If not specified, a default message will be used.

    • buildtimeSettings (dict) –

      Contains specifications about the Amazon Lex build time generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      • descriptiveBotBuilder (dict) –

        An object containing specifications for the descriptive bot building feature.

        • enabled (boolean) – [REQUIRED]

          Specifies whether the descriptive bot building feature is activated or not.

        • bedrockModelSpecification (dict) –

          An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

          • modelArn (string) – [REQUIRED]

            The ARN of the foundation model used in descriptive bot building.

          • guardrail (dict) –

            The guardrail configuration in the Bedrock model specification details.

            • identifier (string) – [REQUIRED]

              The unique guardrail id for the Bedrock guardrail configuration.

            • version (string) – [REQUIRED]

              The guardrail version for the Bedrock guardrail configuration.

          • traceStatus (string) –

            The Bedrock trace status in the Bedrock model specification details.

          • customPrompt (string) –

            The custom prompt used in the Bedrock model specification details.

      • sampleUtteranceGeneration (dict) –

        Contains specifications for the sample utterance generation feature.

        • enabled (boolean) – [REQUIRED]

          Specifies whether to enable sample utterance generation or not.

        • bedrockModelSpecification (dict) –

          Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

          • modelArn (string) – [REQUIRED]

            The ARN of the foundation model used in descriptive bot building.

          • guardrail (dict) –

            The guardrail configuration in the Bedrock model specification details.

            • identifier (string) – [REQUIRED]

              The unique guardrail id for the Bedrock guardrail configuration.

            • version (string) – [REQUIRED]

              The guardrail version for the Bedrock guardrail configuration.

          • traceStatus (string) –

            The Bedrock trace status in the Bedrock model specification details.

          • customPrompt (string) –

            The custom prompt used in the Bedrock model specification details.

  • speechDetectionSensitivity (string) – The sensitivity level for voice activity detection (VAD) in the bot locale. This setting helps optimize speech recognition accuracy by adjusting how the system responds to background noise during voice interactions.

Return type:

dict

Returns:

Response Syntax

{
    'botId': 'string',
    'botVersion': 'string',
    'localeName': 'string',
    'localeId': 'string',
    'description': 'string',
    'nluIntentConfidenceThreshold': 123.0,
    'voiceSettings': {
        'engine': 'standard'|'neural'|'long-form'|'generative',
        'voiceId': 'string'
    },
    'unifiedSpeechSettings': {
        'speechFoundationModel': {
            'modelArn': 'string',
            'voiceId': 'string'
        }
    },
    'audioFillerSettings': {
        'enabled': True|False,
        'audioType': 'MELODY_CHIPPER_CHIME'|'MELODY_CURIOUS_CRAWL'|'MELODY_RISING_RIPPLE'|'MELODY_PATIENT_PING'|'MELODY_PONDERING_PONG'|'TYPING_KINETIC_KEYS'|'TYPING_QUIET_QWERTY',
        'startDelayInMilliseconds': 123,
        'minimumPlayDurationInMilliseconds': 123,
        'responseDeliveryDelayInMilliseconds': 123
    },
    'speechRecognitionSettings': {
        'speechModelPreference': 'Standard'|'Neural'|'Deepgram',
        'speechModelConfig': {
            'deepgramConfig': {
                'apiTokenSecretArn': 'string',
                'modelId': 'string'
            }
        }
    },
    'botLocaleStatus': 'Creating'|'Building'|'Built'|'ReadyExpressTesting'|'Failed'|'Deleting'|'NotBuilt'|'Importing'|'Processing',
    'creationDateTime': datetime(2015, 1, 1),
    'generativeAISettings': {
        'runtimeSettings': {
            'slotResolutionImprovement': {
                'enabled': True|False,
                'bedrockModelSpecification': {
                    'modelArn': 'string',
                    'guardrail': {
                        'identifier': 'string',
                        'version': 'string'
                    },
                    'traceStatus': 'ENABLED'|'DISABLED',
                    'customPrompt': 'string'
                }
            },
            'nluImprovement': {
                'enabled': True|False,
                'assistedNluMode': 'Primary'|'Fallback',
                'intentDisambiguationSettings': {
                    'enabled': True|False,
                    'maxDisambiguationIntents': 123,
                    'customDisambiguationMessage': 'string'
                }
            }
        },
        'buildtimeSettings': {
            'descriptiveBotBuilder': {
                'enabled': True|False,
                'bedrockModelSpecification': {
                    'modelArn': 'string',
                    'guardrail': {
                        'identifier': 'string',
                        'version': 'string'
                    },
                    'traceStatus': 'ENABLED'|'DISABLED',
                    'customPrompt': 'string'
                }
            },
            'sampleUtteranceGeneration': {
                'enabled': True|False,
                'bedrockModelSpecification': {
                    'modelArn': 'string',
                    'guardrail': {
                        'identifier': 'string',
                        'version': 'string'
                    },
                    'traceStatus': 'ENABLED'|'DISABLED',
                    'customPrompt': 'string'
                }
            }
        }
    },
    'speechDetectionSensitivity': 'Default'|'HighNoiseTolerance'|'MaximumNoiseTolerance'
}

Response Structure

  • (dict) –

    • botId (string) –

      The specified bot identifier.

    • botVersion (string) –

      The specified bot version.

    • localeName (string) –

      The specified locale name.

    • localeId (string) –

      The specified locale identifier.

    • description (string) –

      The specified description of the bot locale.

    • nluIntentConfidenceThreshold (float) –

      The specified confidence threshold for inserting the AMAZON.FallbackIntent and AMAZON.KendraSearchIntent intents.

    • voiceSettings (dict) –

      The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user.

      • engine (string) –

        Indicates the type of Amazon Polly voice that Amazon Lex should use for voice interaction with the user. For more information, see the engine parameter of the SynthesizeSpeech operation in the Amazon Polly developer guide.

        If you do not specify a value, the default is standard.

      • voiceId (string) –

        The identifier of the Amazon Polly voice to use.

    • unifiedSpeechSettings (dict) –

      The unified speech settings configured for the created bot locale.

      • speechFoundationModel (dict) –

        The foundation model configuration to use for unified speech processing capabilities.

        • modelArn (string) –

          The Amazon Resource Name (ARN) of the foundation model used for speech processing.

        • voiceId (string) –

          The identifier of the voice to use for speech synthesis with the foundation model.

    • audioFillerSettings (dict) –

      The audio filler settings configured for the created bot locale.

      • enabled (boolean) –

        Specifies whether audio filler playback is enabled for the bot locale. Set to true to play filler audio while Amazon Lex processes a user utterance. Set to false to disable filler audio.

      • audioType (string) –

        The identifier of the audio filler to play while Amazon Lex processes the user’s input. This field is required when enabled is true.

      • startDelayInMilliseconds (integer) –

        The time, in milliseconds, to wait after the end of the user’s utterance before starting audio filler playback. Valid range is 500 to 5000 milliseconds. If not specified, Amazon Lex uses a default of 2500 milliseconds.

      • minimumPlayDurationInMilliseconds (integer) –

        The minimum time, in milliseconds, that audio filler plays once it has started, even if the bot response becomes ready sooner. Valid range is 1000 to 5000 milliseconds. If not specified, Amazon Lex uses a default of 3000 milliseconds.

      • responseDeliveryDelayInMilliseconds (integer) –

        The silent delay, in milliseconds, inserted between the end of audio filler playback and the start of the bot’s response. Valid range is 200 to 1000 milliseconds. If not specified, Amazon Lex uses a default of 500 milliseconds.

    • speechRecognitionSettings (dict) –

      The speech-to-text settings configured for the created bot locale.

      • speechModelPreference (string) –

        The speech-to-text model to use.

      • speechModelConfig (dict) –

        Configuration settings for the selected speech-to-text model.

        • deepgramConfig (dict) –

          Configuration settings for using Deepgram as the speech-to-text provider.

          • apiTokenSecretArn (string) –

            The Amazon Resource Name (ARN) of the Secrets Manager secret that contains the Deepgram API token.

          • modelId (string) –

            The identifier of the Deepgram speech-to-text model to use for processing speech input.

    • botLocaleStatus (string) –

      The status of the bot.

      When the status is Creating the bot locale is being configured. When the status is Building Amazon Lex is building the bot for testing and use.

      If the status of the bot is ReadyExpressTesting, you can test the bot using the exact utterances specified in the bots’ intents. When the bot is ready for full testing or to run, the status is Built.

      If there was a problem with building the bot, the status is Failed. If the bot was saved but not built, the status is NotBuilt.

    • creationDateTime (datetime) –

      A timestamp specifying the date and time that the bot locale was created.

    • generativeAISettings (dict) –

      Contains specifications about the generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      • runtimeSettings (dict) –

        Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

        • slotResolutionImprovement (dict) –

          An object containing specifications for the assisted slot resolution feature.

          • enabled (boolean) –

            Specifies whether assisted slot resolution is turned on or off.

          • bedrockModelSpecification (dict) –

            An object containing information about the Amazon Bedrock model used to assist slot resolution.

            • modelArn (string) –

              The ARN of the foundation model used in descriptive bot building.

            • guardrail (dict) –

              The guardrail configuration in the Bedrock model specification details.

              • identifier (string) –

                The unique guardrail id for the Bedrock guardrail configuration.

              • version (string) –

                The guardrail version for the Bedrock guardrail configuration.

            • traceStatus (string) –

              The Bedrock trace status in the Bedrock model specification details.

            • customPrompt (string) –

              The custom prompt used in the Bedrock model specification details.

        • nluImprovement (dict) –

          An object containing specifications for the Assisted NLU feature within the bot’s runtime settings. These settings determine how the bot processes and interprets user utterances during conversations.

          • enabled (boolean) –

            Determines whether the Assisted NLU feature is enabled for the bot. When set to true, Amazon Lex uses advanced models to improve intent recognition and slot resolution, with the default being false.

          • assistedNluMode (string) –

            Specifies the mode for Assisted NLU operation. Use Primary to make Assisted NLU the primary intent recognition method, or Fallback to use it only when standard NLU confidence is low.

          • intentDisambiguationSettings (dict) –

            An object containing specifications for the Intent Disambiguation feature within the Assisted NLU settings. These settings determine how the bot handles ambiguous user inputs that could match multiple intents.

            • enabled (boolean) –

              Determines whether the Intent Disambiguation feature is enabled. When set to true, Amazon Lex will present disambiguation options to users when multiple intents could match their input, with the default being false.

            • maxDisambiguationIntents (integer) –

              Specifies the maximum number of intent options (2-5) to present to users when disambiguation is needed. This setting determines how many intent options will be shown to users when the system detects ambiguous input. The default value is 3.

            • customDisambiguationMessage (string) –

              Provides a custom message that will be displayed before presenting the disambiguation options to users. This message helps set the context for users and can be customized to match your bot’s tone and brand. If not specified, a default message will be used.

      • buildtimeSettings (dict) –

        Contains specifications about the Amazon Lex build time generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

        • descriptiveBotBuilder (dict) –

          An object containing specifications for the descriptive bot building feature.

          • enabled (boolean) –

            Specifies whether the descriptive bot building feature is activated or not.

          • bedrockModelSpecification (dict) –

            An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

            • modelArn (string) –

              The ARN of the foundation model used in descriptive bot building.

            • guardrail (dict) –

              The guardrail configuration in the Bedrock model specification details.

              • identifier (string) –

                The unique guardrail id for the Bedrock guardrail configuration.

              • version (string) –

                The guardrail version for the Bedrock guardrail configuration.

            • traceStatus (string) –

              The Bedrock trace status in the Bedrock model specification details.

            • customPrompt (string) –

              The custom prompt used in the Bedrock model specification details.

        • sampleUtteranceGeneration (dict) –

          Contains specifications for the sample utterance generation feature.

          • enabled (boolean) –

            Specifies whether to enable sample utterance generation or not.

          • bedrockModelSpecification (dict) –

            Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

            • modelArn (string) –

              The ARN of the foundation model used in descriptive bot building.

            • guardrail (dict) –

              The guardrail configuration in the Bedrock model specification details.

              • identifier (string) –

                The unique guardrail id for the Bedrock guardrail configuration.

              • version (string) –

                The guardrail version for the Bedrock guardrail configuration.

            • traceStatus (string) –

              The Bedrock trace status in the Bedrock model specification details.

            • customPrompt (string) –

              The custom prompt used in the Bedrock model specification details.

    • speechDetectionSensitivity (string) –

      The sensitivity level for voice activity detection (VAD) that was specified for the bot locale.

Exceptions

  • LexModelsV2.Client.exceptions.ThrottlingException

  • LexModelsV2.Client.exceptions.ServiceQuotaExceededException

  • LexModelsV2.Client.exceptions.ValidationException

  • LexModelsV2.Client.exceptions.PreconditionFailedException

  • LexModelsV2.Client.exceptions.ConflictException

  • LexModelsV2.Client.exceptions.InternalServerException