caikit.interfaces.nlp.data_model.classification =============================================== .. py:module:: caikit.interfaces.nlp.data_model.classification .. autoapi-nested-parse:: Data structures for classification representations Attributes ---------- .. autoapisummary:: caikit.interfaces.nlp.data_model.classification.log Classes ------- .. autoapisummary:: caikit.interfaces.nlp.data_model.classification.InputWarningReason caikit.interfaces.nlp.data_model.classification.InputWarning caikit.interfaces.nlp.data_model.classification.ClassificationTrainRecord caikit.interfaces.nlp.data_model.classification.ClassificationResult caikit.interfaces.nlp.data_model.classification.ClassificationResults caikit.interfaces.nlp.data_model.classification.TokenClassificationResult caikit.interfaces.nlp.data_model.classification.TokenClassificationResults caikit.interfaces.nlp.data_model.classification.TokenClassificationStreamResult caikit.interfaces.nlp.data_model.classification.ClassifiedGeneratedTextResult caikit.interfaces.nlp.data_model.classification.ClassifiedGeneratedTextStreamResult Module Contents --------------- .. py:data:: log .. py:class:: InputWarningReason(*args, **kwds) Bases: :py:obj:`enum.Enum` Create a collection of name/value pairs. Example enumeration: >>> class Color(Enum): ... RED = 1 ... BLUE = 2 ... GREEN = 3 Access them by: - attribute access:: >>> Color.RED - value lookup: >>> Color(1) - name lookup: >>> Color['RED'] Enumerations can be iterated over, and know how many members they have: >>> len(Color) 3 >>> list(Color) [, , ] Methods can be added to enumerations, and members can have their own attributes -- see the documentation for details. .. py:attribute:: UNSUITABLE_INPUT :value: 0 .. py:class:: InputWarning Bases: :py:obj:`caikit.core.DataObjectBase` Input Warning data object, which returns a reason and message associated with warnings to issue to a user that causes errors (such as failed text generation) .. py:attribute:: id :type: py_to_proto.dataclass_to_proto.Annotated[InputWarningReason, FieldNumber(1)] .. py:attribute:: message :type: py_to_proto.dataclass_to_proto.Annotated[str, FieldNumber(2)] .. py:class:: ClassificationTrainRecord Bases: :py:obj:`caikit.core.DataObjectBase` A classification training record consisting of a single train instance. .. py:attribute:: text :type: py_to_proto.dataclass_to_proto.Annotated[str, FieldNumber(1)] .. py:attribute:: labels :type: py_to_proto.dataclass_to_proto.Annotated[List[str], FieldNumber(2)] .. py:class:: ClassificationResult Bases: :py:obj:`caikit.core.DataObjectBase` A single classification prediction. .. py:attribute:: label :type: py_to_proto.dataclass_to_proto.Annotated[str, FieldNumber(1)] .. py:attribute:: score :type: py_to_proto.dataclass_to_proto.Annotated[float, FieldNumber(2)] .. py:class:: ClassificationResults Bases: :py:obj:`caikit.core.DataObjectBase` Classification results generated from a text and consisting multiple classes. .. py:attribute:: results :type: py_to_proto.dataclass_to_proto.Annotated[List[ClassificationResult], FieldNumber(1)] .. py:class:: TokenClassificationResult Bases: :py:obj:`caikit.core.DataObjectBase` A single token classification prediction. .. py:attribute:: start :type: py_to_proto.dataclass_to_proto.Annotated[int, FieldNumber(1)] .. py:attribute:: end :type: py_to_proto.dataclass_to_proto.Annotated[int, FieldNumber(2)] .. py:attribute:: word :type: py_to_proto.dataclass_to_proto.Annotated[str, FieldNumber(3)] .. py:attribute:: entity :type: py_to_proto.dataclass_to_proto.Annotated[str, FieldNumber(4)] .. py:attribute:: entity_group :type: py_to_proto.dataclass_to_proto.Annotated[str, FieldNumber(5)] .. py:attribute:: score :type: py_to_proto.dataclass_to_proto.Annotated[float, FieldNumber(6)] .. py:attribute:: token_count :type: py_to_proto.dataclass_to_proto.Annotated[Optional[int], FieldNumber(7)] .. py:class:: TokenClassificationResults Bases: :py:obj:`caikit.core.DataObjectBase` Token classification results generated from a text and consisting multiple classes. .. py:attribute:: results :type: py_to_proto.dataclass_to_proto.Annotated[List[TokenClassificationResult], FieldNumber(1)] .. py:class:: TokenClassificationStreamResult Bases: :py:obj:`TokenClassificationResults` Streaming token classification results that indicates up to where in stream is processed. .. py:attribute:: processed_index :type: py_to_proto.dataclass_to_proto.Annotated[int, FieldNumber(2)] .. py:attribute:: start_index :type: py_to_proto.dataclass_to_proto.Annotated[int, FieldNumber(3)] .. py:class:: ClassifiedGeneratedTextResult Bases: :py:obj:`caikit.core.DataObjectBase` Classification result on text produced by a text generation model, contains information from the original text generation output as well as the result of classification on the generated text. .. py:class:: TextGenTokenClassificationResults Bases: :py:obj:`caikit.core.DataObjectBase` A DataObject is a data model class that is backed by a @dataclass. Data model classes that use the @dataobject decorator must derive from this base class. .. py:attribute:: input :type: py_to_proto.dataclass_to_proto.Annotated[Optional[List[TokenClassificationResult]], FieldNumber(10)] .. py:attribute:: output :type: py_to_proto.dataclass_to_proto.Annotated[Optional[List[TokenClassificationResult]], FieldNumber(20)] .. py:attribute:: generated_text :type: py_to_proto.dataclass_to_proto.Annotated[Optional[str], FieldNumber(1)] .. py:attribute:: token_classification_results :type: py_to_proto.dataclass_to_proto.Annotated[Optional[ClassifiedGeneratedTextResult.TextGenTokenClassificationResults], FieldNumber(2)] .. py:attribute:: finish_reason :type: py_to_proto.dataclass_to_proto.Annotated[Optional[caikit.interfaces.nlp.data_model.text_generation.FinishReason], FieldNumber(3)] .. py:attribute:: generated_token_count :type: py_to_proto.dataclass_to_proto.Annotated[Optional[int], FieldNumber(4)] .. py:attribute:: seed :type: py_to_proto.dataclass_to_proto.Annotated[Optional[numpy.uint64], FieldNumber(5)] .. py:attribute:: input_token_count :type: py_to_proto.dataclass_to_proto.Annotated[Optional[int], FieldNumber(6)] .. py:attribute:: warnings :type: py_to_proto.dataclass_to_proto.Annotated[Optional[List[InputWarning]], FieldNumber(9)] .. py:attribute:: tokens :type: py_to_proto.dataclass_to_proto.Annotated[Optional[List[caikit.interfaces.nlp.data_model.text_generation.GeneratedToken]], FieldNumber(10)] .. py:attribute:: input_tokens :type: py_to_proto.dataclass_to_proto.Annotated[Optional[List[caikit.interfaces.nlp.data_model.text_generation.GeneratedToken]], FieldNumber(11)] .. py:class:: ClassifiedGeneratedTextStreamResult Bases: :py:obj:`ClassifiedGeneratedTextResult` Streaming classification on generated text result that indicates up to where in stream is processed. .. py:attribute:: processed_index :type: py_to_proto.dataclass_to_proto.Annotated[Optional[int], FieldNumber(7)] .. py:attribute:: start_index :type: py_to_proto.dataclass_to_proto.Annotated[int, FieldNumber(8)]