Source code for azure.ai.language.questionanswering.models._models

# coding=utf-8
# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

import sys
from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union

from .. import _serialization

if TYPE_CHECKING:
    # pylint: disable=unused-import,ungrouped-imports
    from .. import models as _models
if sys.version_info >= (3, 9):
    from collections.abc import MutableMapping
else:
    from typing import MutableMapping  # type: ignore  # pylint: disable=ungrouped-imports
JSON = MutableMapping[str, Any]  # pylint: disable=unsubscriptable-object


class AnswersFromTextOptions(_serialization.Model):
    """The question and text record parameters to answer.

    All required parameters must be populated in order to send to Azure.

    :ivar question: User question to query against the given text records. Required.
    :vartype question: str
    :ivar text_documents: Text records to be searched for given question. Required.
    :vartype text_documents: list[~azure.ai.language.questionanswering.models.TextDocument]
    :ivar language: Language of the text records. This is BCP-47 representation of a language. For
     example, use "en" for English; "es" for Spanish etc. If not set, use "en" for English as
     default.
    :vartype language: str
    """

    _validation = {
        "question": {"required": True},
        "text_documents": {"required": True},
    }

    _attribute_map = {
        "question": {"key": "question", "type": "str"},
        "text_documents": {"key": "records", "type": "[TextDocument]"},
        "language": {"key": "language", "type": "str"},
    }

    def __init__(
        self, *, question: str, text_documents: List["_models.TextDocument"], language: Optional[str] = None, **kwargs
    ):
        """
        :keyword question: User question to query against the given text records. Required.
        :paramtype question: str
        :keyword text_documents: Text records to be searched for given question. Required.
        :paramtype text_documents: list[~azure.ai.language.questionanswering.models.TextDocument]
        :keyword language: Language of the text records. This is BCP-47 representation of a language.
         For example, use "en" for English; "es" for Spanish etc. If not set, use "en" for English as
         default.
        :paramtype language: str
        """
        super().__init__(**kwargs)
        self.question = question
        self.text_documents = text_documents
        self.language = language


