fdl.Enrichment() class in the Python Client SDK. For detailed configuration examples, see the Enrichments Guide. For help choosing the right enrichment, see Selecting Enrichments.
For ML model metrics (performance, drift, data integrity), see the ML Metrics Reference.
Safety metrics
Safety enrichments detect and flag unsafe, harmful, or policy-violating content in your LLM application’s inputs and outputs.Safety
The Safety enrichment evaluates text safety across 11 dimensions using Fiddler’s proprietary Centor Models. Each dimension produces a boolean flag and a confidence probability score. Enrichment key:ftl_prompt_safety
An aggregate
max_risk_prob output is also generated, representing the maximum probability across all 11 dimensions.
For configuration details, see Enrichments: Safety.
PII Detection
Detects and flags personally identifiable information using Presidio. Generates a boolean flag, matched text spans, and detected entity types. Enrichment key:pii
Commonly used entity types: CREDIT_CARD, CRYPTO, DATE_TIME, EMAIL_ADDRESS, IBAN_CODE, IP_ADDRESS, LOCATION, PERSON, PHONE_NUMBER, URL, US_SSN, US_DRIVER_LICENSE, US_ITIN, US_PASSPORT
Fiddler supports 32 entity types in total, including international identifiers for Australia, India, Singapore, and the UK. For the full list, see the Presidio supported entities.
For configuration details, see Enrichments: PII.
Profanity
Flags offensive or inappropriate language using curated word lists from SurgeAI and Google. Enrichment key:profanity
For configuration details, see Enrichments: Profanity.
Banned Keywords
Detects user-defined restricted terms in text inputs. The list of banned keywords is specified in the enrichment configuration. Enrichment key:banned_keywords
For configuration details, see Enrichments: Banned Keywords.
Regex Match
Matches text against a user-defined regular expression pattern. Produces a categorical output of “Match” or “No Match”. Enrichment key:regex_match
For configuration details, see Enrichments: Regex Match.
Language Detection
Identifies the language of the source text using fasttext models. Produces the detected language and a confidence probability. Enrichment key:language_detection
For configuration details, see Enrichments: Language Detection.
Topic Classification
Classifies text into user-defined topics using a zero-shot classification model. Produces per-topic probability scores and the top-scoring topic. Enrichment key:topic_model
For configuration details, see Enrichments: Topic.
Quality and hallucination metrics
Quality enrichments assess the accuracy, groundedness, and relevance of LLM-generated responses.Faithfulness (Centor Model)
Evaluates the factual groundedness of AI-generated responses against provided context using Fiddler’s proprietary Centor Models. Produces a boolean faithfulness flag and a confidence probability score. Enrichment key:ftl_response_faithfulness
The faithfulness threshold defaults to 0.5 and can be adjusted in the configuration to control scoring sensitivity. Higher thresholds result in stricter faithfulness detection (fewer responses labeled as faithful).
RAG Faithfulness
Evaluates the accuracy and reliability of facts presented in AI-generated responses by checking whether the information aligns with the provided context documents. Uses an OpenAI LLM for evaluation. Enrichment key:faithfulness
RAG Faithfulness vs Faithfulness (Centor Model): This enrichment uses OpenAI for evaluation. Faithfulness (Centor Model) uses Fiddler Centor Models for lower latency. See LLM-Based Metrics for a detailed comparison.
Answer Relevance
Evaluates whether AI-generated responses address the input prompt. Produces a binary relevant/not-relevant result. Enrichment key:answer_relevance
For configuration details, see Enrichments: Answer Relevance.
Coherence
Assesses the logical flow and clarity of AI-generated responses, checking whether the content maintains a consistent theme and argument structure. Enrichment key:coherence
For configuration details, see Enrichments: Coherence.
Conciseness
Evaluates whether AI-generated responses communicate their message efficiently without unnecessary elaboration or redundancy. Enrichment key:conciseness
For configuration details, see Enrichments: Conciseness.
Text statistics metrics
Text statistics enrichments provide quantitative analysis of text properties, including readability, length, and n-gram-based evaluation scores.Textstat
Generates text readability and complexity statistics using the textstat library. You can select specific statistics or use all 19 available metrics. Enrichment key:textstat
If no statistics are specified in the configuration, the default statistic is
flesch_kincaid_grade.Evaluate
Computes n-gram-based evaluation metrics for comparing two text passages, such as an AI-generated response and a reference answer. These metrics score highest when the reference and generated texts contain overlapping sequences. Enrichment key:evaluate
For configuration details, see Enrichments: Evaluate.
Sentiment
Provides sentiment analysis using NLTK’s VADER lexicon. Produces a compound score and a categorical sentiment label. Enrichment key:sentiment
For configuration details, see Enrichments: Sentiment.
Token Count
Counts the number of tokens in a string using the tiktoken library. Enrichment key:token_count
For configuration details, see Enrichments: Token Count.
Text validation metrics
Text validation enrichments verify the structural correctness of generated text outputs such as SQL queries and JSON payloads.SQL Validation
Validates SQL query syntax for a specified dialect. Supports 25+ SQL dialects including MySQL, PostgreSQL, Snowflake, BigQuery, and others. Enrichment key:sql_validation
Query validation is syntax-based and does not check against any existing schema or databases for validity.
JSON Validation
Validates JSON for correctness and optionally against a user-defined JSON Schema. Enrichment key:json_validation
For configuration details, see Enrichments: JSON Validation.
Embedding metrics
Embedding enrichments convert text into vector representations for drift detection and visualization.Text Embedding
Converts unstructured text into high-dimensional vector representations for semantic analysis. Enables Fiddler’s 3D UMAP visualizations and embedding-based drift detection. Class:fdl.TextEmbedding()
TextEmbedding is configured using
fdl.TextEmbedding() rather than fdl.Enrichment(). See the Enrichments Guide for usage examples.Centroid Distance
Measures the distance between a data point’s embedding and the nearest cluster centroid. This metric is automatically generated when a TextEmbedding enrichment is created. For configuration details, see Enrichments: Centroid Distance.Related resources
- ML Metrics Reference — Built-in metrics for ML model monitoring
- Enrichments Guide — Configuration examples for all enrichments
- Selecting Enrichments — Choosing the right enrichment for your use case
- LLM-Based Metrics — Detailed comparison of LLM-based evaluation methods