Skip to content

start_bot_analyzer

start_bot_analyzer(
    bot_id: Id,
    analysis_scope: AnalysisScope,
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    locale_id: Optional[LocaleId] = None,
    bot_version: Optional[DraftBotVersion] = None,
) -> StartBotAnalyzerResponse

Initiates an asynchronous analysis of your bot configuration using AI-powered analysis to identify potential issues and recommend improvements based on AWS best practices.

The analysis examines your bot's configuration, including intents, utterances, slots, and conversation flows, to provide actionable recommendations for optimization.

Parameters:

  • bot_id (Id) –

    The unique identifier of the bot to analyze.

  • analysis_scope (AnalysisScope) –

    The scope of analysis to perform. Currently only BotLocale scope is supported.

    Valid Values: BotLocale

  • locale_id (Optional[LocaleId], default: None ) –

    The locale identifier for the bot locale to analyze. Required when analysisScope is BotLocale.

  • bot_version (Optional[DraftBotVersion], default: None ) –

    The version of the bot to analyze. Defaults to DRAFT if not specified.

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.

  • ResourceNotFoundException –

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

  • 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_analyzer(
    self,
    bot_id: "capo_lex_models_v2.types.id.Id",
    analysis_scope: "capo_lex_models_v2.types.analysis_scope.AnalysisScope",
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    locale_id: Optional["capo_lex_models_v2.types.locale_id.LocaleId"] = None,
    bot_version: Optional[
        "capo_lex_models_v2.types.draft_bot_version.DraftBotVersion"
    ] = None,
) -> (
    "capo_lex_models_v2.types.start_bot_analyzer_response.StartBotAnalyzerResponse"
):
    """<p>Initiates an asynchronous analysis of your bot configuration using AI-powered analysis to identify potential issues and recommend improvements based on AWS best practices.</p> <p>The analysis examines your bot's configuration, including intents, utterances, slots, and conversation flows, to provide actionable recommendations for optimization.</p>

    Args:
        bot_id: <p>The unique identifier of the bot to analyze.</p>
        analysis_scope: <p>The scope of analysis to perform. Currently only <code>BotLocale</code> scope is supported.</p> <p>Valid Values: <code>BotLocale</code> </p>
        locale_id: <p>The locale identifier for the bot locale to analyze. Required when <code>analysisScope</code> is <code>BotLocale</code>.</p>
        bot_version: <p>The version of the bot to analyze. Defaults to <code>DRAFT</code> if not specified.</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.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.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_analyzer_request.StartBotAnalyzerRequest]",
    ) -> OperationResponse[
        "capo_lex_models_v2.types.start_bot_analyzer_response.StartBotAnalyzerResponse"
    ]:
        import capo_lex_models_v2._operations.lex_model_building_service_v2.start_bot_analyzer

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartBotAnalyzer")
    )
    input_: capo_lex_models_v2.types.start_bot_analyzer_request.StartBotAnalyzerRequest = {
        "bot_id": bot_id,
        "analysis_scope": analysis_scope,
    }
    if locale_id is not None:
        input_["locale_id"] = locale_id
    if bot_version is not None:
        input_["bot_version"] = bot_version

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