[docs]class AnswersFromTextResult(_serialization.Model): """Represents the answer results. :ivar answers: Represents the answer results. :vartype answers: list[~azure.ai.language.questionanswering.models.TextAnswer] """ _attribute_map = { "answers": {"key": "answers", "type": "[TextAnswer]"}, } def __init__(self, *, answers: Optional[List["_models.TextAnswer"]] = None, **kwargs): """ :keyword answers: Represents the answer results. :paramtype answers: list[~azure.ai.language.questionanswering.models.TextAnswer] """ super().__init__(**kwargs) self.answers = answers
[docs]class AnswersOptions(_serialization.Model): """Parameters to query a knowledge base. :ivar qna_id: Exact QnA ID to fetch from the knowledge base, this field takes priority over question. :vartype qna_id: int :ivar question: User question to query against the knowledge base. :vartype question: str :ivar top: Max number of answers to be returned for the question. :vartype top: int :ivar user_id: Unique identifier for the user. :vartype user_id: str :ivar confidence_threshold: Minimum threshold score for answers, value ranges from 0 to 1. :vartype confidence_threshold: float :ivar answer_context: Context object with previous QnA's information. :vartype answer_context: ~azure.ai.language.questionanswering.models.KnowledgeBaseAnswerContext :ivar ranker_kind: Type of ranker to be used. :vartype ranker_kind: str :ivar filters: Filter QnAs based on given metadata list and knowledge base sources. :vartype filters: ~azure.ai.language.questionanswering.models.QueryFilters :ivar short_answer_options: To configure Answer span prediction feature. :vartype short_answer_options: ~azure.ai.language.questionanswering.models.ShortAnswerOptions :ivar include_unstructured_sources: (Optional) Flag to enable Query over Unstructured Sources. :vartype include_unstructured_sources: bool """ _validation = { "confidence_threshold": {"maximum": 1, "minimum": 0}, } _attribute_map = { "qna_id": {"key": "qnaId", "type": "int"}, "question": {"key": "question", "type": "str"}, "top": {"key": "top", "type": "int"}, "user_id": {"key": "userId", "type": "str"}, "confidence_threshold": {"key": "confidenceScoreThreshold", "type": "float"}, "answer_context": {"key": "context", "type": "KnowledgeBaseAnswerContext"}, "ranker_kind": {"key": "rankerType", "type": "str"}, "filters": {"key": "filters", "type": "QueryFilters"}, "short_answer_options": {"key": "answerSpanRequest", "type": "ShortAnswerOptions"}, "include_unstructured_sources": {"key": "includeUnstructuredSources", "type": "bool"}, } def __init__( self, *, qna_id: Optional[int] = None, question: Optional[str] = None, top: Optional[int] = None, user_id: Optional[str] = None, confidence_threshold: Optional[float] = None, answer_context: Optional["_models.KnowledgeBaseAnswerContext"] = None, ranker_kind: Optional[str] = None, filters: Optional["_models.QueryFilters"] = None, short_answer_options: Optional["_models.ShortAnswerOptions"] = None, include_unstructured_sources: Optional[bool] = None, **kwargs ): """ :keyword qna_id: Exact QnA ID to fetch from the knowledge base, this field takes priority over question. :paramtype qna_id: int :keyword question: User question to query against the knowledge base. :paramtype question: str :keyword top: Max number of answers to be returned for the question. :paramtype top: int :keyword user_id: Unique identifier for the user. :paramtype user_id: str :keyword confidence_threshold: Minimum threshold score for answers, value ranges from 0 to 1. :paramtype confidence_threshold: float :keyword answer_context: Context object with previous QnA's information. :paramtype answer_context: ~azure.ai.language.questionanswering.models.KnowledgeBaseAnswerContext :keyword ranker_kind: Type of ranker to be used. :paramtype ranker_kind: str :keyword filters: Filter QnAs based on given metadata list and knowledge base sources. :paramtype filters: ~azure.ai.language.questionanswering.models.QueryFilters :keyword short_answer_options: To configure Answer span prediction feature. :paramtype short_answer_options: ~azure.ai.language.questionanswering.models.ShortAnswerOptions :keyword include_unstructured_sources: (Optional) Flag to enable Query over Unstructured Sources. :paramtype include_unstructured_sources: bool """ super().__init__(**kwargs) self.qna_id = qna_id self.question = question self.top = top self.user_id = user_id self.confidence_threshold = confidence_threshold self.answer_context = answer_context self.ranker_kind = ranker_kind self.filters = filters self.short_answer_options = short_answer_options self.include_unstructured_sources = include_unstructured_sources
[docs]class AnswerSpan(_serialization.Model): """Answer span object of QnA. :ivar text: Predicted text of answer span. :vartype text: str :ivar confidence: Predicted score of answer span, value ranges from 0 to 1. :vartype confidence: float :ivar offset: The answer span offset from the start of answer. :vartype offset: int :ivar length: The length of the answer span. :vartype length: int """ _validation = { "confidence": {"maximum": 1, "minimum": 0}, } _attribute_map = { "text": {"key": "text", "type": "str"}, "confidence": {"key": "confidenceScore", "type": "float"}, "offset": {"key": "offset", "type": "int"}, "length": {"key": "length", "type": "int"}, } def __init__( self, *, text: Optional[str] = None, confidence: Optional[float] = None, offset: Optional[int] = None, length: Optional[int] = None, **kwargs ): """ :keyword text: Predicted text of answer span. :paramtype text: str :keyword confidence: Predicted score of answer span, value ranges from 0 to 1. :paramtype confidence: float :keyword offset: The answer span offset from the start of answer. :paramtype offset: int :keyword length: The length of the answer span. :paramtype length: int """ super().__init__(**kwargs) self.text = text self.confidence = confidence self.offset = offset self.length = length
[docs]class AnswersResult(_serialization.Model): """Represents List of Question Answers. :ivar answers: Represents Answer Result list. :vartype answers: list[~azure.ai.language.questionanswering.models.KnowledgeBaseAnswer] """ _attribute_map = { "answers": {"key": "answers", "type": "[KnowledgeBaseAnswer]"}, } def __init__(self, *, answers: Optional[List["_models.KnowledgeBaseAnswer"]] = None, **kwargs): """ :keyword answers: Represents Answer Result list. :paramtype answers: list[~azure.ai.language.questionanswering.models.KnowledgeBaseAnswer] """ super().__init__(**kwargs) self.answers = answers
[docs]class Error(_serialization.Model): """The error object. All required parameters must be populated in order to send to Azure. :ivar code: One of a server-defined set of error codes. Required. Known values are: "InvalidRequest", "InvalidArgument", "Unauthorized", "Forbidden", "NotFound", "ProjectNotFound", "OperationNotFound", "AzureCognitiveSearchNotFound", "AzureCognitiveSearchIndexNotFound", "TooManyRequests", "AzureCognitiveSearchThrottling", "AzureCognitiveSearchIndexLimitReached", "InternalServerError", and "ServiceUnavailable". :vartype code: str or ~azure.ai.language.questionanswering.models.ErrorCode :ivar message: A human-readable representation of the error. Required. :vartype message: str :ivar target: The target of the error. :vartype target: str :ivar details: An array of details about specific errors that led to this reported error. :vartype details: list[~azure.ai.language.questionanswering.models.Error] :ivar innererror: An object containing more specific information than the current object about the error. :vartype innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel """ _validation = { "code": {"required": True}, "message": {"required": True}, } _attribute_map = { "code": {"key": "code", "type": "str"}, "message": {"key": "message", "type": "str"}, "target": {"key": "target", "type": "str"}, "details": {"key": "details", "type": "[Error]"}, "innererror": {"key": "innererror", "type": "InnerErrorModel"}, } def __init__( self, *, code: Union[str, "_models.ErrorCode"], message: str, target: Optional[str] = None, details: Optional[List["_models.Error"]] = None, innererror: Optional["_models.InnerErrorModel"] = None, **kwargs ): """ :keyword code: One of a server-defined set of error codes. Required. Known values are: "InvalidRequest", "InvalidArgument", "Unauthorized", "Forbidden", "NotFound", "ProjectNotFound", "OperationNotFound", "AzureCognitiveSearchNotFound", "AzureCognitiveSearchIndexNotFound", "TooManyRequests", "AzureCognitiveSearchThrottling", "AzureCognitiveSearchIndexLimitReached", "InternalServerError", and "ServiceUnavailable". :paramtype code: str or ~azure.ai.language.questionanswering.models.ErrorCode :keyword message: A human-readable representation of the error. Required. :paramtype message: str :keyword target: The target of the error. :paramtype target: str :keyword details: An array of details about specific errors that led to this reported error. :paramtype details: list[~azure.ai.language.questionanswering.models.Error] :keyword innererror: An object containing more specific information than the current object about the error. :paramtype innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel """ super().__init__(**kwargs) self.code = code self.message = message self.target = target self.details = details self.innererror = innererror
[docs]class ErrorResponse(_serialization.Model): """Error response. :ivar error: The error object. :vartype error: ~azure.ai.language.questionanswering.models.Error """ _attribute_map = { "error": {"key": "error", "type": "Error"}, } def __init__(self, *, error: Optional["_models.Error"] = None, **kwargs): """ :keyword error: The error object. :paramtype error: ~azure.ai.language.questionanswering.models.Error """ super().__init__(**kwargs) self.error = error
[docs]class InnerErrorModel(_serialization.Model): """An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. All required parameters must be populated in order to send to Azure. :ivar code: One of a server-defined set of error codes. Required. Known values are: "InvalidRequest", "InvalidParameterValue", "KnowledgeBaseNotFound", "AzureCognitiveSearchNotFound", "AzureCognitiveSearchThrottling", and "ExtractionFailure". :vartype code: str or ~azure.ai.language.questionanswering.models.InnerErrorCode :ivar message: Error message. Required. :vartype message: str :ivar details: Error details. :vartype details: dict[str, str] :ivar target: Error target. :vartype target: str :ivar innererror: An object containing more specific information than the current object about the error. :vartype innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel """ _validation = { "code": {"required": True}, "message": {"required": True}, } _attribute_map = { "code": {"key": "code", "type": "str"}, "message": {"key": "message", "type": "str"}, "details": {"key": "details", "type": "{str}"}, "target": {"key": "target", "type": "str"}, "innererror": {"key": "innererror", "type": "InnerErrorModel"}, } def __init__( self, *, code: Union[str, "_models.InnerErrorCode"], message: str, details: Optional[Dict[str, str]] = None, target: Optional[str] = None, innererror: Optional["_models.InnerErrorModel"] = None, **kwargs ): """ :keyword code: One of a server-defined set of error codes. Required. Known values are: "InvalidRequest", "InvalidParameterValue", "KnowledgeBaseNotFound", "AzureCognitiveSearchNotFound", "AzureCognitiveSearchThrottling", and "ExtractionFailure". :paramtype code: str or ~azure.ai.language.questionanswering.models.InnerErrorCode :keyword message: Error message. Required. :paramtype message: str :keyword details: Error details. :paramtype details: dict[str, str] :keyword target: Error target. :paramtype target: str :keyword innererror: An object containing more specific information than the current object about the error. :paramtype innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel """ super().__init__(**kwargs) self.code = code self.message = message self.details = details self.target = target self.innererror = innererror
[docs]class KnowledgeBaseAnswer(_serialization.Model): """Represents knowledge base answer. :ivar questions: List of questions associated with the answer. :vartype questions: list[str] :ivar answer: Answer text. :vartype answer: str :ivar confidence: Answer confidence score, value ranges from 0 to 1. :vartype confidence: float :ivar qna_id: ID of the QnA result. :vartype qna_id: int :ivar source: Source of QnA result. :vartype source: str :ivar metadata: Metadata associated with the answer, useful to categorize or filter question answers. :vartype metadata: dict[str, str] :ivar dialog: Dialog associated with Answer. :vartype dialog: ~azure.ai.language.questionanswering.models.KnowledgeBaseAnswerDialog :ivar short_answer: Answer span object of QnA with respect to user's question. :vartype short_answer: ~azure.ai.language.questionanswering.models.AnswerSpan """ _validation = { "confidence": {"maximum": 1, "minimum": 0}, } _attribute_map = { "questions": {"key": "questions", "type": "[str]"}, "answer": {"key": "answer", "type": "str"}, "confidence": {"key": "confidenceScore", "type": "float"}, "qna_id": {"key": "id", "type": "int"}, "source": {"key": "source", "type": "str"}, "metadata": {"key": "metadata", "type": "{str}"}, "dialog": {"key": "dialog", "type": "KnowledgeBaseAnswerDialog"}, "short_answer": {"key": "answerSpan", "type": "AnswerSpan"}, } def __init__( self, *, questions: Optional[List[str]] = None, answer: Optional[str] = None, confidence: Optional[float] = None, qna_id: Optional[int] = None, source: Optional[str] = None, metadata: Optional[Dict[str, str]] = None, dialog: Optional["_models.KnowledgeBaseAnswerDialog"] = None, short_answer: Optional["_models.AnswerSpan"] = None, **kwargs ): """ :keyword questions: List of questions associated with the answer. :paramtype questions: list[str] :keyword answer: Answer text. :paramtype answer: str :keyword confidence: Answer confidence score, value ranges from 0 to 1. :paramtype confidence: float :keyword qna_id: ID of the QnA result. :paramtype qna_id: int :keyword source: Source of QnA result. :paramtype source: str :keyword metadata: Metadata associated with the answer, useful to categorize or filter question answers. :paramtype metadata: dict[str, str] :keyword dialog: Dialog associated with Answer. :paramtype dialog: ~azure.ai.language.questionanswering.models.KnowledgeBaseAnswerDialog :keyword short_answer: Answer span object of QnA with respect to user's question. :paramtype short_answer: ~azure.ai.language.questionanswering.models.AnswerSpan """ super().__init__(**kwargs) self.questions = questions self.answer = answer self.confidence = confidence self.qna_id = qna_id self.source = source self.metadata = metadata self.dialog = dialog self.short_answer = short_answer
[docs]class KnowledgeBaseAnswerContext(_serialization.Model): """Context object with previous QnA's information. All required parameters must be populated in order to send to Azure. :ivar previous_qna_id: Previous turn top answer result QnA ID. Required. :vartype previous_qna_id: int :ivar previous_question: Previous user query. :vartype previous_question: str """ _validation = { "previous_qna_id": {"required": True}, } _attribute_map = { "previous_qna_id": {"key": "previousQnaId", "type": "int"}, "previous_question": {"key": "previousUserQuery", "type": "str"}, } def __init__(self, *, previous_qna_id: int, previous_question: Optional[str] = None, **kwargs): """ :keyword previous_qna_id: Previous turn top answer result QnA ID. Required. :paramtype previous_qna_id: int :keyword previous_question: Previous user query. :paramtype previous_question: str """ super().__init__(**kwargs) self.previous_qna_id = previous_qna_id self.previous_question = previous_question
[docs]class KnowledgeBaseAnswerDialog(_serialization.Model): """Dialog associated with Answer. :ivar is_context_only: To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as search result for queries without context; otherwise, if false, ignores context and includes this QnA in search result. :vartype is_context_only: bool :ivar prompts: List of prompts associated with the answer. :vartype prompts: list[~azure.ai.language.questionanswering.models.KnowledgeBaseAnswerPrompt] """ _validation = { "prompts": {"max_items": 20, "min_items": 0}, } _attribute_map = { "is_context_only": {"key": "isContextOnly", "type": "bool"}, "prompts": {"key": "prompts", "type": "[KnowledgeBaseAnswerPrompt]"}, } def __init__( self, *, is_context_only: Optional[bool] = None, prompts: Optional[List["_models.KnowledgeBaseAnswerPrompt"]] = None, **kwargs ): """ :keyword is_context_only: To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as search result for queries without context; otherwise, if false, ignores context and includes this QnA in search result. :paramtype is_context_only: bool :keyword prompts: List of prompts associated with the answer. :paramtype prompts: list[~azure.ai.language.questionanswering.models.KnowledgeBaseAnswerPrompt] """ super().__init__(**kwargs) self.is_context_only = is_context_only self.prompts = prompts
[docs]class KnowledgeBaseAnswerPrompt(_serialization.Model): """Prompt for an answer. :ivar display_order: Index of the prompt - used in ordering of the prompts. :vartype display_order: int :ivar qna_id: QnA ID corresponding to the prompt. :vartype qna_id: int :ivar display_text: Text displayed to represent a follow up question prompt. :vartype display_text: str """ _validation = { "display_text": {"max_length": 200}, } _attribute_map = { "display_order": {"key": "displayOrder", "type": "int"}, "qna_id": {"key": "qnaId", "type": "int"}, "display_text": {"key": "displayText", "type": "str"}, } def __init__( self, *, display_order: Optional[int] = None, qna_id: Optional[int] = None, display_text: Optional[str] = None, **kwargs ): """ :keyword display_order: Index of the prompt - used in ordering of the prompts. :paramtype display_order: int :keyword qna_id: QnA ID corresponding to the prompt. :paramtype qna_id: int :keyword display_text: Text displayed to represent a follow up question prompt. :paramtype display_text: str """ super().__init__(**kwargs) self.display_order = display_order self.qna_id = qna_id self.display_text = display_text
class MetadataFilter(_serialization.Model): """Find QnAs that are associated with the given list of metadata. :ivar metadata: :vartype metadata: list[JSON] :ivar logical_operation: Operation used to join metadata filters. :vartype logical_operation: str """ _attribute_map = { "metadata": {"key": "metadata", "type": "[object]"}, "logical_operation": {"key": "logicalOperation", "type": "str"}, } def __init__(self, *, metadata: Optional[List[JSON]] = None, logical_operation: Optional[str] = None, **kwargs): """ :keyword metadata: :paramtype metadata: list[JSON] :keyword logical_operation: Operation used to join metadata filters. :paramtype logical_operation: str """ super().__init__(**kwargs) self.metadata = metadata self.logical_operation = logical_operation
[docs]class QueryFilters(_serialization.Model): """filters over knowledge base. :ivar metadata_filter: Find QnAs that are associated with the given list of metadata. :vartype metadata_filter: ~azure.ai.language.questionanswering.models.MetadataFilter :ivar source_filter: Find QnAs that are associated with any of the given list of sources in knowledge base. :vartype source_filter: list[str] :ivar logical_operation: Logical operation used to join metadata filter with source filter. :vartype logical_operation: str """ _attribute_map = { "metadata_filter": {"key": "metadataFilter", "type": "MetadataFilter"}, "source_filter": {"key": "sourceFilter", "type": "[str]"}, "logical_operation": {"key": "logicalOperation", "type": "str"}, } def __init__( self, *, metadata_filter: Optional["_models.MetadataFilter"] = None, source_filter: Optional[List[str]] = None, logical_operation: Optional[str] = None, **kwargs ): """ :keyword metadata_filter: Find QnAs that are associated with the given list of metadata. :paramtype metadata_filter: ~azure.ai.language.questionanswering.models.MetadataFilter :keyword source_filter: Find QnAs that are associated with any of the given list of sources in knowledge base. :paramtype source_filter: list[str] :keyword logical_operation: Logical operation used to join metadata filter with source filter. :paramtype logical_operation: str """ super().__init__(**kwargs) self.metadata_filter = metadata_filter self.source_filter = source_filter self.logical_operation = logical_operation
[docs]class ShortAnswerOptions(_serialization.Model): """To configure Answer span prediction feature. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar enable: Enable or disable Answer Span prediction. Required. Default value is True. :vartype enable: bool :ivar confidence_threshold: Minimum threshold score required to include an answer span, value ranges from 0 to 1. :vartype confidence_threshold: float :ivar top: Number of Top answers to be considered for span prediction from 1 to 10. :vartype top: int """ _validation = { "enable": {"required": True, "constant": True}, "confidence_threshold": {"maximum": 1, "minimum": 0}, "top": {"maximum": 10, "minimum": 1}, } _attribute_map = { "enable": {"key": "enable", "type": "bool"}, "confidence_threshold": {"key": "confidenceScoreThreshold", "type": "float"}, "top": {"key": "topAnswersWithSpan", "type": "int"}, } enable = True def __init__(self, *, confidence_threshold: Optional[float] = None, top: Optional[int] = None, **kwargs): """ :keyword confidence_threshold: Minimum threshold score required to include an answer span, value ranges from 0 to 1. :paramtype confidence_threshold: float :keyword top: Number of Top answers to be considered for span prediction from 1 to 10. :paramtype top: int """ super().__init__(**kwargs) self.confidence_threshold = confidence_threshold self.top = top
[docs]class TextAnswer(_serialization.Model): """Represents answer result. :ivar answer: Answer. :vartype answer: str :ivar confidence: answer confidence score, value ranges from 0 to 1. :vartype confidence: float :ivar id: record ID. :vartype id: str :ivar short_answer: Answer span object with respect to user's question. :vartype short_answer: ~azure.ai.language.questionanswering.models.AnswerSpan :ivar offset: The sentence offset from the start of the document. :vartype offset: int :ivar length: The length of the sentence. :vartype length: int """ _validation = { "confidence": {"maximum": 1, "minimum": 0}, } _attribute_map = { "answer": {"key": "answer", "type": "str"}, "confidence": {"key": "confidenceScore", "type": "float"}, "id": {"key": "id", "type": "str"}, "short_answer": {"key": "answerSpan", "type": "AnswerSpan"}, "offset": {"key": "offset", "type": "int"}, "length": {"key": "length", "type": "int"}, } def __init__( self, *, answer: Optional[str] = None, confidence: Optional[float] = None, id: Optional[str] = None, # pylint: disable=redefined-builtin short_answer: Optional["_models.AnswerSpan"] = None, offset: Optional[int] = None, length: Optional[int] = None, **kwargs ): """ :keyword answer: Answer. :paramtype answer: str :keyword confidence: answer confidence score, value ranges from 0 to 1. :paramtype confidence: float :keyword id: record ID. :paramtype id: str :keyword short_answer: Answer span object with respect to user's question. :paramtype short_answer: ~azure.ai.language.questionanswering.models.AnswerSpan :keyword offset: The sentence offset from the start of the document. :paramtype offset: int :keyword length: The length of the sentence. :paramtype length: int """ super().__init__(**kwargs) self.answer = answer self.confidence = confidence self.id = id self.short_answer = short_answer self.offset = offset self.length = length
[docs]class TextDocument(_serialization.Model): """Represent input text record to be queried. All required parameters must be populated in order to send to Azure. :ivar id: Unique identifier for the text record. Required. :vartype id: str :ivar text: Text contents of the record. Required. :vartype text: str """ _validation = { "id": {"required": True}, "text": {"required": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "text": {"key": "text", "type": "str"}, } def __init__(self, *, id: str, text: str, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Unique identifier for the text record. Required. :paramtype id: str :keyword text: Text contents of the record. Required. :paramtype text: str """ super().__init__(**kwargs) self.id = id self.text = text