def _hydrate_options()

in libraries/botbuilder-ai/botbuilder/ai/qna/utils/generate_answer_utils.py [0:0]


    def _hydrate_options(self, query_options: QnAMakerOptions) -> QnAMakerOptions:
        """
        Combines QnAMakerOptions passed into the QnAMaker constructor
        with the options passed as arguments into get_answers().
        Return:
        -------
        QnAMakerOptions with options passed into constructor overwritten
        by new options passed into get_answers()

        rtype:
        ------
        QnAMakerOptions
        """

        hydrated_options = copy(self.options)

        if query_options:
            if (
                query_options.score_threshold != hydrated_options.score_threshold
                and query_options.score_threshold
            ):
                hydrated_options.score_threshold = query_options.score_threshold

            if query_options.top != hydrated_options.top and query_options.top != 0:
                hydrated_options.top = query_options.top

            if query_options.strict_filters:
                hydrated_options.strict_filters = query_options.strict_filters

            if (
                query_options.timeout != hydrated_options.timeout
                and query_options.timeout
            ):
                hydrated_options.timeout = query_options.timeout

            hydrated_options.context = query_options.context
            hydrated_options.qna_id = query_options.qna_id
            hydrated_options.is_test = query_options.is_test
            hydrated_options.ranker_type = query_options.ranker_type
            hydrated_options.strict_filters_join_operator = (
                query_options.strict_filters_join_operator
            )

        return hydrated_options