cohit's picture
Upload folder using huggingface_hub
0827183 verified
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
from .models import Metadata, QnARequestContext
from .models.ranker_types import RankerTypes
from .models.join_operator import JoinOperator
class QnAMakerOptions:
"""
Defines options used to configure a `QnAMaker` instance.
remarks:
--------
All parameters are optional.
"""
def __init__(
self,
score_threshold: float = 0.0,
timeout: int = 0,
top: int = 0,
strict_filters: [Metadata] = None,
context: [QnARequestContext] = None,
qna_id: int = None,
is_test: bool = False,
ranker_type: str = RankerTypes.DEFAULT,
strict_filters_join_operator: str = JoinOperator.AND,
):
"""
Parameters:
-----------
score_threshold (float):
The minimum score threshold, used to filter returned results.
Values range from score of 0.0 to 1.0.
timeout (int):
The time in milliseconds to wait before the request times out.
top (int):
The number of ranked results to return.
strict_filters ([Metadata]):
Filters to use on queries to a QnA knowledge base, based on a
QnA pair's metadata.
context ([QnARequestContext]):
The context of the previous turn.
qna_id (int):
Id of the current question asked (if available).
is_test (bool):
A value indicating whether to call test or prod environment of a knowledge base.
ranker_type (str):
The QnA ranker type to use.
strict_filters_join_operator (str):
A value indicating how strictly you want to apply strict_filters on QnA pairs' metadata.
For example, when combining several metadata filters, you can determine if you are
concerned with all filters matching or just at least one filter matching.
"""
self.score_threshold = score_threshold
self.timeout = timeout
self.top = top
self.strict_filters = strict_filters or []
self.context = context
self.qna_id = qna_id
self.is_test = is_test
self.ranker_type = ranker_type
self.strict_filters_join_operator = strict_filters_join_operator