{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Openlayer","colors":{"primary":"#592FEA","light":"#7A58EE","dark":"#7A58EE"},"logo":{"light":"https://mintcdn.com/openlayer-docs/j8aCq8ZxFTiWgvd7/logo/logo-docs-brand.svg?fit=max\u0026auto=format\u0026n=j8aCq8ZxFTiWgvd7\u0026q=85\u0026s=e33e9c38c5e338a9df337ef2c11c1d12","dark":"https://mintcdn.com/openlayer-docs/j8aCq8ZxFTiWgvd7/logo/logo-docs-brand-dark.svg?fit=max\u0026auto=format\u0026n=j8aCq8ZxFTiWgvd7\u0026q=85\u0026s=55cba7faebfb90304a52071092233014","href":"https://openlayer.com"},"favicon":"https://mintcdn.com/openlayer-docs/V8WkhV9OB3C8n0Xk/favicon.svg?fit=max\u0026auto=format\u0026n=V8WkhV9OB3C8n0Xk\u0026q=85\u0026s=abe75e70e20a31a0c2b99b49d2ae158b","api":{"openapi":["api-reference/openapi.yaml"],"playground":{"display":"none"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.openlayer.com/v1"}},"appearance":{"default":"system"},"background":{"color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"links":[{"href":"https://discord.gg/t6wS2g6MMB","label":"Community"},{"href":"https://app.openlayer.com/?login=true","label":"Log in"}],"primary":{"type":"button","label":"Get started","href":"https://app.openlayer.com/"}},"footer":{"socials":{"discord":"https://discord.gg/t6wS2g6MMB","linkedin":"https://www.linkedin.com/company/openlayerco","twitter":"https://twitter.com/openlayerco"}},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"integrations":{"mixpanel":{"projectToken":"401ce9e4de4663c33009eb3d140d3945"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"openlayer-docs","hasAudioNarration":false,"actualSubdomain":"openlayer-docs","customDomains":["openlayer.com"],"gitSource":{"type":"github","owner":"openlayer-ai","repo":"openlayer-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adba8dcdabdb6666ffbb5d3","collectionId":"d67b1571-3d14-4211-9343-a504e93e25f7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adba8dcdabdb6666ffbb5d3"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adba8dcdabdb6666ffbb5d3","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Documentation","count":196},{"language":"default","tag":"Tests","count":122},{"language":"default","tag":"Catalog","count":111},{"language":"default","tag":"Reference","count":91},{"language":"default","tag":"REST API","count":64},{"language":"default","tag":"Integrations","count":55},{"language":"default","tag":"Governance","count":35},{"language":"default","tag":"Observability","count":23},{"language":"default","tag":"CLI","count":19},{"language":"default","tag":"Commands","count":17}]},"assistantConfig":{},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"tests/browse","slug":"/tests/browse","pageMetadata":{"title":"Browse tests","mode":"frame","icon":"scan-search","description":null,"href":"/tests/browse"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const TestCatalog=()=>{const _components={a:`a`,..._provideComponents()};const[searchTerm,setSearchTerm]=useState(``);const[selectedType,setSelectedType]=useState(`all`);const tests=[{title:`LLM-as-a-judge`,description:`Create tests using an LLM as a judge with descriptive evaluations and scoring.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/l-l-m-rubric-threshold`,icon:`/icons/18-gavel.svg`},{title:`Jev-as-a-judge`,description:`Judge every row in a window with a calibrated classifier.`,tags:[`METRICS`,`AGENTIC`],href:`/tests/catalog/jev-as-a-judge-threshold`,icon:`/icons/18-gavel.svg`},{title:`Contains PII`,description:`Detect and validate the presence of personal identifiable information in your data.`,tags:[`DATA QUALITY`,`EU AI ACT`,`OWASP`,`SAFETY`,`AGENTIC`],href:`/tests/catalog/contains-p-i-i`,icon:`/icons/18-password.svg`},{title:`Has prompt injection`,description:`Check for prompt injection, malicious strings and jailbreak attempts in input data.`,tags:[`DATA QUALITY`,`EU AI ACT`,`OWASP`,`SAFETY`,`AGENTIC`],href:`/tests/catalog/has-prompt-injection-count`,icon:`/icons/18-syringe.svg`},{title:`Unauthorized tool calls`,description:`Check whether an agent calls any tool outside of an allowed list.`,tags:[`AGENTIC`,`OWASP`,`SAFETY`],href:`/tests/catalog/unauthorized-tool-calls`,icon:`/icons/18-gavel.svg`},{title:`Hallucination`,description:`Measures the extent to which the generated answer contains information that is not supported by or contradicts the given context.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/hallucination`,icon:`/icons/18-ball-crystal.svg`},{title:`Answer correctness`,description:`Measures the accuracy of the generated answer when compared to the ground truth.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/answer-correctness`,icon:`/icons/18-target.svg`},{title:`Answer relevancy`,description:`Assesses how pertinent the generated answer is to the given prompt.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`],href:`/tests/catalog/answer-relevancy`,icon:`/icons/18-radar.svg`},{title:`Coherence`,description:`Does the submission present ideas, information, or arguments in a logical and organized manner?`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/coherence`,icon:`/icons/18-grid-layout-11.svg`},{title:`Conciseness`,description:`Does the submission convey information or ideas clearly and efficiently, without unnecessary or redundant details?`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/conciseness`,icon:`/icons/18-reduce-2.svg`},{title:`Context recall`,description:`Measures the extent to which the retrieved context aligns with the annotated answer, treated as the ground truth.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/context-recall`,icon:`/icons/18-replace-objs.svg`},{title:`Context relevancy`,description:`Also known as context precision, it measures the relevance of the retrieved context to the given prompt.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/context-relevancy`,icon:`/icons/18-arrows-to-center.svg`},{title:`Context utilization`,description:`Measures the proportion of the retrieved context that is utilized in the generated answer.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/context-utilization`,icon:`/icons/18-folders.svg`},{title:`Correctness`,description:`Is the submission factually accurate and free from errors?`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/correctness`,icon:`/icons/18-target.svg`},{title:`Faithfulness`,description:`Measures the factual consistency of the generated answer against the given context.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`,`OWASP`],href:`/tests/catalog/faithfulness`,icon:`/icons/18-square-circle-group.svg`},{title:`Bias`,description:`LLM-as-a-judge template that detects political, gender, racial, religious, age, socioeconomic, confirmation, and cultural bias in LLM outputs. Supports PT-BR and ES.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`,`FAIRNESS`],href:`/tests/catalog/bias`,icon:`/icons/18-balance-off.svg`},{title:`Group outcome disparity`,description:`Compare favorable outcome rates across protected groups and intersections, with impact ratios, an adverse-impact indicator, and significance tests.`,tags:[`FAIRNESS`],href:`/tests/catalog/group-outcome-disparity`,icon:`/icons/18-circle-percentage.svg`},{title:`Group score disparity`,description:`Compare a numeric score, such as a risk score, across protected groups with mean and median gaps, scoring rates, and significance tests.`,tags:[`FAIRNESS`],href:`/tests/catalog/group-score-disparity`,icon:`/icons/18-chart-bar-axis-x.svg`},{title:`Group performance parity`,description:`Compare error rates and performance metrics, such as false negative rate and accuracy, across protected groups and intersections.`,tags:[`FAIRNESS`],href:`/tests/catalog/group-performance-parity`,icon:`/icons/18-crosshairs.svg`},{title:`Group metric parity`,description:`Compare model metrics or column statistics, such as AUC, MAE, judge scores, latency, or refusal rates, across protected groups and intersections.`,tags:[`FAIRNESS`],href:`/tests/catalog/group-metric-parity`,icon:`/icons/18-measure.svg`},{title:`Harmfulness`,description:`Does the submission cause or have the potential to cause harm to individuals, groups, or society at large?`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`,`OWASP`],href:`/tests/catalog/harmfulness`,icon:`/icons/18-flask.svg`},{title:`Maliciousness`,description:`Does the submission intend to harm, deceive, or exploit users?`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`,`OWASP`],href:`/tests/catalog/maliciousness`,icon:`/icons/18-slice.svg`},{title:`Toxicity`,description:`LLM-as-a-judge template that evaluates whether an AI assistant's response contains harmful, toxic, or inappropriate content.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/toxicity`,icon:`/icons/18-gavel.svg`},{title:`Groundedness`,description:`LLM-as-a-judge template that evaluates whether every factual statement in the AI assistant's response is grounded in provided context.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/groundedness`,icon:`/icons/18-gavel.svg`},{title:`Recommends competitor`,description:`LLM-as-a-judge template that evaluates whether an AI assistant's response recommends a competitor.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`],href:`/tests/catalog/recommends-competitor`,icon:`/icons/18-gavel.svg`},{title:`Character length`,description:`Define minimum and/or maximum bounds on the number of characters in a column.`,tags:[`DATA QUALITY`],href:`/tests/catalog/character-length`,icon:`/icons/18-text-scale-x.svg`},{title:`Sentence length`,description:`Validate text sentence lengths with configurable minimum and maximum bounds.`,tags:[`DATA QUALITY`],href:`/tests/catalog/sentence-length`,icon:`/icons/18-flask.svg`},{title:`Null rows`,description:`Specify the number or percentage of rows with missing values in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/null-count`,icon:`/icons/18-square-dashed.svg`},{title:`Number of rows`,description:`Validate the number of rows in your dataset meets expectations.`,tags:[`DATA QUALITY`],href:`/tests/catalog/row-count`,icon:`/icons/18-calculator.svg`},{title:`Freshness`,description:`Check how long ago the data source last received data.`,tags:[`DATA QUALITY`],href:`/tests/catalog/freshness`,icon:`/icons/18-gauge-4.svg`},{title:`Column freshness`,description:`Check how old the most recent or oldest value of a datetime column is.`,tags:[`DATA QUALITY`],href:`/tests/catalog/column-freshness`,icon:`/icons/18-table-search.svg`},{title:`Duplicate rows`,description:`Monitor and control the number of duplicate records in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/duplicate-count`,icon:`/icons/18-clone-dashed-2.svg`},{title:`Column drift`,description:`Detect drift in your data by comparing columns with a reference dataset.`,tags:[`DATA DRIFT`],href:`/tests/catalog/column-drift`,icon:`/icons/18-pivot-table.svg`},{title:`Feature drift`,description:`Detect drift in your data features compared to a reference dataset.`,tags:[`DATA DRIFT`],href:`/tests/catalog/feature-drift-count`,icon:`/icons/18-chart-stacked-line.svg`},{title:`Label drift`,description:`Monitor drift in your model's labels over time.`,tags:[`DATA DRIFT`],href:`/tests/catalog/label-drift`,icon:`/icons/18-chart-stacked-line.svg`},{title:`SQL query`,description:`Write custom SQL queries to validate your data and set thresholds on results.`,tags:[`DATA QUALITY`],href:`/tests/catalog/sql-query`,icon:`/icons/18-database-search.svg`},{title:`SQL query return rows`,description:`Validate that SQL queries return the expected number of rows.`,tags:[`DATA QUALITY`],href:`/tests/catalog/sql-query-return-rows`,icon:`/icons/18-database-check.svg`},{title:`Total cost`,description:`Ensure that the total request cost (in USD) for the data is within a given range.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/total-cost`,icon:`/icons/18-circle-dollar.svg`},{title:`Mean cost`,description:`Monitor the average cost per request to stay within budget constraints.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/mean-cost`,icon:`/icons/18-circle-dollar.svg`},{title:`Max cost`,description:`Set maximum cost thresholds for individual requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`,`OWASP`],href:`/tests/catalog/max-cost`,icon:`/icons/18-circle-dollar-up.svg`},{title:`Total tokens`,description:`Monitor the total number of tokens used in your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/total-tokens`,icon:`/icons/18-grid.svg`},{title:`Mean tokens`,description:`Track the average number of tokens per request.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/mean-tokens`,icon:`/icons/18-grid.svg`},{title:`Max tokens`,description:`Set maximum token limits for individual requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/max-tokens`,icon:`/icons/18-grid-3.svg`},{title:`Min latency`,description:`Monitor the minimum response time of your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/min-latency`,icon:`/icons/18-gauge-4.svg`},{title:`Mean latency`,description:`Monitor the average response time of your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/mean-latency`,icon:`/icons/18-gauge-4.svg`},{title:`Median latency`,description:`Monitor the median response time of your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/median-latency`,icon:`/icons/18-gauge-4.svg`},{title:`Max latency`,description:`Set maximum latency thresholds for request response times.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/max-latency`,icon:`/icons/18-gauge-4.svg`},{title:`90th latency percentile`,description:`Monitor the 90th percentile response time of your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/p90-latency`,icon:`/icons/18-bolt-speed.svg`},{title:`95th latency percentile`,description:`Monitor the 95th percentile response time of your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/p95-latency`,icon:`/icons/18-bolt-speed.svg`},{title:`99th latency percentile`,description:`Monitor the 99th percentile response time of your requests.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`],href:`/tests/catalog/p99-latency`,icon:`/icons/18-bolt-speed.svg`},{title:`Aggregate metrics`,description:`Evaluate your model using various aggregate performance metrics.`,tags:[`METRICS`],href:`/tests/catalog/aggregate-metrics`,icon:`/icons/18-measure.svg`},{title:`Great Expectations`,description:`Use the Great Expectations library to define and validate data expectations.`,tags:[`DATA QUALITY`],href:`/tests/catalog/great-expectations`,icon:`/icons/18-gx.svg`},{title:`Column statistic`,description:`Monitor statistical properties of dataset columns.`,tags:[`DATA QUALITY`],href:`/tests/catalog/column-statistic`,icon:`/icons/18-table-equal.svg`},{title:`Group by column statistic`,description:`Analyze statistical properties grouped by specific column values.`,tags:[`DATA QUALITY`],href:`/tests/catalog/group-by-column-statistic`,icon:`/icons/18-rect-layout-grid.svg`},{title:`Column average`,description:`Monitor the average values in dataset columns.`,tags:[`DATA QUALITY`],href:`/tests/catalog/column-average`,icon:`/icons/18-table-sparkle.svg`},{title:`Column values match`,description:`Validate that column values match expected patterns or ranges.`,tags:[`DATA QUALITY`],href:`/tests/catalog/column-values-match`,icon:`/icons/18-table-success.svg`},{title:`Anomalous column count`,description:`Detect anomalous patterns in column value distributions.`,tags:[`DATA QUALITY`],href:`/tests/catalog/anomalous-column-count`,icon:`/icons/18-grid-circle-plus.svg`},{title:`BLEU score`,description:`Average BLEU-1,2,3,4 score between generated and reference texts.`,tags:[`METRICS`],href:`/tests/catalog/bleu-score`,icon:`/icons/18-measure.svg`},{title:`Edit distance`,description:`Average edit distance between generated and reference texts.`,tags:[`METRICS`],href:`/tests/catalog/edit-distance`,icon:`/icons/18-height-max.svg`},{title:`Exact match`,description:`Average exact match between generated and reference texts.`,tags:[`METRICS`],href:`/tests/catalog/exact-match`,icon:`/icons/18-grid-layout-rows.svg`},{title:`JSON score`,description:`Average JSON score between generated and reference texts.`,tags:[`METRICS`],href:`/tests/catalog/json-score`,icon:`/icons/18-brackets-curly-dots.svg`},{title:`Quasi-exact match`,description:`Average quasi-exact match between generated and reference texts.`,tags:[`METRICS`],href:`/tests/catalog/quasi-exact-match`,icon:`/icons/18-boolean-intersect.svg`},{title:`Semantic similarity`,description:`Average semantic similarity between generated and reference texts.`,tags:[`METRICS`],href:`/tests/catalog/semantic-similarity`,icon:`/icons/18-spell-check.svg`},{title:`Class imbalance ratio`,description:`Monitor the balance between different classes in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/class-imbalance-ratio`,icon:`/icons/18-balance-off.svg`},{title:`Conflicting labels`,description:`Detect conflicting labels in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/conflicting-label-count`,icon:`/icons/18-tag-slash.svg`},{title:`New categories`,description:`Monitor the emergence of new categories in your data.`,tags:[`DATA QUALITY`],href:`/tests/catalog/new-category-count`,icon:`/icons/18-flask.svg`},{title:`New labels`,description:`Track the appearance of new labels in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/new-label-count`,icon:`/icons/18-flask.svg`},{title:`Empty features`,description:`Monitor the number of empty features in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/empty-feature-count`,icon:`/icons/18-line-dashed.svg`},{title:`Empty feature`,description:`Detect and validate empty features in your data.`,tags:[`DATA QUALITY`],href:`/tests/catalog/empty-feature`,icon:`/icons/18-line-dashed.svg`},{title:`Features missing values`,description:`Ensure specified features do not have missing values.`,tags:[`DATA QUALITY`],href:`/tests/catalog/features-missing-values`,icon:`/icons/18-grid-empty-obj-bottom-right.svg`},{title:`Feature values`,description:`Validate feature values against expected ranges or patterns.`,tags:[`DATA QUALITY`],href:`/tests/catalog/feature-values`,icon:`/icons/18-grid-empty-obj-bottom-right-x.svg`},{title:`Correlated features`,description:`Detect highly correlated features in your dataset.`,tags:[`DATA QUALITY`],href:`/tests/catalog/correlated-feature-count`,icon:`/icons/18-chart-stacked-area.svg`},{title:`Quasi-constant features`,description:`Identify features with very low variance (quasi-constant).`,tags:[`DATA QUALITY`],href:`/tests/catalog/quasi-constant-feature-count`,icon:`/icons/18-chart-bar-axis-x.svg`},{title:`Quasi-constant feature`,description:`Detect individual quasi-constant features in your data.`,tags:[`DATA QUALITY`],href:`/tests/catalog/quasi-constant-feature`,icon:`/icons/18-chart-bar-axis-x.svg`},{title:`Training-validation leakage`,description:`Detect data leakage between training and validation sets.`,tags:[`DATA QUALITY`],href:`/tests/catalog/train-val-leakage-count`,icon:`/icons/18-flask.svg`},{title:`String validation`,description:`Validate string data against patterns and constraints.`,tags:[`DATA QUALITY`],href:`/tests/catalog/string-validation`,icon:`/icons/18-string-contains.svg`},{title:`Contains valid URL`,description:`Validate that text contains properly formatted URLs.`,tags:[`DATA QUALITY`],href:`/tests/catalog/contains-valid-url`,icon:`/icons/18-link.svg`},{title:`Is code`,description:`Detect whether text content contains code snippets.`,tags:[`DATA QUALITY`],href:`/tests/catalog/is-code`,icon:`/icons/18-code.svg`},{title:`Is JSON`,description:`Validate that text content is properly formatted JSON.`,tags:[`DATA QUALITY`],href:`/tests/catalog/is-json`,icon:`/icons/18-code.svg`},{title:`Ill-formed count`,description:`Count and monitor ill-formed or malformed data entries.`,tags:[`DATA QUALITY`],href:`/tests/catalog/ill-formed-count`,icon:`/icons/18-circle-hashtag.svg`},{title:`Special characters ratio`,description:`Monitor the ratio of special characters in text data.`,tags:[`DATA QUALITY`],href:`/tests/catalog/special-characters-ratio`,icon:`/icons/18-circle-asterisk.svg`},{title:`Size ratio`,description:`Check the ratio between the number of rows in the validation and training datasets.`,tags:[`DATA DRIFT`],href:`/tests/catalog/size-ratio`,icon:`/icons/18-flask.svg`},{title:`Predictive power score value`,description:`PPS (predictive power score) for a feature must be in specific range.`,tags:[`DATA QUALITY`,`SAFETY`],href:`/tests/catalog/pp-score-value-validation`,icon:`/icons/18-resize-x.svg`},{title:`Column B contains column A value`,description:`Check that values in column A are contained in the lists in column B.`,tags:[`DATA QUALITY`],href:`/tests/catalog/expect-column-a-to-be-in-column-b`,icon:`/icons/18-table-search.svg`},{title:`Accuracy`,description:`Overall classification correctness.`,tags:[`METRICS`],href:`/tests/catalog/accuracy`,icon:`/icons/18-bullseye.svg`},{title:`F1`,description:`Harmonic mean of precision and recall.`,tags:[`METRICS`],href:`/tests/catalog/f1`,icon:`/icons/18-align-2-horizontal.svg`},{title:`False positive rate`,description:`Ratio of false positives to the sum of true negatives and false positives.`,tags:[`METRICS`],href:`/tests/catalog/false-positive-rate`,icon:`/icons/18-square-dashed-plus.svg`},{title:`Geometric mean`,description:`Square root of the product of the precision and the recall.`,tags:[`METRICS`],href:`/tests/catalog/geometric-mean`,icon:`/icons/18-equation.svg`},{title:`Log loss`,description:`Also known as logarithmic loss or cross-entropy loss, measures the performance of a classification model that outputs probabilities.`,tags:[`METRICS`],href:`/tests/catalog/log-loss`,icon:`/icons/18-octagon-question.svg`},{title:`Precision`,description:`Ratio of true positives to the sum of true positives and false positives.`,tags:[`METRICS`],href:`/tests/catalog/precision`,icon:`/icons/18-crosshairs.svg`},{title:`ROC AUC`,description:`Area under the receiver operating characteristic curve.`,tags:[`METRICS`],href:`/tests/catalog/roc-auc`,icon:`/icons/18-chart-area.svg`},{title:`Recall`,description:`Ratio of true positives to the sum of true positives and false negatives.`,tags:[`METRICS`],href:`/tests/catalog/recall`,icon:`/icons/18-circle-percentage.svg`},{title:`Mean absolute error (MAE)`,description:`Average absolute difference between the predicted and actual values.`,tags:[`METRICS`],href:`/tests/catalog/mae`,icon:`/icons/18-measure.svg`},{title:`Mean absolute percentage error (MAPE)`,description:`Mean absolute percentage error (MAPE) regression loss.`,tags:[`METRICS`],href:`/tests/catalog/mape`,icon:`/icons/18-measure.svg`},{title:`Mean squared error (MSE)`,description:`Average squared difference between the predicted and actual values.`,tags:[`METRICS`],href:`/tests/catalog/mse`,icon:`/icons/18-measure.svg`},{title:`Root mean squared error (RMSE)`,description:`Square root of the average squared difference between the predicted and actual values.`,tags:[`METRICS`],href:`/tests/catalog/rmse`,icon:`/icons/18-measure.svg`},{title:`R-squared`,description:`Coefficient of determination. Measures the proportion of the variance in the dependent variable that is predictable from the independent variables.`,tags:[`METRICS`],href:`/tests/catalog/r2`,icon:`/icons/18-measure.svg`},{title:`Session coherence`,description:`Evaluates the logical flow and consistency of a multi-turn conversation using an LLM as a judge.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`],href:`/tests/catalog/session-coherence`,icon:`/icons/18-grid-layout-11.svg`},{title:`Session context retention`,description:`Evaluates whether the assistant maintains and correctly uses context across session turns.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`],href:`/tests/catalog/session-context-retention`,icon:`/icons/18-replace-objs.svg`},{title:`Session conversation completeness`,description:`Evaluates whether a session reached a clean end state with the user's need addressed.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`],href:`/tests/catalog/session-conversation-completeness`,icon:`/icons/18-grid-layout-rows.svg`},{title:`Session goal achievement`,description:`Evaluates whether the user's inferred goal was met by the end of the conversation.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`],href:`/tests/catalog/session-goal-achievement`,icon:`/icons/18-target.svg`},{title:`Session guideline adherence`,description:`Evaluates whether the assistant followed a customer-supplied behavioural guideline across a session.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`,`SESSION`],href:`/tests/catalog/session-guideline-adherence`,icon:`/icons/18-gavel.svg`},{title:`Session role adherence`,description:`Evaluates whether the assistant stayed in its defined role across a multi-turn session.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`EU AI ACT`,`SESSION`],href:`/tests/catalog/session-role-adherence`,icon:`/icons/18-crosshairs.svg`},{title:`Session task progression`,description:`Evaluates whether a conversation made steady progress toward the user's task or looped and stalled.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`],href:`/tests/catalog/session-task-progression`,icon:`/icons/18-chart-stacked-line.svg`},{title:`Session turn relevancy`,description:`Evaluates whether each turn in a session is relevant to the conversation and the user's question.`,tags:[`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`],href:`/tests/catalog/session-turn-relevancy`,icon:`/icons/18-radar.svg`},{title:`Session cost`,description:`Monitors total LLM cost per session, aggregated across all turns.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`,`SESSION`],href:`/tests/catalog/session-cost`,icon:`/icons/18-circle-dollar.svg`},{title:`Session duration`,description:`Monitors the wall-clock duration of a session — first-turn timestamp to last-turn timestamp.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`,`SESSION`],href:`/tests/catalog/session-duration`,icon:`/icons/18-height-max.svg`},{title:`Session latency`,description:`Aggregates per-turn latency across a session (mean, median, percentiles, total).`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`,`SESSION`],href:`/tests/catalog/session-latency`,icon:`/icons/18-bolt-speed.svg`},{title:`Session record count`,description:`Monitors the number of records (turns) per session and surfaces short / medium / long-session bands.`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`,`SESSION`],href:`/tests/catalog/session-record-count`,icon:`/icons/18-circle-hashtag.svg`},{title:`Session token count`,description:`Aggregates total tokens used per session (sum, mean, percentiles).`,tags:[`METRICS`,`AGENTIC`,`USAGE METRICS`,`SESSION`],href:`/tests/catalog/session-token-count`,icon:`/icons/18-calculator.svg`}];const filteredTests=tests.filter(test=>{const matchesSearch=test.title.toLowerCase().includes(searchTerm.toLowerCase())||test.description.toLowerCase().includes(searchTerm.toLowerCase());const matchesTag=selectedType===`all`||test.tags\u0026\u0026test.tags.some(tag=>tag.toLowerCase().includes(selectedType.toLowerCase()));return matchesSearch\u0026\u0026matchesTag});const tagOptions=[`all`,`USES LLMS`,`METRICS`,`AGENTIC`,`SESSION`,`DATA QUALITY`,`DATA DRIFT`,`EU AI ACT`,`OWASP`,`SAFETY`,`FAIRNESS`,`USAGE METRICS`];return _jsxs(`div`,{className:`mint-px-3 sm:mint-px-5 lg:mint-pr-10 lg:mint-pl-[5.5rem] mint-mx-auto mint-max-w-6xl mint-w-full mint-pt-2 sm:mint-pt-4 lg:mint-pt-8`,children:[_jsxs(`header`,{id:`header`,className:`mint-relative`,children:[_jsxs(`div`,{className:`mint-mt-0.5 mint-space-y-2.5`,children:[_jsx(`div`,{className:`eyebrow mint-h-5 text-primary dark:text-primary-light mint-text-sm mint-font-semibold`,children:`Catalog`}),_jsx(`div`,{className:`mint-flex mint-flex-col sm:mint-flex-row mint-items-start sm:mint-items-center mint-relative mint-gap-2`,children:_jsx(`h1`,{id:`page-title`,className:`mint-inline-block mint-text-2xl sm:mint-text-3xl mint-font-bold mint-text-gray-900 mint-tracking-tight dark:mint-text-white`,children:`Browse tests`})})]}),_jsx(`div`,{className:`mint-mt-2 mint-text-lg prose prose-gray dark:prose-invert`,children:_jsx(`p`,{children:`Browse the full test catalog`})})]}),_jsx(`div`,{className:`mint-flex mint-flex-col mint-gap-8`}),_jsxs(`div`,{className:`mint-relative mint-mt-8 mint-mb-14`,children:[_jsxs(`div`,{className:`mint-border mint-border-gray-200 dark:mint-border-gray-800 mint-rounded-lg mint-p-4 sm:mint-p-6 mint-mb-6 sm:mint-mb-8`,children:[_jsx(`div`,{className:`mint-mb-6`,children:_jsx(`input`,{type:`text`,placeholder:`Search tests by name or description...`,value:searchTerm,onChange:e=>setSearchTerm(e.target.value),className:`mint-w-full mint-px-3 sm:mint-px-4 mint-py-2 sm:mint-py-3 mint-text-sm sm:mint-text-base mint-border mint-border-gray-300 dark:mint-border-gray-700 mint-rounded-lg focus:mint-ring-2 focus:ring-primary focus:mint-border-transparent mint-bg-transparent mint-text-gray-900 dark:mint-text-white mint-placeholder-gray-500 dark:mint-placeholder-gray-400`})}),_jsxs(`div`,{children:[_jsx(`label`,{className:`mint-block mint-text-sm mint-font-medium mint-text-gray-700 dark:mint-text-gray-200 mint-mb-2`,children:`Filter by tags`}),_jsx(`div`,{className:`mint-flex mint-flex-wrap mint-gap-1 sm:mint-gap-2`,children:tagOptions.map(tag=>_jsx(`button`,{onClick:()=>setSelectedType(tag),className:`mint-px-3 mint-py-1.5 mint-text-sm mint-font-medium mint-rounded-full mint-transition-colors ${selectedType===tag?`bg-primary mint-text-white`:`mint-bg-gray-100 mint-text-gray-700 hover:mint-bg-gray-200 dark:mint-bg-gray-700 dark:mint-text-gray-300 dark:hover:mint-bg-gray-600`}`,children:tag===`all`?`All Tests`:tag},tag))})]})]}),_jsx(`div`,{className:`mint-space-y-4 ${filteredTests.length===0?`mint-min-h-[400px] mint-flex mint-items-center mint-justify-center`:`mint-min-h-[800px]`}`,children:filteredTests.length>0?filteredTests.map((test,index)=>_jsxs(_components.a,{href:test.href,className:`mint-flex mint-flex-col sm:mint-flex-row sm:mint-items-start mint-p-4 sm:mint-p-6 mint-border mint-border-gray-200 dark:mint-border-gray-800 hover:mint-border-gray-300 dark:hover:mint-border-gray-700 mint-transition-all mint-duration-200 mint-rounded-lg mint-cursor-pointer group mint-gap-3 sm:mint-gap-0`,children:[_jsxs(`div`,{className:`mint-flex mint-items-start mint-gap-2 sm:mint-gap-4 mint-flex-1`,children:[_jsx(`div`,{className:`mint-flex-shrink-0 mint-mt-1`,children:_jsx(`div`,{className:`mint-w-8 mint-h-8 sm:mint-w-10 sm:mint-h-10 mint-bg-gray-50/50 dark:mint-bg-gray-800/100 mint-border mint-border-gray-200/50 dark:mint-border-gray-700/50 mint-rounded-lg mint-flex mint-items-center mint-justify-center`,children:_jsx(`img`,{src:typeof window!==`undefined`\u0026\u0026window.location.hostname===`www.openlayer.com`?`/docs${test.icon}`:test.icon,alt:``,className:`mint-w-4 mint-h-4 sm:mint-w-5 sm:mint-h-5 dark:mint-brightness-0 dark:mint-invert`})})}),_jsxs(`div`,{className:`mint-flex-1 mint-min-w-0`,children:[_jsx(`h3`,{className:`mint-text-sm sm:mint-text-base mint-font-medium mint-text-gray-900 dark:mint-text-white mint-mb-1 sm:mint-mb-2 group-hover:text-primary dark:group-hover:text-primary-light mint-transition-colors`,children:test.title}),_jsx(`p`,{className:`mint-text-xs sm:mint-text-sm mint-text-gray-600 dark:mint-text-gray-400 mint-leading-relaxed mint-mb-0 sm:mint-mb-0`,children:test.description})]})]}),_jsx(`div`,{className:`mint-flex mint-flex-wrap mint-gap-1 mint-items-start sm:mint-flex-shrink-0 sm:mint-ml-4`,children:test.tags\u0026\u0026test.tags.map((tag,tagIndex)=>_jsx(`span`,{className:`mint-px-1 mint-py-0.5 mint-text-xs mint-font-medium mint-rounded mint-bg-gray-50 mint-text-gray-700 mint-border mint-border-gray-200 dark:mint-bg-gray-800 dark:mint-text-gray-300 dark:mint-border-gray-700`,children:tag},tagIndex))})]},index)):_jsxs(`div`,{className:`mint-text-center mint-py-12`,children:[_jsx(`h3`,{className:`mint-text-xl mint-font-semibold mint-text-gray-900 dark:mint-text-gray-200 mint-mb-2`,children:`No tests found`}),_jsx(`p`,{className:`mint-text-gray-600 dark:mint-text-gray-400`,children:`Try adjusting your search terms or filters to find what you're looking for.`})]})})]})]})};function _createMdxContent(props){const{_MdxComponentBoundary}={..._provideComponents(),...props.components};if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsx(_MdxComponentBoundary,{name:`TestCatalog`,children:_jsx(TestCatalog,{})})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{TestCatalog,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Browse tests","mode":"frame","icon":"scan-search","description":null,"href":"/tests/browse"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[27,38,""],[131,29775,"null;function _creat"]]},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/openlayer-docs/a85e4a0a43b4a6e9/.eslintrc.js"],"dynamicCss":".mint-relative {\n position: relative\n}\n.mint-mx-auto {\n margin-left: auto;\n margin-right: auto\n}\n.mint-mb-0 {\n margin-bottom: 0px\n}\n.mint-mb-1 {\n margin-bottom: 0.25rem\n}\n.mint-mb-14 {\n margin-bottom: 3.5rem\n}\n.mint-mb-2 {\n margin-bottom: 0.5rem\n}\n.mint-mb-6 {\n margin-bottom: 1.5rem\n}\n.mint-mt-0\\.5 {\n margin-top: 0.125rem\n}\n.mint-mt-1 {\n margin-top: 0.25rem\n}\n.mint-mt-2 {\n margin-top: 0.5rem\n}\n.mint-mt-8 {\n margin-top: 2rem\n}\n.mint-block {\n display: block\n}\n.mint-inline-block {\n display: inline-block\n}\n.mint-flex {\n display: flex\n}\n.mint-h-4 {\n height: 1rem\n}\n.mint-h-5 {\n height: 1.25rem\n}\n.mint-h-8 {\n height: 2rem\n}\n.mint-min-h-\\[400px\\] {\n min-height: 400px\n}\n.mint-min-h-\\[800px\\] {\n min-height: 800px\n}\n.mint-w-4 {\n width: 1rem\n}\n.mint-w-8 {\n width: 2rem\n}\n.mint-w-full {\n width: 100%\n}\n.mint-min-w-0 {\n min-width: 0px\n}\n.mint-max-w-6xl {\n max-width: 72rem\n}\n.mint-flex-1 {\n flex: 1 1 0%\n}\n.mint-flex-shrink-0 {\n flex-shrink: 0\n}\n.mint-cursor-pointer {\n cursor: pointer\n}\n.mint-flex-col {\n flex-direction: column\n}\n.mint-flex-wrap {\n flex-wrap: wrap\n}\n.mint-items-start {\n align-items: flex-start\n}\n.mint-items-center {\n align-items: center\n}\n.mint-justify-center {\n justify-content: center\n}\n.mint-gap-1 {\n gap: 0.25rem\n}\n.mint-gap-2 {\n gap: 0.5rem\n}\n.mint-gap-3 {\n gap: 0.75rem\n}\n.mint-gap-8 {\n gap: 2rem\n}\n.mint-space-y-2\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.625rem * var(--tw-space-y-reverse))\n}\n.mint-space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse))\n}\n.mint-rounded {\n border-radius: 0.25rem\n}\n.mint-rounded-full {\n border-radius: 9999px\n}\n.mint-rounded-lg {\n border-radius: 0.5rem\n}\n.mint-border {\n border-width: 1px\n}\n.mint-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))\n}\n.mint-border-gray-200\\/50 {\n border-color: rgb(229 231 235 / 0.5)\n}\n.mint-border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))\n}\n.mint-bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1))\n}\n.mint-bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))\n}\n.mint-bg-gray-50\\/50 {\n background-color: rgb(249 250 251 / 0.5)\n}\n.mint-bg-transparent {\n background-color: transparent\n}\n.mint-p-4 {\n padding: 1rem\n}\n.mint-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem\n}\n.mint-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem\n}\n.mint-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem\n}\n.mint-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem\n}\n.mint-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem\n}\n.mint-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem\n}\n.mint-pt-2 {\n padding-top: 0.5rem\n}\n.mint-text-center {\n text-align: center\n}\n.mint-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem\n}\n.mint-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem\n}\n.mint-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n.mint-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem\n}\n.mint-text-xs {\n font-size: 0.75rem;\n line-height: 1rem\n}\n.mint-font-bold {\n font-weight: 700\n}\n.mint-font-medium {\n font-weight: 500\n}\n.mint-font-semibold {\n font-weight: 600\n}\n.mint-leading-relaxed {\n line-height: 1.625\n}\n.mint-tracking-tight {\n letter-spacing: -0.025em\n}\n.mint-text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1))\n}\n.mint-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1))\n}\n.mint-placeholder-gray-500::placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1))\n}\n.mint-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n.mint-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n.mint-duration-200 {\n transition-duration: 200ms\n}\n.hover\\:mint-border-gray-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))\n}\n.hover\\:mint-bg-gray-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))\n}\n.focus\\:mint-border-transparent:focus {\n border-color: transparent\n}\n.focus\\:mint-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)\n}\n.dark\\:mint-border-gray-700:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(55 65 81 / var(--tw-border-opacity, 1))\n}\n.dark\\:mint-border-gray-700\\/50:is(.dark *) {\n border-color: rgb(55 65 81 / 0.5)\n}\n.dark\\:mint-border-gray-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity, 1))\n}\n.dark\\:mint-bg-gray-700:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1))\n}\n.dark\\:mint-bg-gray-800:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))\n}\n.dark\\:mint-bg-gray-800\\/100:is(.dark *) {\n background-color: rgb(31 41 55 / 1)\n}\n.dark\\:mint-text-gray-200:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-white:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-placeholder-gray-400:is(.dark *)::placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1))\n}\n.dark\\:mint-brightness-0:is(.dark *) {\n --tw-brightness: brightness(0);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)\n}\n.dark\\:mint-invert:is(.dark *) {\n --tw-invert: invert(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)\n}\n.dark\\:hover\\:mint-border-gray-700:hover:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(55 65 81 / var(--tw-border-opacity, 1))\n}\n.dark\\:hover\\:mint-bg-gray-600:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1))\n}\n@media (min-width: 640px) {\n .sm\\:mint-mb-0 {\n margin-bottom: 0px\n }\n .sm\\:mint-mb-2 {\n margin-bottom: 0.5rem\n }\n .sm\\:mint-mb-8 {\n margin-bottom: 2rem\n }\n .sm\\:mint-ml-4 {\n margin-left: 1rem\n }\n .sm\\:mint-h-10 {\n height: 2.5rem\n }\n .sm\\:mint-h-5 {\n height: 1.25rem\n }\n .sm\\:mint-w-10 {\n width: 2.5rem\n }\n .sm\\:mint-w-5 {\n width: 1.25rem\n }\n .sm\\:mint-flex-shrink-0 {\n flex-shrink: 0\n }\n .sm\\:mint-flex-row {\n flex-direction: row\n }\n .sm\\:mint-items-start {\n align-items: flex-start\n }\n .sm\\:mint-items-center {\n align-items: center\n }\n .sm\\:mint-gap-0 {\n gap: 0px\n }\n .sm\\:mint-gap-2 {\n gap: 0.5rem\n }\n .sm\\:mint-gap-4 {\n gap: 1rem\n }\n .sm\\:mint-p-6 {\n padding: 1.5rem\n }\n .sm\\:mint-px-4 {\n padding-left: 1rem;\n padding-right: 1rem\n }\n .sm\\:mint-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem\n }\n .sm\\:mint-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem\n }\n .sm\\:mint-pt-4 {\n padding-top: 1rem\n }\n .sm\\:mint-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem\n }\n .sm\\:mint-text-base {\n font-size: 1rem;\n line-height: 1.5rem\n }\n .sm\\:mint-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n }\n}\n@media (min-width: 1024px) {\n .lg\\:mint-pl-\\[5\\.5rem\\] {\n padding-left: 5.5rem\n }\n .lg\\:mint-pr-10 {\n padding-right: 2.5rem\n }\n .lg\\:mint-pt-8 {\n padding-top: 2rem\n }\n}","subdomain":"openlayer-docs","siteName":"Openlayer","title":"Browse tests - Openlayer","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T23:49:47.300Z","originalFileLocation":"tests/browse.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Openlayer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Browse tests - Openlayer\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Openlayer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://openlayer.com/docs/tests/browse\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://openlayer-docs.mintlify.app/_mintlify/api/og/v2?division=Tests\u0026amp;title=Browse+tests\u0026amp;theme=d15cfd1a18d9f87a0af36cb6\u0026amp;signature=bdf2cb370f4c94c0ba98c72965b295bd46e56096f8744e65afd73c34ffc4fcf1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Browse tests - Openlayer\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://openlayer-docs.mintlify.app/_mintlify/api/og/v2?division=Tests\u0026amp;title=Browse+tests\u0026amp;theme=d15cfd1a18d9f87a0af36cb6\u0026amp;signature=bdf2cb370f4c94c0ba98c72965b295bd46e56096f8744e65afd73c34ffc4fcf1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/openlayer-docs/JkuoDa5Uvs4Y0n-U/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Openlayer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#592FEA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://openlayer.com/docs/tests/browse\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/tests/browse.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://openlayer.com/#organization\",\"name\":\"Openlayer\",\"url\":\"https://openlayer.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/openlayer-docs/j8aCq8ZxFTiWgvd7/logo/logo-docs-brand.svg?fit=max\u0026auto=format\u0026n=j8aCq8ZxFTiWgvd7\u0026q=85\u0026s=e33e9c38c5e338a9df337ef2c11c1d12\"}},{\"@type\":\"WebSite\",\"@id\":\"https://openlayer.com/docs#website\",\"name\":\"Openlayer\",\"url\":\"https://openlayer.com/docs\",\"publisher\":{\"@id\":\"https://openlayer.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://openlayer.com/docs/tests/browse#webpage\",\"url\":\"https://openlayer.com/docs/tests/browse\",\"name\":\"Browse tests\",\"dateModified\":\"2026-10-21T23:49:47.300Z\",\"isPartOf\":{\"@id\":\"https://openlayer.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://openlayer.com/docs/tests/browse#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://openlayer.com/docs/tests/browse#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tests\",\"item\":\"https://openlayer.com/docs/tests/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Browse tests\",\"item\":\"https://openlayer.com/docs/tests/browse\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://openlayer.com/docs/tests/browse#article\",\"headline\":\"Browse tests\",\"name\":\"Browse tests\",\"url\":\"https://openlayer.com/docs/tests/browse\",\"mainEntityOfPage\":{\"@id\":\"https://openlayer.com/docs/tests/browse#webpage\"},\"dateModified\":\"2026-10-21T23:49:47.300Z\",\"publisher\":{\"@id\":\"https://openlayer.com/#organization\"},\"isPartOf\":{\"@id\":\"https://openlayer.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Openlayer\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Openlayer","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Get started","pages":[{"title":"Introduction","mode":"wide","icon":"album","href":"/introduction"}]},{"group":"Workspace setup","pages":[{"title":"Workspace dashboard","icon":"layout-dashboard","href":"/workspace-and-projects/workspace-dashboard"},{"group":"Projects","icon":"folder","pages":[{"title":"Create a project","hidden":false,"href":"/workspace-and-projects/creating-and-loading-projects"},{"title":"Project dashboards","href":"/workspace-and-projects/project-dashboards"}]},{"title":"Create an API key","icon":"key-round","href":"/workspace-and-projects/find-your-api-key"}]},{"group":"Governance","pages":[{"title":"Overview","icon":"landmark","hidden":false,"href":"/governance/overview"},{"group":"Set up a framework","icon":"rocket","pages":[{"title":"Activate a built-in framework","hidden":false,"href":"/governance/activate-framework"},{"title":"Build a custom framework","hidden":false,"href":"/governance/build-custom-framework"}]},{"group":"Understand requirements","icon":"book-open-check","pages":[{"title":"How frameworks map to requirements","hidden":false,"href":"/governance/framework-requirements"},{"title":"Platform rules","hidden":false,"href":"/governance/platform-rules"},{"title":"Evidence-based rules","hidden":false,"href":"/governance/evidence-based-rules"}]},{"group":"Track compliance","icon":"chart-bar","pages":[{"title":"Track compliance across your workspace","hidden":false,"href":"/governance/workspace-compliance"},{"title":"Track compliance within a project","hidden":false,"href":"/governance/project-compliance"},{"title":"Use the governance API","href":"/governance/api-access"}]},{"title":"Define intake and risk forms","icon":"clipboard-list","href":"/governance/intake-and-risk-forms"},{"title":"Project lifecycle","icon":"refresh-cw","href":"/governance/project-lifecycle"}]},{"group":"Observability","pages":[{"title":"Overview","icon":"telescope","href":"/monitoring/overview"},{"group":"Integrate","icon":"user-cog","pages":[{"title":"Instrument your code","hidden":false,"href":"/monitoring/instrument"},{"title":"Other integration paths","href":"/monitoring/alternative-integrations"}]},{"group":"Enrich traces","icon":"grid-2x2-plus","pages":[{"title":"Add metadata to traces","href":"/monitoring/metadata"},{"title":"Custom columns","href":"/monitoring/custom-columns"},{"title":"Trace multimodal data","href":"/monitoring/multimodal"},{"title":"Track users and sessions","href":"/monitoring/sessions-and-users"},{"title":"Log context for RAG systems","href":"/monitoring/context"},{"title":"Redact PII","href":"/monitoring/pii-redaction"},{"title":"Log question for RAG systems","href":"/monitoring/question"},{"title":"Update existing traces","href":"/monitoring/updating-data"}]},{"group":"Beyond traces","icon":"binoculars","pages":[{"title":"Publish traditional ML predictions","href":"/monitoring/publishing-tabular-predictions"},{"title":"Upload a reference dataset","href":"/monitoring/uploading-reference-dataset"}]},{"group":"Concepts","icon":"book-open","pages":[{"title":"Evaluation and delay windows","href":"/monitoring/evaluation-and-delay-windows"},{"title":"LLM cost estimation","href":"/monitoring/cost-estimation"}]},{"group":"Guardrails","icon":"shield-alert","pages":[{"title":"Overview","hidden":false,"href":"/guardrails/overview"}]},{"title":"AI-generated summaries","icon":"sparkles","href":"/monitoring/ai-summaries"},{"title":"Export data","icon":"download","href":"/monitoring/export-data"}]},{"group":"Offline testing","pages":[{"title":"Overview","icon":"git-commit-vertical","href":"/development/overview"},{"group":"Integrate","icon":"user-cog","pages":[{"title":"Push and poll using the Openlayer CLI","href":"/guides/cli-push"}]},{"group":"Configure","icon":"braces","pages":[{"title":"openlayer.json","href":"/development/openlayer-json"},{"title":"tests.json","href":"/development/tests-json"},{"title":"Configuring output generation","href":"/development/configuring-output-generation"}]},{"group":"Custom CI/CD setups","icon":"git-compare","pages":[{"title":"GitHub Actions with Openlayer","href":"/guides/gh-actions"}]}]},{"group":"Tests","pages":[{"title":"Overview","description":"Learn how to use tests in Openlayer to evaluate your AI systems","hidden":false,"icon":"list-checks","href":"/tests/overview"},{"title":"Browse tests","mode":"frame","icon":"scan-search","href":"/tests/browse"},{"group":"Catalog","icon":"notebook","pages":[{"title":"Accuracy","hidden":false,"description":"Learn how to use the accuracy test","href":"/tests/catalog/accuracy"},{"title":"Aggregate metrics","hidden":false,"href":"/tests/catalog/aggregate-metrics"},{"title":"Anomalous column count","hidden":false,"href":"/tests/catalog/anomalous-column-count"},{"title":"Answer correctness","hidden":false,"href":"/tests/catalog/answer-correctness"},{"title":"Answer relevancy","hidden":false,"href":"/tests/catalog/answer-relevancy"},{"title":"Bias","hidden":false,"href":"/tests/catalog/bias"},{"title":"BLEU score","hidden":false,"href":"/tests/catalog/bleu-score"},{"title":"Character length","hidden":false,"href":"/tests/catalog/character-length"},{"title":"Class imbalance ratio","hidden":false,"href":"/tests/catalog/class-imbalance-ratio"},{"title":"Coherence","hidden":false,"href":"/tests/catalog/coherence"},{"title":"Column average","hidden":false,"href":"/tests/catalog/column-average"},{"title":"Column drift","hidden":false,"href":"/tests/catalog/column-drift"},{"title":"Column freshness","href":"/tests/catalog/column-freshness"},{"title":"Column statistics","hidden":false,"href":"/tests/catalog/column-statistic"},{"title":"Column values match","hidden":false,"href":"/tests/catalog/column-values-match"},{"title":"Conciseness","hidden":false,"href":"/tests/catalog/conciseness"},{"title":"Conflicting labels","hidden":false,"href":"/tests/catalog/conflicting-label-count"},{"title":"Contains PII","hidden":false,"href":"/tests/catalog/contains-p-i-i"},{"title":"Valid URLs","hidden":false,"href":"/tests/catalog/contains-valid-url"},{"title":"Context recall","hidden":false,"href":"/tests/catalog/context-recall"},{"title":"Context relevancy","hidden":false,"href":"/tests/catalog/context-relevancy"},{"title":"Context utilization","hidden":false,"href":"/tests/catalog/context-utilization"},{"title":"Correctness","hidden":false,"href":"/tests/catalog/correctness"},{"title":"Correlated features","hidden":false,"href":"/tests/catalog/correlated-feature-count"},{"title":"Data type validation","hidden":false,"href":"/tests/catalog/dtype-validation"},{"title":"Duplicate rows","hidden":false,"href":"/tests/catalog/duplicate-count"},{"title":"Edit distance","hidden":false,"href":"/tests/catalog/edit-distance"},{"title":"Empty features","hidden":false,"href":"/tests/catalog/empty-feature"},{"title":"Empty feature count","hidden":false,"href":"/tests/catalog/empty-feature-count"},{"title":"Exact match","hidden":false,"href":"/tests/catalog/exact-match"},{"title":"Column contains string","hidden":false,"href":"/tests/catalog/expect-column-a-to-be-in-column-b"},{"title":"F1 score","hidden":false,"href":"/tests/catalog/f1"},{"title":"Faithfulness","hidden":false,"href":"/tests/catalog/faithfulness"},{"title":"False positive rate","hidden":false,"href":"/tests/catalog/false-positive-rate"},{"title":"Feature drift","hidden":false,"href":"/tests/catalog/feature-drift-count"},{"title":"Feature values","hidden":false,"href":"/tests/catalog/feature-values"},{"title":"Features missing values","hidden":false,"href":"/tests/catalog/features-missing-values"},{"title":"Freshness","href":"/tests/catalog/freshness"},{"title":"Geometric mean","hidden":false,"href":"/tests/catalog/geometric-mean"},{"title":"Great expectations","hidden":false,"href":"/tests/catalog/great-expectations"},{"title":"Groundedness","hidden":false,"href":"/tests/catalog/groundedness"},{"title":"Group by column statistic","hidden":false,"href":"/tests/catalog/group-by-column-statistic"},{"title":"Group metric parity","href":"/tests/catalog/group-metric-parity"},{"title":"Group outcome disparity","href":"/tests/catalog/group-outcome-disparity"},{"title":"Group performance parity","href":"/tests/catalog/group-performance-parity"},{"title":"Group score disparity","href":"/tests/catalog/group-score-disparity"},{"title":"Hallucination","hidden":false,"href":"/tests/catalog/hallucination"},{"title":"Harmfulness","hidden":false,"href":"/tests/catalog/harmfulness"},{"title":"Has prompt injection","hidden":false,"href":"/tests/catalog/has-prompt-injection-count"},{"title":"Ill-formed rows","hidden":false,"href":"/tests/catalog/ill-formed-count"},{"title":"Is code","hidden":false,"href":"/tests/catalog/is-code"},{"title":"Is JSON","hidden":false,"href":"/tests/catalog/is-json"},{"title":"Jev-as-a-judge","href":"/tests/catalog/jev-as-a-judge-threshold"},{"title":"JSON score","hidden":false,"href":"/tests/catalog/json-score"},{"title":"LLM-as-a-judge","hidden":false,"href":"/tests/catalog/l-l-m-rubric-threshold"},{"title":"Label/target drift","hidden":false,"href":"/tests/catalog/label-drift"},{"title":"Log loss","hidden":false,"href":"/tests/catalog/log-loss"},{"title":"Mean absolute error (MAE)","hidden":false,"href":"/tests/catalog/mae"},{"title":"Maliciousness","hidden":false,"href":"/tests/catalog/maliciousness"},{"title":"Mean absolute percentage error (MAPE)","hidden":false,"href":"/tests/catalog/mape"},{"title":"Max cost","hidden":false,"href":"/tests/catalog/max-cost"},{"title":"Max latency","hidden":false,"href":"/tests/catalog/max-latency"},{"title":"Max tokens","hidden":false,"href":"/tests/catalog/max-tokens"},{"title":"Mean cost","hidden":false,"href":"/tests/catalog/mean-cost"},{"title":"Mean latency","hidden":false,"href":"/tests/catalog/mean-latency"},{"title":"Mean tokens","hidden":false,"href":"/tests/catalog/mean-tokens"},{"title":"Median latency","hidden":false,"href":"/tests/catalog/median-latency"},{"title":"Min latency","hidden":false,"href":"/tests/catalog/min-latency"},{"title":"Mean squared error (MSE)","hidden":false,"href":"/tests/catalog/mse"},{"title":"New categories","hidden":false,"href":"/tests/catalog/new-category-count"},{"title":"New labels","hidden":false,"href":"/tests/catalog/new-label-count"},{"title":"Null rows","hidden":false,"href":"/tests/catalog/null-count"},{"title":"90th latency percentile","hidden":false,"href":"/tests/catalog/p90-latency"},{"title":"95th latency percentile","hidden":false,"href":"/tests/catalog/p95-latency"},{"title":"99th latency percentile","hidden":false,"href":"/tests/catalog/p99-latency"},{"title":"Predictive power score (PPS)","hidden":false,"href":"/tests/catalog/pp-score-value-validation"},{"title":"Precision","hidden":false,"href":"/tests/catalog/precision"},{"title":"Quasi-constant features","hidden":false,"href":"/tests/catalog/quasi-constant-feature"},{"title":"Quasi-constant feature count","hidden":false,"href":"/tests/catalog/quasi-constant-feature-count"},{"title":"Quasi-exact match","hidden":false,"href":"/tests/catalog/quasi-exact-match"},{"title":"R-squared","hidden":false,"href":"/tests/catalog/r2"},{"title":"Recall","hidden":false,"href":"/tests/catalog/recall"},{"title":"Recommends competitor","hidden":false,"href":"/tests/catalog/recommends-competitor"},{"title":"Root mean squared error (RMSE)","hidden":false,"href":"/tests/catalog/rmse"},{"title":"ROC AUC","hidden":false,"href":"/tests/catalog/roc-auc"},{"title":"Number of rows","hidden":false,"href":"/tests/catalog/row-count"},{"title":"Semantic similarity","hidden":false,"href":"/tests/catalog/semantic-similarity"},{"title":"Sentence length","hidden":false,"href":"/tests/catalog/sentence-length"},{"title":"Session coherence","hidden":false,"href":"/tests/catalog/session-coherence"},{"title":"Session context retention","hidden":false,"href":"/tests/catalog/session-context-retention"},{"title":"Session conversation completeness","hidden":false,"href":"/tests/catalog/session-conversation-completeness"},{"title":"Session cost","hidden":false,"href":"/tests/catalog/session-cost"},{"title":"Session duration","hidden":false,"href":"/tests/catalog/session-duration"},{"title":"Session goal achievement","hidden":false,"href":"/tests/catalog/session-goal-achievement"},{"title":"Session guideline adherence","hidden":false,"href":"/tests/catalog/session-guideline-adherence"},{"title":"Session latency","hidden":false,"href":"/tests/catalog/session-latency"},{"title":"Session record count","hidden":false,"href":"/tests/catalog/session-record-count"},{"title":"Session role adherence","hidden":false,"href":"/tests/catalog/session-role-adherence"},{"title":"Session task progression","hidden":false,"href":"/tests/catalog/session-task-progression"},{"title":"Session token count","hidden":false,"href":"/tests/catalog/session-token-count"},{"title":"Session turn relevancy","hidden":false,"href":"/tests/catalog/session-turn-relevancy"},{"title":"Size ratio","hidden":false,"href":"/tests/catalog/size-ratio"},{"title":"Special characters ratio","hidden":false,"href":"/tests/catalog/special-characters-ratio"},{"title":"SQL query","hidden":false,"href":"/tests/catalog/sql-query"},{"title":"SQL query return rows","hidden":false,"href":"/tests/catalog/sql-query-return-rows"},{"title":"String validation","hidden":false,"href":"/tests/catalog/string-validation"},{"title":"Total cost","hidden":false,"href":"/tests/catalog/total-cost"},{"title":"Total tokens","hidden":false,"href":"/tests/catalog/total-tokens"},{"title":"Toxicity","hidden":false,"href":"/tests/catalog/toxicity"},{"title":"Training-validation leakage","hidden":false,"href":"/tests/catalog/train-val-leakage-count"},{"title":"Unauthorized tool calls","hidden":false,"href":"/tests/catalog/unauthorized-tool-calls"}]},{"title":"Tests configuration","hidden":false,"icon":"settings-2","href":"/tests/test-configuration"},{"title":"Manage tests","icon":"list-todo","href":"/tests/manage-tests"},{"title":"Semantic search filters","icon":"text-search","href":"/tests/semantic-search-filters"},{"title":"Custom metrics","icon":"pencil-line","href":"/tests/custom-metrics"}]},{"group":"Gateway","pages":[{"title":"Overview","icon":"route","href":"/gateway/overview"},{"group":"Set up \u0026 connect","icon":"plug","pages":[{"title":"Set up the gateway","href":"/gateway/set-up-the-gateway"},{"title":"Make your first request","href":"/gateway/make-your-first-request"}]},{"group":"Manage API keys","icon":"key-round","pages":[{"title":"Create API keys","href":"/gateway/api-keys"},{"title":"Assign groups","href":"/gateway/groups"},{"title":"Send invites","href":"/gateway/invites"}]},{"group":"Budgets \u0026 usage","icon":"wallet","pages":[{"title":"Set usage limits","href":"/gateway/budgets-and-limits"},{"title":"Track usage","href":"/gateway/usage-and-cost"}]},{"title":"Guardrails","icon":"shield-alert","href":"/gateway/guardrails"},{"title":"Model access","icon":"boxes","href":"/gateway/model-access"},{"title":"Observability","icon":"activity","href":"/gateway/observability"},{"title":"Errors","icon":"circle-alert","href":"/gateway/errors"},{"group":"Routing","icon":"waypoints","pages":[{"title":"Connect providers","href":"/gateway/connect-providers"},{"title":"Route requests","href":"/gateway/route-requests"},{"title":"Use any model from any SDK","href":"/gateway/use-any-model"}]}]},{"group":"Data quality monitoring","pages":[{"title":"Overview","icon":"database-zap","href":"/data-quality-monitoring/overview"},{"group":"Integrate","icon":"user-cog","pages":[{"title":"Connect a data source","hidden":false,"href":"/data-quality-monitoring/connect-data-source"}]},{"group":"Concepts","icon":"book-open","pages":[{"title":"Anomaly detection","href":"/data-quality-monitoring/anomaly-detection"}]}]},{"group":"Administration","pages":[{"title":"Security","icon":"lock","href":"/security"},{"title":"Data regions","icon":"globe","href":"/security/data-residency"},{"title":"Roles and permissions","icon":"shield-check","href":"/security/roles-and-permissions"},{"title":"SAML SSO Authentication","icon":"scan-face","href":"/security/saml-sso"},{"title":"Multi-factor Authentication","icon":"shield-check","href":"/security/multi-factor-authentication"},{"title":"Access groups","icon":"users","href":"/security/access-groups"},{"title":"Environment Variables","icon":"hexagon","href":"/security/environment-variables"},{"title":"Data retention","icon":"clock","href":"/workspace-and-projects/data-retention"}]},{"group":"Notifications","pages":[{"title":"Overview","icon":"bell","href":"/notifications/overview"},{"title":"In-app notifications","icon":"inbox","href":"/notifications/in-app"},{"title":"Email notifications","icon":"mail","href":"/notifications/email"},{"title":"Slack notifications","icon":"message-square","href":"/notifications/slack"},{"group":"Webhooks","icon":"webhook","pages":[{"title":"Overview","href":"/security/webhooks/overview"},{"title":"Manage webhooks","href":"/security/webhooks/manage-webhooks"},{"title":"Events and payloads","href":"/security/webhooks/events"},{"title":"Verify signatures","href":"/security/webhooks/verify-signatures"}]}]},{"group":"Other resources","pages":[{"title":"Glossary","icon":"case-sensitive","href":"/glossary"},{"title":"Openlayer MCP","icon":"audio-waveform","href":"/openlayer-mcp"},{"title":"Openlayer Agent Skills","icon":"wand-sparkles","href":"/openlayer-skills"},{"group":"Code examples","icon":"code","pages":[{"title":"Templates","href":"/examples/templates"},{"title":"Monitoring","href":"/examples/monitoring"}]}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/api-reference/introduction"}]}]},"title":"Browse tests - Openlayer","buildId":"dpl_BtCp1ySSRiZuC61kdwjLNfcZF9iT","deploymentId":"dpl_BtCp1ySSRiZuC61kdwjLNfcZF9iT","dynamics":[],"chunks":[]}