Skip to content

start_bot_recommendation

start_bot_recommendation(
    bot_id: Id,
    bot_version: DraftBotVersion,
    locale_id: LocaleId,
    transcript_source_setting: TranscriptSourceSetting,
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    encryption_setting: Optional[EncryptionSetting] = None,
) -> StartBotRecommendationResponse

Use this to provide your transcript data, and to start the bot recommendation process.

Parameters:

  • bot_id (Id) –

    The unique identifier of the bot containing the bot recommendation.

  • bot_version (DraftBotVersion) –

    The version of the bot containing the bot recommendation.

  • locale_id (LocaleId) –

    The identifier of the language and locale of the bot recommendation to start. The string must match one of the supported locales. For more information, see Supported languages

  • transcript_source_setting (TranscriptSourceSetting) –

    The object representing the Amazon S3 bucket containing the transcript, as well as the associated metadata.

  • encryption_setting (Optional[EncryptionSetting], default: None ) –

    The object representing the passwords that will be used to encrypt the data related to the bot recommendation results, as well as the KMS key ARN used to encrypt the associated metadata.

Raises:

  • ConflictException –

    The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again.

  • InternalServerException –

    The service encountered an unexpected condition. Try your request again.

  • PreconditionFailedException –

    Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.

  • ResourceNotFoundException –

    You asked to describe a resource that doesn't exist. Check the resource that you are requesting and try again.

  • ServiceQuotaExceededException –

    You have reached a quota for your bot.

  • ThrottlingException –

    Your request rate is too high. Reduce the frequency of requests.

  • ValidationException –

    One of the input parameters in your request isn't valid. Check the parameters and try your request again.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_lex_models_v2/_services/lex_models_v2.py
def start_bot_recommendation(
    self,
    bot_id: "capo_lex_models_v2.types.id.Id",
    bot_version: "capo_lex_models_v2.types.draft_bot_version.DraftBotVersion",
    locale_id: "capo_lex_models_v2.types.locale_id.LocaleId",
    transcript_source_setting: "capo_lex_models_v2.types.transcript_source_setting.TranscriptSourceSetting",
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    encryption_setting: Optional[
        "capo_lex_models_v2.types.encryption_setting.EncryptionSetting"
    ] = None,
) -> "capo_lex_models_v2.types.start_bot_recommendation_response.StartBotRecommendationResponse":
    """<p>Use this to provide your transcript data, and to start the bot recommendation process.</p>

    Args:
        bot_id: <p>The unique identifier of the bot containing the bot recommendation.</p>
        bot_version: <p>The version of the bot containing the bot recommendation.</p>
        locale_id: <p>The identifier of the language and locale of the bot recommendation to start. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a> </p>
        transcript_source_setting: <p>The object representing the Amazon S3 bucket containing the transcript, as well as the associated metadata.</p>
        encryption_setting: <p>The object representing the passwords that will be used to encrypt the data related to the bot recommendation results, as well as the KMS key ARN used to encrypt the associated metadata.</p>

    Raises:
        capo_lex_models_v2.errors.conflict_exception.ConflictException: <p>The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again. </p>
        capo_lex_models_v2.errors.internal_server_exception.InternalServerException: <p>The service encountered an unexpected condition. Try your request again.</p>
        capo_lex_models_v2.errors.precondition_failed_exception.PreconditionFailedException: <p>Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.</p>
        capo_lex_models_v2.errors.resource_not_found_exception.ResourceNotFoundException: <p>You asked to describe a resource that doesn't exist. Check the resource that you are requesting and try again.</p>
        capo_lex_models_v2.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>You have reached a quota for your bot. </p>
        capo_lex_models_v2.errors.throttling_exception.ThrottlingException: <p>Your request rate is too high. Reduce the frequency of requests.</p>
        capo_lex_models_v2.errors.validation_exception.ValidationException: <p>One of the input parameters in your request isn't valid. Check the parameters and try your request again.</p>
        capo_lex_models_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_lex_models_v2.types.start_bot_recommendation_request.StartBotRecommendationRequest]",
    ) -> OperationResponse[
        "capo_lex_models_v2.types.start_bot_recommendation_response.StartBotRecommendationResponse"
    ]:
        import capo_lex_models_v2._operations.lex_model_building_service_v2.start_bot_recommendation

        output, http_response = (
            capo_lex_models_v2._operations.lex_model_building_service_v2.start_bot_recommendation.start_bot_recommendation(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_lex_models_v2.types.start_bot_recommendation_request.StartBotRecommendationRequest",
    ) -> dict[str, Any]:
        import capo_lex_models_v2.types.start_bot_recommendation_request

        return capo_lex_models_v2.types.start_bot_recommendation_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_lex_models_v2.types.start_bot_recommendation_response.StartBotRecommendationResponse",
    ) -> dict[str, Any]:
        import capo_lex_models_v2.types.start_bot_recommendation_response

        return capo_lex_models_v2.types.start_bot_recommendation_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "StartBotRecommendation",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_lex_models_v2.types.start_bot_recommendation_request.StartBotRecommendationRequest = {
        "bot_id": bot_id,
        "bot_version": bot_version,
        "locale_id": locale_id,
        "transcript_source_setting": transcript_source_setting,
    }
    if encryption_setting is not None:
        input_["encryption_setting"] = encryption_setting

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output