/ src / evidently / descriptors / __init__.py
__init__.py
  1  """Row-level descriptors for evaluating text and LLM outputs.
  2  
  3  Descriptors compute scores or labels for individual rows in your dataset.
  4  They are used to assess text quality, LLM output characteristics, and other
  5  row-level properties. After computing descriptors, you can:
  6  - View them as columns in your dataset
  7  - Use them in `TextEvals` preset to summarize across the dataset
  8  - Add conditions to create descriptor tests
  9  
 10  Descriptors range from simple (e.g., `TextLength`) to complex LLM-based
 11  evaluations (e.g., `LLMEval`, `LLMJudge`).
 12  
 13  **Documentation**:
 14  - [All Descriptors](https://docs.evidentlyai.com/metrics/all_descriptors) for a complete reference
 15  - [Descriptors Guide](https://docs.evidentlyai.com/docs/library/descriptors) for usage instructions
 16  
 17  Example:
 18  ```python
 19  from evidently import Dataset
 20  from evidently.descriptors import TextLength, LLMEval
 21  
 22  dataset = Dataset.from_pandas(df)
 23  dataset.add_descriptors([
 24      TextLength(column="response"),
 25      LLMEval(column="response", prompt="Is this response helpful?")
 26  ])
 27  ```
 28  """
 29  
 30  from evidently.core.datasets import ColumnTest
 31  from evidently.core.datasets import TestSummary
 32  
 33  from ._context_relevance import ContextRelevance
 34  from ._custom_descriptors import CustomColumnDescriptor
 35  from ._custom_descriptors import CustomDescriptor
 36  from ._text_length import TextLength
 37  from .generated_descriptors import BeginsWith
 38  from .generated_descriptors import BERTScore
 39  from .generated_descriptors import BiasLLMEval
 40  from .generated_descriptors import BinaryClassificationLLMEval
 41  from .generated_descriptors import CompletenessLLMEval
 42  from .generated_descriptors import ContainsLink
 43  from .generated_descriptors import ContextQualityLLMEval
 44  from .generated_descriptors import CorrectnessLLMEval
 45  from .generated_descriptors import DeclineLLMEval
 46  from .generated_descriptors import EndsWith
 47  from .generated_descriptors import ExactMatch
 48  from .generated_descriptors import FaithfulnessLLMEval
 49  from .generated_descriptors import HuggingFace
 50  from .generated_descriptors import HuggingFaceToxicity
 51  from .generated_descriptors import IsValidJSON
 52  from .generated_descriptors import IsValidPython
 53  from .generated_descriptors import IsValidSQL
 54  from .generated_descriptors import JSONMatch
 55  from .generated_descriptors import JSONSchemaMatch
 56  from .generated_descriptors import LLMEval
 57  from .generated_descriptors import LLMJudge
 58  from .generated_descriptors import MulticlassClassificationLLMEval
 59  from .generated_descriptors import NegativityLLMEval
 60  from .generated_descriptors import NonLetterCharacterPercentage
 61  from .generated_descriptors import OOVWordsPercentage
 62  from .generated_descriptors import OpenAI
 63  from .generated_descriptors import PIILLMEval
 64  from .generated_descriptors import SemanticSimilarity
 65  from .generated_descriptors import SentenceCount
 66  from .generated_descriptors import Sentiment
 67  from .generated_descriptors import ToxicityLLMEval
 68  from .generated_descriptors import WordCount
 69  from .text_match import Contains
 70  from .text_match import DoesNotContain
 71  from .text_match import ExcludesWords
 72  from .text_match import IncludesWords
 73  from .text_match import ItemMatch
 74  from .text_match import ItemNoMatch
 75  from .text_match import RegExp
 76  from .text_match import TextMatch
 77  from .text_match import TriggerWordsPresent
 78  from .text_match import WordMatch
 79  from .text_match import WordNoMatch
 80  from .text_match import WordsPresence
 81  
 82  __all__ = [
 83      "BERTScore",
 84      "BeginsWith",
 85      "BiasLLMEval",
 86      "BinaryClassificationLLMEval",
 87      "ColumnTest",
 88      "CompletenessLLMEval",
 89      "Contains",
 90      "ContainsLink",
 91      "ContextQualityLLMEval",
 92      "ContextRelevance",
 93      "CorrectnessLLMEval",
 94      "CustomColumnDescriptor",
 95      "CustomDescriptor",
 96      "DeclineLLMEval",
 97      "DoesNotContain",
 98      "EndsWith",
 99      "ExactMatch",
100      "ExcludesWords",
101      "FaithfulnessLLMEval",
102      "HuggingFace",
103      "HuggingFaceToxicity",
104      "IncludesWords",
105      "IsValidJSON",
106      "IsValidPython",
107      "IsValidSQL",
108      "ItemMatch",
109      "ItemNoMatch",
110      "JSONMatch",
111      "JSONSchemaMatch",
112      "LLMEval",
113      "LLMJudge",
114      "MulticlassClassificationLLMEval",
115      "NegativityLLMEval",
116      "NonLetterCharacterPercentage",
117      "OOVWordsPercentage",
118      "OpenAI",
119      "PIILLMEval",
120      "RegExp",
121      "SemanticSimilarity",
122      "SentenceCount",
123      "Sentiment",
124      "TestSummary",
125      "TextLength",
126      "TextMatch",
127      "Contains",
128      "DoesNotContain",
129      "ItemMatch",
130      "ItemNoMatch",
131      "WordsPresence",
132      "IncludesWords",
133      "ExcludesWords",
134      "WordMatch",
135      "WordNoMatch",
136      "TriggerWordsPresent",
137      "RegExp",
138      "ToxicityLLMEval",
139      "WordCount",
140  ]