Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.
An online eval runs continuously against your production traces: you take an evaluator you already built and attach it to a task pointed at a live project. Any evaluator works here - an LLM judge, a code evaluator, an agent-as-a-judge, or a remote evaluator. For the full anatomy of a task - evaluators, data source, variable mapping, cadence and sampling - see How tasks work.You’ll need traces flowing into Arize AX and an LLM provider configured. See AI Provider Integrations.Most teams start with a one-time backfill over historical data to set a baseline, then switch on a continuous task.
Before automating, read real traces in your tracing project to understand where things go wrong. Group failure patterns into a taxonomy - each category can map to an evaluator or filter. To capture those categories as structured labels, see Human review.
Let Alyx set up the task for you. Press Cmd+L (macOS) or Ctrl+L (Windows/Linux) to open Alyx and try: “Create an online task that runs this eval on 10% of traces”
Create a task to run over your data
By Arize Skills
By Alyx
By UI
By Code
Use the arize-evaluator skill to create and trigger tasks via the ax CLI without leaving your editor. Install the Arize skills plugin in your coding agent if you have not already. Then ask your agent:
“Create a continuous task to run my hallucination evaluator on my project”
“Trigger a backfill eval run on my project for the last 7 days”
“Set up a task that only evaluates LLM spans”
Task skill
Ask Alyx to create a task and run your evaluator on your traces:
“Run my correctness evaluator continuously on my production traces”
“Backfill my hallucination eval on the last 7 days of spans”
“Set up a task to score only LLM spans with my relevance evaluator”
Ask Alyx
You can create a task from several places in Arize AX: from the Evaluators page in the left sidebar, from the Projects page, or directly from within a span. To start from the evaluator instead, find it in the Eval Hub tab and click Use Evaluator - task creation opens with it already selected.
Click New Task from any of the entry points above.
Name your task and select your project as the data source.
Click Add Evaluator and pick an evaluator From Hub, Create from Template, or Create Custom. You can add multiple evaluators to a single task.
Configure column mappings to map template variables to your data. The evaluator definition itself stays read-only here - see Column mapping.
Set evaluation granularity: span, trace, or session.
Choose cadence: run continuously on new data or run once on historical data.
Set sampling rate and any filters.
Click Create Task.
Once created, results appear automatically in the Tracing view attached to each span. To check on a task, go to the Running Tasks tab, open any task, and click View Logs. From the logs you can also click View Traces to jump directly to the spans that were evaluated with the same filters applied.
Use this approach when you need to run evals on large datasets, incorporate external data sources, or want full control over execution and cost. Export your spans, run evals using Phoenix Evals, and log results back to Arize AX via the Python SDK.
Check which attributes are present with primary_df.columns, then map your input and output columns:
primary_df["input"] = primary_df["attributes.input.value"]primary_df["output"] = primary_df["attributes.output.value"]from phoenix.evals import create_classifierfrom phoenix.evals.evaluators import async_evaluate_dataframefrom phoenix.evals.llm import LLMMY_SAMPLE_TEMPLATE = ''' You are evaluating the positivity or negativity of the responses to questions. [BEGIN DATA] ************ [Question]: {input} ************ [Response]: {output} [END DATA] Please focus on the tone of the response. Your answer must be single word, either "positive" or "negative" '''llm = LLM(provider="openai", model="gpt-5")sample_evaluator = create_classifier( name="sample-eval", llm=llm, prompt_template=MY_SAMPLE_TEMPLATE, choices={"correct": 1.0, "incorrect": 0.0},)results_df = await async_evaluate_dataframe( dataframe=primary_df, evaluators=[sample_evaluator],)
It is easier to iterate on your evaluator in a Python script or Colab notebook first - see Test evaluator code locally. For the in-product Create Evaluator layout (imports, class, and sample-data mapping), see Create evaluators.
Results require four columns: eval.<name>.label, eval.<name>.score, eval.<name>.explanation, and context.span_id. For trace or session evals use the prefixes trace_eval.<name> and session_eval.<name>.
Low-volume or critical applications where you want to evaluate every trace
10–50%
High-volume applications balancing cost and coverage
1–5%
Very high-volume applications where representative sampling is enough
Start at 10–20% and increase once you have validated your evaluator is working correctly.Sampling applies at the highest evaluator scope on the task (session > trace > span). Evaluators at lower scopes then run on all matching data inside that sampled set. The same ordering sets the ceiling on a one-time backfill: the maximum number of items is based on the highest scope on the task.
For trace and session evaluators, you can use a multi-span query (MSQ) - the same filter model as multi-span filters on the Tracing page. Named span subqueries (A, B, C, …) are combined with operators (AND, OR, NOT, ->, =>) to express patterns like “retrieval happened, then an LLM answered” or “agent directly called a tool.”
Find the traces or sessions where a pattern of spans occurred - then evaluate only the spans that matter.
Example - RAG audit
Subquery
Filter
A
attributes.openinference.span.kind = 'RETRIEVER'
B
attributes.openinference.span.kind = 'LLM' AND status_code = 'OK'
Expression:A => B - retriever is the direct parent of the LLM span.
Evaluation level
MSQ behavior
Span
Single subquery only - complex operators add little value
Trace
Full MSQ; one score per trace, written to the trace root span (trace_eval.<name>)
Session
Full MSQ; scores written to each turn’s root span (session_eval.<name>)
Subquery-aware variable mapping: For each template variable, specify which column to read and which subquery(ies) may supply it.
Variable
Column
Subqueries
{question}
input
A
{answer}
output
B
{context}
attributes.retrieval.documents
A
{conversation} (session evals only): A virtual variable - not a column. The platform builds a formatted transcript from each root span (parent_id IS NULL) in the session and injects it into the prompt.MSQ does not replace sampling or cadence - it replaces the filter half of the task. Sampling applies after admission, at the trace/session unit level.
Use MSQ when…
A simple span filter is enough when…
Span order or parent-child structure matters
You only need “session contains span X”
Different variables come from different span roles
For tasks that use Run continuously on new data, evaluators from the Eval Hub (including pre-built LLM judge templates) run on incoming traces on a rolling schedule. When you create a task and add an evaluator, you can pick a template from the hub before mapping columns and saving.On the Evaluators page, the Running Eval Tasks tab lists every task, its target and evaluators, a snapshot of the last few runs, and View Logs when you need execution details.
Once a task runs, results attach automatically to the spans it scored. See Results and costs for where scores appear in the tracing UI, how to chart them over time, and how to read task logs when a run fails.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Arize AX Docs","colors":{"primary":"#7A0047","light":"#FF8AC8","dark":"#FF74BF"},"logo":{"light":"https://mintcdn.com/arize-ax/V-uvingrGLOCK4VD/logo/light.svg?fit=max\u0026auto=format\u0026n=V-uvingrGLOCK4VD\u0026q=85\u0026s=cc58ee9388d5b5253d39b65cc662908f","dark":"https://mintcdn.com/arize-ax/V-uvingrGLOCK4VD/logo/dark.svg?fit=max\u0026auto=format\u0026n=V-uvingrGLOCK4VD\u0026q=85\u0026s=b16a0266f5913934131301a1b60af51e","href":"https://arize.com"},"favicon":"https://mintcdn.com/arize-ax/1gcABHkqP5TIGbru/favicon.ico?fit=max\u0026auto=format\u0026n=1gcABHkqP5TIGbru\u0026q=85\u0026s=aef538e87b54a3c819583bc40acfc2f8","appearance":{"default":"dark"},"background":{"color":{"light":"#FFFFFF","dark":"#0A0A12"}},"navbar":{"links":[],"primary":{"type":"button","label":"Get started","href":"https://app.arize.com/auth/join"}},"footer":{"socials":{"x":"https://x.com/arizeai","bluesky":"https://bsky.app/profile/arize.bsky.social","threads":"https://www.threads.com/@arize.ai","instagram":"https://www.instagram.com/arize_ai","linkedin":"https://www.linkedin.com/company/arizeai","youtube":"https://youtube.com/@arizeai","slack":"https://arize-ai.slack.com/ssb/redirect","website":"https://fosstodon.org/@arizeai"},"links":[{"header":"Support","items":[{"label":"Chat Us On Slack","href":"https://arize-ai.slack.com/ssb/redirect"},{"label":"support@arize.com","href":"mailto:support@arize.com"},{"label":"System Status","href":"https://status.arize.com"}]},{"header":"Get Started","items":[{"label":"Signup For Free","href":"https://arize.com/join"},{"label":"Book A Demo","href":"https://arize.com/request-a-demo"}]},{"header":"Resources","items":[{"label":"Blog","href":"https://arize.com/blog"}]}]},"seo":{"metatags":{"canonical":"https://arize.com/docs"},"indexing":"all"},"fonts":{"heading":{"family":"Geist","weight":600},"body":{"family":"Geist"}},"styling":{"codeblocks":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"latex":true},"integrations":{"gtm":{"tagId":"GTM-W96XM35"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"arize-ax","hasAudioNarration":false,"actualSubdomain":"arize-ax","customDomains":[],"gitSource":{"type":"github","owner":"arize-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2915a66b32c617109627b","collectionId":"c2fed4b5-0ff4-4e1c-b801-052a98b0946e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2915a66b32c617109627b"},"feedback":{"thumbs":true,"contextualFeedback":{"allowEmail":true,"emailDisclaimer":"We will only use your email to follow up with you about this feedback."}},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae2c6db1cc71cd94a03b13b","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"APIs, SDKs, \u0026 Skills","count":354},{"language":"default","tag":"Get Started","count":243},{"language":"default","tag":"API reference","count":200},{"language":"default","tag":"REST","count":167},{"language":"default","tag":"Endpoints","count":164},{"language":"default","tag":"API clients","count":142},{"language":"default","tag":"Machine Learning","count":139},{"language":"default","tag":"ML observability","count":139},{"language":"default","tag":"Integrations","count":129},{"language":"default","tag":"Guides","count":69}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@arize.com"}},"basePath":"/docs","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":"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":"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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"6944513fe59e82150b5700b3","deploymentId":"6894ef048eafbd2a7c20796e","questionText":"Need more help? Ask our team in #arize-ax-platform-support on community Slack.","status":"active","generatedBy":"manual","createdAt":"2025-12-18T19:08:47.802Z","updatedAt":"2025-12-18T19:15:01.436Z","__v":0}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\nhtml:root{--font-family-mono-custom:'Geist Mono';--gray-50:248 248 246;--gray-100:242 242 237;--gray-200:230 230 223;--gray-300:205 205 200;--gray-400:179 179 191;--gray-500:138 138 150;--gray-600:91 91 105;--gray-700:62 62 78;--gray-800:46 46 61;--gray-900:21 21 31;--gray-950:10 10 18;--ax-radius-sm:2px;--ax-radius-md:6px;--ax-radius-lg:8px;--ax-accent-bg:#FF74BF;--ax-panel:#CDBEF7;--ax-panel-2:#E3DBFC;--ax-panel-code:#FFFFFF;--ax-panel-border:rgba(19, 22, 64, 0.22);--ax-panel-icon:#4827C1;--ax-panel-t1:#121221;--ax-panel-t2:#2A2A38;--ax-panel-accent:#6E1046;--ax-panel-code-kw:#3F4110;--ax-panel-code-flag:#5A3200;--ax-panel-code-url:#004A70;--ax-panel-selection:#FFE9F4}html:not(.dark){--ax-bg:#FFFFFF;--ax-surface:#F8F8F4;--ax-code-bg:#F5F5ED;--ax-chip:#EDEDE2;--ax-line:rgba(19, 22, 64, 0.20);--ax-t1:#121221;--ax-t2:#2E2E3D;--ax-t3:#3E3E4E;--ax-accent:#7A0047;--ax-accent-line:rgba(255, 98, 182, 0.55);--ax-accent-soft:#FFE9F4;--ax-on-accent:#121221;--ax-note:#E8F3EC;--ax-note-line:rgba(30, 70, 50, 0.24);--ax-note-t:#1B4230;--ax-warn:#FBEEE0;--ax-warn-line:rgba(90, 50, 0, 0.24);--ax-warn-t:#54300A;--ax-blue:#E7F3FD;--ax-blue-line:rgba(0, 82, 125, 0.24);--ax-blue-t:#00527D;--ax-danger:#FFEBE9;--ax-danger-line:rgba(207, 34, 46, 0.28);--ax-danger-t:#A40E26}html.dark{--ax-bg:#0A0A12;--ax-surface:#15151F;--ax-code-bg:#05050B;--ax-chip:#221B3A;--ax-line:rgba(247, 247, 252, 0.16);--ax-t1:#F5F5FA;--ax-t2:#DCDCE6;--ax-t3:#B3B3C4;--ax-accent:#FF8AC8;--ax-accent-line:rgba(255, 138, 200, 0.45);--ax-accent-soft:#2A1425;--ax-on-accent:#0A0A12;--ax-note:#10241A;--ax-note-line:rgba(159, 224, 188, 0.30);--ax-note-t:#9FE0BC;--ax-warn:#2A1B0A;--ax-warn-line:rgba(255, 201, 138, 0.30);--ax-warn-t:#FFC98A;--ax-blue:#0A1A24;--ax-blue-line:rgba(57, 195, 255, 0.30);--ax-blue-t:#97D8FF;--ax-danger:#2A0F12;--ax-danger-line:rgba(255, 138, 148, 0.30);--ax-danger-t:#FFB3B8}#content{line-height:1.75}#content h1,#page-title{font-size:clamp(2rem,1.4rem + 2.1vw,2.875rem);line-height:1.12;letter-spacing:-.02em;font-weight:600}#content h2,#content h3,#content h4{letter-spacing:-.01em;font-weight:600}#content code,#content kbd,#content samp{font-feature-settings:'tnum' 1}#content a:not(.card){color:var(--ax-accent);text-decoration-thickness:1px;text-underline-offset:3px}:focus-visible{outline:2px solid var(--ax-accent-line);outline-offset:2px}html.dark :focus-visible{outline-color:var(--ax-accent-line)}::selection{background:var(--ax-accent-soft)}#navbar{background:var(--ax-bg);border-bottom:1px solid var(--ax-line)}#navbar div:has(>.nav-tabs){position:relative}#navbar div:has(>.nav-tabs)::before{content:'';position:absolute;top:0;left:50%;width:100vw;margin-left:-50vw;border-top:1px solid var(--ax-line);pointer-events:none}.nav-tabs-item[data-active]{box-shadow:inset 0 -2px 0 var(--ax-accent)}.ax-product-selector{position:relative;display:inline-flex;align-items:stretch;flex:0 0 auto}.ax-product-selector--desktop{margin-left:.75rem;align-self:center}.page-context-dropdown__label{font-family:inherit;font-weight:400}.page-context-dropdown__chevron>span{display:inline-block;transition:transform 150ms ease}.page-context-dropdown__chevron svg{display:block;width:1rem;height:1rem}.page-context-dropdown__chevron[aria-expanded=true]>span{transform:rotate(180deg)}.page-context-dropdown__menu{position:absolute;z-index:60;top:calc(100% + .55rem);right:0;min-width:12.5rem;padding:.4rem;background:var(--ax-bg);border:1px solid var(--ax-line);border-radius:var(--ax-radius-md);box-shadow:0 .75rem 1.5rem rgb(10 10 18/.18)}.ax-product-selector--desktop .page-context-dropdown__menu{right:auto;left:0}.page-context-dropdown__menu[hidden]{display:none}.page-context-dropdown__item{display:flex;align-items:center;justify-content:space-between;min-height:2.5rem;padding:.55rem .65rem;color:var(--ax-t1);border-radius:var(--ax-radius-sm);font-size:.9375rem;font-weight:400;text-decoration:none;transition:background-color 150ms ease,color 150ms ease}.page-context-dropdown__item:focus-visible,.page-context-dropdown__item:hover{color:var(--ax-accent);background:var(--ax-accent-soft)}#sidebar-content li[data-active]>a,.page-context-dropdown__item[data-selected=true]{color:var(--ax-accent);font-weight:500}.page-context-dropdown__item[data-selected=true]::after{content:'✓';margin-left:1.5rem;color:var(--ax-accent);font-size:.875rem}@media (prefers-reduced-motion:reduce){.page-context-dropdown__chevron>span,.page-context-dropdown__item{transition:none}}@media (max-width:767px){#navbar .ax-product-selector--desktop{display:none}#mobile-nav-content .ax-product-selector--mobile{margin:.5rem 0 1rem}#mobile-nav-content .page-context-dropdown__label{flex:1 1 auto}#mobile-nav-content .page-context-dropdown__chevron{flex:0 0 auto}#mobile-nav-content .page-context-dropdown__menu{position:static;margin-top:.4rem}}#topbar-cta-button{background:var(--ax-accent-bg);color:var(--ax-on-accent);border-radius:var(--ax-radius-md);border:0}#topbar-cta-button span,#topbar-cta-button svg{color:var(--ax-on-accent)!important}#assistant-entry,#search-bar-entry{background:var(--ax-surface);border:1px solid var(--ax-line);border-radius:var(--ax-radius-md)}#assistant-entry{border:1px solid var(--ax-accent-line)}#assistant-entry svg{color:var(--ax-accent)}#page-context-menu,.page-context-dropdown{font-size:.9375rem;align-items:stretch}#page-context-menu-button,.page-context-dropdown__label{display:inline-flex;align-items:center;padding:10px 14px;border-radius:var(--ax-radius-md) 0 0 var(--ax-radius-md);background:var(--ax-surface);color:var(--ax-t1);border:1px solid var(--ax-line);text-decoration:none}#page-context-menu-button>div{font-size:.9375rem;gap:9px}#page-context-menu>button[aria-haspopup],.page-context-dropdown__chevron{height:auto;align-self:stretch;aspect-ratio:auto;padding:10px 11px;border-radius:0 var(--ax-radius-md) var(--ax-radius-md) 0;background:var(--ax-surface);color:var(--ax-t3);border:1px solid var(--ax-line);border-left:0;cursor:pointer}#sidebar-content li[data-active]>a{background:var(--ax-accent-soft);border-radius:var(--ax-radius-md)}.sidebar-group-header{font-weight:600;color:var(--ax-t1)}.toc-item[data-active],.toc-item[data-active] a{color:var(--ax-accent);font-weight:400}.card.card,.frame.frame{background:var(--ax-surface);border-radius:var(--ax-radius-lg)}.card.card{border-color:var(--ax-line);box-shadow:none}.frame.frame{border:1px solid var(--ax-line)}.accordion-group.accordion-group,.accordion.accordion{border-radius:var(--ax-radius-md);border-color:var(--ax-line)}.accordion.accordion{background:var(--ax-surface)}.code-block.code-block,.code-group.code-group{background:var(--ax-code-bg);border-color:var(--ax-line);border-radius:var(--ax-radius-md)}.code-block-background,html.dark .code-block-background{background:var(--ax-code-bg)!important}#content :not(pre)>code{background:var(--ax-chip);border-radius:var(--ax-radius-sm)}.code-block:has([data-floating-buttons]) [data-fade-overlay]{background-image:none}[data-floating-buttons] button{background:var(--ax-chip)}.callout .code-block-background,.callout .code-block.code-block,.callout .code-group.code-group,html.dark .callout .code-block-background{background:var(--ax-bg)!important}.callout{border-radius:var(--ax-radius-lg)}.callout[data-callout-type=callout],.callout[data-callout-type=info]{background:var(--ax-surface);border-color:var(--ax-line)}.callout[data-callout-type=callout] [data-component-part=callout-content],.callout[data-callout-type=info] [data-component-part=callout-content]{color:var(--ax-t2)!important}.callout[data-callout-type=check],.callout[data-callout-type=tip]{background:var(--ax-note);border-color:var(--ax-note-line)}.callout[data-callout-type=check] [data-component-part=callout-content],.callout[data-callout-type=tip] [data-component-part=callout-content]{color:var(--ax-note-t)!important}.callout[data-callout-type=warning]{background:var(--ax-warn);border-color:var(--ax-warn-line)}.callout[data-callout-type=warning] [data-component-part=callout-content]{color:var(--ax-warn-t)!important}.callout[data-callout-type=note]{background:var(--ax-blue);border-color:var(--ax-blue-line)}.callout[data-callout-type=note] [data-component-part=callout-content]{color:var(--ax-blue-t)!important}.callout[data-callout-type=danger]{background:var(--ax-danger);border-color:var(--ax-danger-line)}.callout[data-callout-type=danger] [data-component-part=callout-content]{color:var(--ax-danger-t)!important}[data-component-part=step-number]>div{background:var(--ax-accent-soft);border:1px solid var(--ax-accent-line);color:var(--ax-accent);font-weight:500}.update.update-container{flex-direction:column;gap:.5rem;border-top:1px solid var(--ax-line)}.update.update-container:first-of-type{border-top:none}.update.update-container>div:first-child{width:100%;position:static}.update.update-container>div:last-child{width:100%;max-width:none}#content th{color:var(--ax-t1);font-weight:600}#content td,#content th{border-bottom:1px solid var(--ax-line)}footer{border-top:1px solid var(--ax-line)}.ax-hero .callout{background:var(--ax-panel);border-color:var(--ax-panel-border);border-radius:var(--ax-radius-lg)}.ax-hero .callout [data-component-part=callout-content],.ax-hero .callout li,.ax-hero .callout p,.ax-hero .code-group [role=tab]{color:var(--ax-panel-t2)!important}.ax-hero .callout h2,.ax-hero .callout h3,.ax-hero .callout strong{color:var(--ax-panel-t1)!important}.ax-hero .callout [data-component-part=callout-icon] svg{background:var(--ax-panel-icon)!important}.ax-hero .code-block,.ax-hero .code-block-background,.ax-hero .code-group{background:var(--ax-panel-code)!important;border-color:var(--ax-panel-border)}.ax-hero .code-block,.ax-hero .code-group{padding:0;overflow:hidden}html.dark .ax-hero .code-block,html.dark .ax-hero .code-block-background,html.dark .ax-hero .code-group,html.dark .ax-hero .shiki,html:not(.dark) .ax-hero .code-block,html:not(.dark) .ax-hero .code-block-background,html:not(.dark) .ax-hero .code-group{background:var(--ax-panel-code)!important}html.dark .ax-hero .shiki,html.dark .ax-hero .shiki span{color:var(--ax-panel-t1)!important}html.dark .ax-hero .shiki span[style*='#FFA657']{color:var(--ax-panel-code-kw)!important}html.dark .ax-hero .shiki span[style*='#79C0FF']{color:var(--ax-panel-code-flag)!important}html.dark .ax-hero .shiki span[style*='#A5D6FF']{color:var(--ax-panel-code-url)!important}.ax-hero .code-group>div:first-child,html.dark .ax-hero .code-group>div:first-child{background:var(--ax-panel-2)!important;border-bottom:1px solid var(--ax-panel-border)}.ax-hero .callout a,.ax-hero .code-group [role=tab][aria-selected=true]{color:var(--ax-panel-accent)!important}.ax-hero .code-group [role=tab][aria-selected=true]>div:last-child{background:var(--ax-panel-accent)!important}.ax-hero .code-block svg,.ax-hero .code-group svg{color:var(--ax-panel-t2)}html.dark .ax-hero [data-fade-overlay]{background-image:linear-gradient(to right,rgb(255 255 255/0) 0,rgb(255 255 255/.2) 10px,rgb(255 255 255/.5) 25px,rgb(255 255 255/.8) 35px,rgb(255 255 255) 45px)}.ax-hero ::selection,.ax-hero::selection{background:var(--ax-panel-selection)}.card-group .card img{max-height:197px!important}.card-group[class$=\"-2\"] .card img{height:160px!important}.card-group[class$=\"-3\"] .card img{height:150px!important}table{display:table!important}.step-title{font-size:1.5rem!important}"}],"page":{"pagePath":"ax/evaluate/run-evals-on-traces","slug":"/ax/evaluate/run-evals-on-traces","pageMetadata":{"title":"Run online evals on traces","sidebarTitle":"Online evals","description":"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.","href":"/ax/evaluate/run-evals-on-traces"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Tab,Table,Tabs,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`An online eval runs continuously against your production traces: you take an evaluator you already built and attach it to a task pointed at a live project. Any evaluator works here - an `,_jsx(_components.a,{href:`/ax/evaluate/evaluators/llm-as-a-judge`,children:`LLM judge`}),`, a `,_jsx(_components.a,{href:`/ax/evaluate/evaluators/code-evaluations`,children:`code evaluator`}),`, an `,_jsx(_components.a,{href:`/ax/evaluate/agent-as-a-judge`,children:`agent-as-a-judge`}),`, or a `,_jsx(_components.a,{href:`/ax/evaluate/remote-evaluators`,children:`remote evaluator`}),`. For the full anatomy of a task - evaluators, data source, variable mapping, cadence and sampling - see `,_jsx(_components.a,{href:`/ax/evaluate/run-evals#what-is-a-task`,children:`How tasks work`}),`.`]}),`\n`,_jsx(`span`,{id:`what-is-a-task`}),`\n`,_jsxs(_components.p,{children:[`You’ll need traces flowing into Arize AX and an LLM provider configured. See `,_jsx(_components.a,{href:`/ax/security-and-settings/integrations-playground/overview`,children:`AI Provider Integrations`}),`.`]}),`\n`,_jsx(_components.p,{children:`Most teams start with a one-time backfill over historical data to set a baseline, then switch on a continuous task.`}),`\n`,_jsx(Heading,{level:`2`,id:`start-from-real-traces`,children:`Start from real traces`}),`\n`,_jsxs(_components.p,{children:[`Before automating, read real traces in your `,_jsx(_components.a,{href:`/ax/observe/tracing/view-and-manage-traces`,children:`tracing project`}),` to understand where things go wrong. Group failure patterns into a taxonomy - each category can map to an evaluator or filter. To capture those categories as structured labels, see `,_jsx(_components.a,{href:`/ax/evaluate/human-review`,children:`Human review`}),`.`]}),`\n`,_jsx(Frame,{caption:`Playground Traces`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/eval%20metric%20traces.png`,alt:`Arize AX tracing project showing Playground Traces with summary cards for traffic, span latency, tokens and cost, a traces table with LLM rows and input and output columns, filters and date range, and Ask Alyx open on the right`})}),`\n`,_jsx(`span`,{id:`setting-up-online-evals`}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-task`,children:`Create a task`}),`\n`,_jsx(_components.p,{children:`Create a task in any of these ways.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Let Alyx set up the task for you.`}),` Press `,_jsx(_components.strong,{children:`Cmd+L`}),` (macOS) or `,_jsx(_components.strong,{children:`Ctrl+L`}),` (Windows/Linux) to open `,_jsx(_components.a,{href:`/ax/alyx`,children:`Alyx`}),` and try: `,_jsx(_components.em,{children:`“Create an online task that runs this eval on 10% of traces”`})]})}),`\n`,_jsx(Frame,{caption:`Create a task to run over your data`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/create%20task.png`,alt:`Evaluators page with Evaluator Hub tab and New Task side panel showing task name, project and trace source with an LLM span filter, an added span evaluator, Run Continuously on with 100 percent sampling, and Create Task`})}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`By Arize Skills`,id:`by-arize-skills`,children:[_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`https://github.com/Arize-ai/arize-skills/blob/main/skills/arize-evaluator/SKILL.md`,children:`arize-evaluator skill`}),` to create and trigger tasks via the `,_jsx(_components.code,{children:`ax`}),` CLI without leaving your editor. Install the `,_jsx(_components.a,{href:`/ax/skills/overview`,children:`Arize skills plugin`}),` in your coding agent if you have not already. Then ask your agent:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`“Create a continuous task to run my hallucination evaluator on my project”`}),`\n`,_jsx(_components.li,{children:`“Trigger a backfill eval run on my project for the last 7 days”`}),`\n`,_jsx(_components.li,{children:`“Set up a task that only evaluates LLM spans”`}),`\n`]}),_jsx(Frame,{caption:`Task skill`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/task-skill.png`,alt:`Terminal showing ax tasks create for a Hallucination Monitor continuous task, success with LLM span filter and input output column mapping, and agent follow-up explaining LLM-only span scoring`})})]}),_jsxs(Tab,{title:`By Alyx`,id:`by-alyx`,children:[_jsxs(_components.p,{children:[`Ask `,_jsx(_components.a,{href:`/ax/alyx/meet-alyx`,children:`Alyx`}),` to create a task and run your evaluator on your traces:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`“Run my correctness evaluator continuously on my production traces”`}),`\n`,_jsx(_components.li,{children:`“Backfill my hallucination eval on the last 7 days of spans”`}),`\n`,_jsx(_components.li,{children:`“Set up a task to score only LLM spans with my relevance evaluator”`}),`\n`]}),_jsx(Frame,{caption:`Ask Alyx`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/alyx%20task.png`,alt:`Tracing project with traces table and Ask Alyx open, showing Alyx confirming a continuous eval task with project, sampling, evaluator, and label details`})})]}),_jsxs(Tab,{title:`By UI`,id:`by-ui`,children:[_jsxs(_components.p,{children:[`You can create a task from several places in Arize AX: from the `,_jsx(_components.strong,{children:`Evaluators`}),` page in the left sidebar, from the `,_jsx(_components.strong,{children:`Projects`}),` page, or directly from within a span. To start from the evaluator instead, find it in the `,_jsx(_components.strong,{children:`Eval Hub`}),` tab and click `,_jsx(_components.strong,{children:`Use Evaluator`}),` - task creation opens with it already selected.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Click New Task`}),` from any of the entry points above.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name your task`}),` and select your project as the data source.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Click Add Evaluator`}),` and pick an evaluator `,_jsx(_components.strong,{children:`From Hub`}),`, `,_jsx(_components.strong,{children:`Create from Template`}),`, or `,_jsx(_components.strong,{children:`Create Custom`}),`. You can add multiple evaluators to a single task.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Configure column mappings`}),` to map template variables to your data. The evaluator definition itself stays read-only here - see `,_jsx(_components.a,{href:`/ax/evaluate/run-evals#column-mapping`,children:`Column mapping`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Set evaluation granularity:`}),` span, trace, or session.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Choose cadence:`}),` run continuously on new data or run once on historical data.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Set sampling rate`}),` and any filters.`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Click Create Task.`})}),`\n`]}),_jsxs(_components.p,{children:[`Once created, results appear automatically in the Tracing view attached to each span. To check on a task, go to the `,_jsx(_components.strong,{children:`Running Tasks`}),` tab, open any task, and click `,_jsx(_components.strong,{children:`View Logs`}),`. From the logs you can also click `,_jsx(_components.strong,{children:`View Traces`}),` to jump directly to the spans that were evaluated with the same filters applied.`]})]}),_jsxs(Tab,{title:`By Code`,id:`by-code`,\"data-child-heading-ids\":`[\"1-export-spans\",\"2-run-evals\",\"3-log-results-back-to-arize-ax\"]`,children:[_jsx(_components.p,{children:`Use this approach when you need to run evals on large datasets, incorporate external data sources, or want full control over execution and cost. Export your spans, run evals using Phoenix Evals, and log results back to Arize AX via the Python SDK.`}),_jsx(Heading,{level:`3`,id:`1-export-spans`,children:`1. Export spans`}),_jsxs(_components.p,{children:[`From the Tracing page, click `,_jsx(_components.strong,{children:`Export`}),` and select `,_jsx(_components.strong,{children:`Export to Notebook`}),` to get prefilled export code. Or export programmatically:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` datetime `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` datetime`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` arize `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` ArizeClient`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` ArizeClient(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"ARIZE_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`])`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`primary_df `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` client.spans.export_to_df(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` space_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"ARIZE_SPACE_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` project_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"your-project-name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` start_time`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`datetime.fromisoformat(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`), `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`# prefilled by export`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` end_time`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`datetime.fromisoformat(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`), `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`# prefilled by export`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})}),`\n`]})})}),_jsx(Heading,{level:`3`,id:`2-run-evals`,children:`2. Run evals`}),_jsxs(_components.p,{children:[`Check which attributes are present with `,_jsx(_components.code,{children:`primary_df.columns`}),`, then map your input and output columns:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`33`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`33`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`primary_df[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"input\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` primary_df[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"attributes.input.value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`primary_df[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"output\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` primary_df[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"attributes.output.value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` phoenix.evals `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` create_classifier`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` phoenix.evals.evaluators `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` async_evaluate_dataframe`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` phoenix.evals.llm `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` LLM`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`MY_SAMPLE_TEMPLATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` '''`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` You are evaluating the positivity or negativity of the responses to questions.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` [BEGIN DATA]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` ************`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` [Question]: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`{input}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` ************`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` [Response]: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`{output}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` [END DATA]`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` Please focus on the tone of the response.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` Your answer must be single word, either \"positive\" or \"negative\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` '''`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`llm `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` LLM(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`provider`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"openai\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"gpt-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`sample_evaluator `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` create_classifier(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"sample-eval\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` llm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`llm,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` prompt_template`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`MY_SAMPLE_TEMPLATE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` choices`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"correct\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`1.0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"incorrect\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`0.0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`results_df `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` async_evaluate_dataframe(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` dataframe`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`primary_df,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` evaluators`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`[sample_evaluator],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})}),`\n`]})})}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`It is easier to iterate on your evaluator in a Python script or Colab notebook first - see `,_jsx(_components.a,{href:`/ax/evaluate/run-evals#test-evaluator-code-locally`,children:`Test evaluator code locally`}),`. For the in-product `,_jsx(_components.strong,{children:`Create Evaluator`}),` layout (imports, class, and sample-data mapping), see `,_jsx(_components.a,{href:`/ax/evaluate/create-evaluators#code-evaluations`,children:`Create evaluators`}),`.`]})}),_jsx(Heading,{level:`3`,id:`3-log-results-back-to-arize-ax`,children:`3. Log results back to Arize AX`}),_jsxs(_components.p,{children:[`Results require four columns: `,_jsx(_components.code,{children:`eval.\u003cname>.label`}),`, `,_jsx(_components.code,{children:`eval.\u003cname>.score`}),`, `,_jsx(_components.code,{children:`eval.\u003cname>.explanation`}),`, and `,_jsx(_components.code,{children:`context.span_id`}),`. For trace or session evals use the prefixes `,_jsx(_components.code,{children:`trace_eval.\u003cname>`}),` and `,_jsx(_components.code,{children:`session_eval.\u003cname>`}),`.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` arize `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` ArizeClient`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` phoenix.evals.utils `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` to_annotation_dataframe`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` ArizeClient(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"ARIZE_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`])`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`sample_eval_df `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` to_annotation_dataframe(results_df)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`sample_eval_df `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` sample_eval_df.rename(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`columns`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` \"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"eval.correctness.label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` \"score\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"eval.correctness.score\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` \"explanation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"eval.correctness.explanation\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`})`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`client.spans.update_evaluations(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` space_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"ARIZE_SPACE_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` project_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"your-project-name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:` dataframe`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`sample_eval_df,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Evals can be applied to spans up to 14 days prior to the current day. For older spans contact `,_jsx(_components.a,{href:`mailto:support@arize.com`,children:`support@arize.com`}),`.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`task-configuration`,children:`Task configuration`}),`\n`,_jsx(Heading,{level:`3`,id:`sampling-rate`,children:`Sampling rate`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Rate`}),_jsx(_components.th,{children:`When to use`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`100%`})}),_jsx(_components.td,{children:`Low-volume or critical applications where you want to evaluate every trace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`10–50%`})}),_jsx(_components.td,{children:`High-volume applications balancing cost and coverage`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`1–5%`})}),_jsx(_components.td,{children:`Very high-volume applications where representative sampling is enough`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Start at `,_jsx(_components.strong,{children:`10–20%`}),` and increase once you have validated your evaluator is working correctly.`]}),`\n`,_jsxs(_components.p,{children:[`Sampling applies at the `,_jsx(_components.strong,{children:`highest evaluator scope`}),` on the task (`,_jsx(_components.code,{children:`session`}),` > `,_jsx(_components.code,{children:`trace`}),` > `,_jsx(_components.code,{children:`span`}),`). Evaluators at lower scopes then run on all matching data inside that sampled set. The same ordering sets the ceiling on a one-time backfill: the maximum number of items is based on the highest scope on the task.`]}),`\n`,_jsx(Heading,{level:`3`,id:`filters`,children:`Filters`}),`\n`,_jsx(_components.p,{children:`Use filters to target specific subsets of your data:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Span kind:`}),` Only evaluate specific span types (for example LLM spans)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Model name:`}),` Only evaluate spans from a specific model`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Metadata:`}),` Only evaluate spans with certain metadata tags`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Span attributes:`}),` Filter on any span attribute`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`A filter matches spans directly, and admits the traces or sessions that contain a matching span.`}),`\n`,_jsx(Frame,{caption:`New Task`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/task%20configs.png`,alt:`Evaluators page with New Task panel showing target project and traces, a span kind query for LLM spans, Add Evaluator, Run Continuously and sampling, One-Time Backfill, and Advanced options including LLM Override and Enable Tracing`})}),`\n`,_jsx(Heading,{level:`4`,id:`multi-span-queries-trace-and-session-evals`,children:`Multi-span queries (trace and session evals)`}),`\n`,_jsxs(_components.p,{children:[`For `,_jsx(_components.strong,{children:`trace`}),` and `,_jsx(_components.strong,{children:`session`}),` evaluators, you can use a `,_jsx(_components.strong,{children:`multi-span query`}),` (MSQ) - the same filter model as `,_jsx(_components.a,{href:`/ax/observe/tracing/view-and-manage-traces#multi-span-filters`,children:`multi-span filters`}),` on the Tracing page. Named span subqueries (A, B, C, …) are combined with operators (`,_jsx(_components.code,{children:`AND`}),`, `,_jsx(_components.code,{children:`OR`}),`, `,_jsx(_components.code,{children:`NOT`}),`, `,_jsx(_components.code,{children:`->`}),`, `,_jsx(_components.code,{children:`=>`}),`) to express patterns like “retrieval happened, then an LLM answered” or “agent directly called a tool.”`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Find the traces or sessions where a `,_jsx(_components.strong,{children:`pattern`}),` of spans occurred - then evaluate only the spans that matter.`]})}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Example - RAG audit`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Subquery`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Filter`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`A`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`attributes.openinference.span.kind = 'RETRIEVER'`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`B`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`attributes.openinference.span.kind = 'LLM' AND status_code = 'OK'`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Expression:`}),` `,_jsx(_components.code,{children:`A => B`}),` - retriever is the direct parent of the LLM span.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Evaluation level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`MSQ behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Span`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Single subquery only - complex operators add little value`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Trace`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Full MSQ; one score per trace, written to the trace `,_jsx(_components.strong,{children:`root span`}),` (`,_jsx(_components.code,{children:`trace_eval.\u003cname>`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Session`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Full MSQ; scores written to each turn’s root span (`,_jsx(_components.code,{children:`session_eval.\u003cname>`}),`)`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Subquery-aware variable mapping:`}),` For each template variable, specify which `,_jsx(_components.strong,{children:`column`}),` to read and which `,_jsx(_components.strong,{children:`subquery(ies)`}),` may supply it.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Variable`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Column`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Subqueries`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`{question}`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`input`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`A`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`{answer}`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`output`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`B`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`{context}`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`attributes.retrieval.documents`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`A`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`{conversation}`}),` (session evals only):`]}),` A virtual variable - not a column. The platform builds a formatted transcript from each root span (`,_jsx(_components.code,{children:`parent_id IS NULL`}),`) in the session and injects it into the prompt.`]}),`\n`,_jsx(_components.p,{children:`MSQ does not replace sampling or cadence - it replaces the filter half of the task. Sampling applies after admission, at the trace/session unit level.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Use MSQ when…`}),_jsx(_components.th,{style:{textAlign:`left`},children:`A simple span filter is enough when…`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Span order or parent-child structure matters`}),_jsx(_components.td,{style:{textAlign:`left`},children:`You only need “session contains span X”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Different variables come from different span roles`}),_jsx(_components.td,{style:{textAlign:`left`},children:`All variables live on the same spans`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For operator syntax (`,_jsx(_components.code,{children:`->`}),`, `,_jsx(_components.code,{children:`=>`}),`, parentheses), see `,_jsx(_components.a,{href:`/ax/observe/tracing/view-and-manage-traces#multi-span-filters`,children:`Multi-span filters`}),`. For span vs trace vs session scope, see `,_jsx(_components.a,{href:`/ax/concepts/evaluators/evaluation-levels`,children:`Evaluation levels`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-evals-continuously`,children:`Run evals continuously`}),`\n`,_jsxs(_components.p,{children:[`For tasks that use `,_jsx(_components.strong,{children:`Run continuously on new data`}),`, evaluators from the Eval Hub (including pre-built LLM judge templates) run on incoming traces on a rolling schedule. When you `,_jsx(_components.a,{href:`#create-a-task`,children:`create a task`}),` and add an evaluator, you can pick a template from the hub before mapping columns and saving.`]}),`\n`,_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Evaluators`}),` page, the `,_jsx(_components.strong,{children:`Running Eval Tasks`}),` tab lists every task, its target and evaluators, a snapshot of the last few runs, and `,_jsx(_components.strong,{children:`View Logs`}),` when you need execution details.`]}),`\n`,_jsx(Frame,{caption:`Running Eval Tasks`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/running%20eval%20task.png`,alt:`Evaluators page on Running Eval Tasks tab showing a table of task names, project or dataset targets, attached evaluators, created and last run times, last five runs status pills, and View Logs actions`})}),`\n`,_jsx(Heading,{level:`2`,id:`viewing-results`,children:`Viewing results`}),`\n`,_jsxs(_components.p,{children:[`Once a task runs, results attach automatically to the spans it scored. See `,_jsx(_components.a,{href:`/ax/evaluate/results-and-costs`,children:`Results and costs`}),` for where scores appear in the tracing UI, how to chart them over time, and how to read task logs when a run fails.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{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":{"codeStyling":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"config":{},"pageMetadata":{"title":"Run online evals on traces","sidebarTitle":"Online evals","description":"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.","href":"/ax/evaluate/run-evals-on-traces"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Start from real traces","slug":"start-from-real-traces","depth":2,"children":[]},{"title":"Create a task","slug":"create-a-task","depth":2,"children":[{"title":"1. Export spans","slug":"1-export-spans","depth":3,"children":[],"tabId":"by-code"},{"title":"2. Run evals","slug":"2-run-evals","depth":3,"children":[],"tabId":"by-code"},{"title":"3. Log results back to Arize AX","slug":"3-log-results-back-to-arize-ax","depth":3,"children":[],"tabId":"by-code"}]},{"title":"Task configuration","slug":"task-configuration","depth":2,"children":[{"title":"Sampling rate","slug":"sampling-rate","depth":3,"children":[]},{"title":"Filters","slug":"filters","depth":3,"children":[]},{"title":"Multi-span queries (trace and session evals)","slug":"multi-span-queries-trace-and-session-evals","depth":4,"children":[]}]},{"title":"Run evals continuously","slug":"run-evals-continuously","depth":2,"children":[]},{"title":"Viewing results","slug":"viewing-results","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/arize-ax/6a30b7a67da02161/analytics.js","/docs/_mintlify/custom/arize-ax/67a4d27b62fababa/product-selector.js"],"subdomain":"arize-ax","siteName":"Arize AX Docs","title":"Run online evals on traces - Arize AX Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-20T14:58:35.004Z","originalFileLocation":"ax/evaluate/run-evals-on-traces.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=\"dark\"}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=\"description\" content=\"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Arize AX Docs\">\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/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_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/arize-ax/vxzD83QsbAzzm43O/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run online evals on traces - Arize AX Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Arize AX Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://arize.com/docs/ax/evaluate/run-evals-on-traces\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://arize-ax.mintlify.app/_mintlify/api/og/v2?division=Run+evals+on+your+data\u0026amp;title=Run+online+evals+on+traces\u0026amp;description=Online+evals+answer+whether+quality+is+holding+up+right+now.+Ground+what+you+automate+in+trace+review+and+a+clear+failure+taxonomy+first.\u0026amp;theme=95c8f62533e1d113476c56a7\u0026amp;signature=d85d68475d52d1e5ca1c80d6913616acc9bdf0c5ba88bdab02df61953dd91164\">\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=\"Run online evals on traces - Arize AX Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://arize-ax.mintlify.app/_mintlify/api/og/v2?division=Run+evals+on+your+data\u0026amp;title=Run+online+evals+on+traces\u0026amp;description=Online+evals+answer+whether+quality+is+holding+up+right+now.+Ground+what+you+automate+in+trace+review+and+a+clear+failure+taxonomy+first.\u0026amp;theme=95c8f62533e1d113476c56a7\u0026amp;signature=d85d68475d52d1e5ca1c80d6913616acc9bdf0c5ba88bdab02df61953dd91164\">\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/arize-ax/vxzD83QsbAzzm43O/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Arize AX Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7A0047\">\u003clink data-mint-head rel=\"canonical\" href=\"https://arize.com/docs/ax/evaluate/run-evals-on-traces\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/ax/evaluate/run-evals-on-traces.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://arize.com/#organization\",\"name\":\"Arize AX Docs\",\"url\":\"https://arize.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/arize-ax/V-uvingrGLOCK4VD/logo/light.svg?fit=max\u0026auto=format\u0026n=V-uvingrGLOCK4VD\u0026q=85\u0026s=cc58ee9388d5b5253d39b65cc662908f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://arize.com/docs#website\",\"name\":\"Arize AX Docs\",\"url\":\"https://arize.com/docs\",\"publisher\":{\"@id\":\"https://arize.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces#webpage\",\"url\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces\",\"name\":\"Run online evals on traces\",\"description\":\"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.\",\"dateModified\":\"2026-08-20T14:58:35.004Z\",\"isPartOf\":{\"@id\":\"https://arize.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Evaluate\",\"item\":\"https://arize.com/docs/ax/evaluate/what-are-evals\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run evals on your data\",\"item\":\"https://arize.com/docs/ax/evaluate/run-evals\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Run online evals on traces\",\"item\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces#article\",\"headline\":\"Run online evals on traces\",\"name\":\"Run online evals on traces\",\"description\":\"Online evals answer whether quality is holding up right now. Ground what you automate in trace review and a clear failure taxonomy first.\",\"url\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces\",\"mainEntityOfPage\":{\"@id\":\"https://arize.com/docs/ax/evaluate/run-evals-on-traces#webpage\"},\"dateModified\":\"2026-08-20T14:58:35.004Z\",\"publisher\":{\"@id\":\"https://arize.com/#organization\"},\"isPartOf\":{\"@id\":\"https://arize.com/docs#website\"}}]}\u003c/script>","siteName":"Arize AX Docs","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Arize AX","sidebarTitle":"What is Arize AX?","href":"/ax"},{"group":"Quickstart","expanded":true,"pages":[{"title":"Observe your agent","sidebarTitle":"Observe your agent","href":"/ax/get-started/get-started-tracing"},{"title":"Evaluate production traffic","sidebarTitle":"Evaluate production traffic","href":"/ax/get-started/get-started-evaluations"},{"title":"Run evals on experiments","sidebarTitle":"Run evals on experiments","href":"/ax/get-started/get-started-improve-your-agent"},{"title":"Signal to find issues","sidebarTitle":"Signal to find issues","href":"/ax/get-started/get-started-managed-agent"},{"title":"Arize AX for Agents","href":"/ax/set-up-with-ai-assistants"},{"group":"Alyx","pages":[{"title":"Alyx","sidebarTitle":"Get Started","href":"/ax/alyx"},{"title":"Alyx Learn More","sidebarTitle":"Learn More","href":"/ax/alyx-learn-more"}]}]},{"group":"Instrument","pages":[{"title":"Tracing Concepts","sidebarTitle":"Tracing concepts","href":"/ax/instrument/what-are-traces"},{"title":"Auto-Instrumentation","sidebarTitle":"Auto-instrumentation","href":"/ax/instrument/set-up-tracing"},{"title":"Manual Instrumentation","sidebarTitle":"Manual instrumentation","href":"/ax/instrument/manual-instrumentation"},{"title":"Customize Your Traces","sidebarTitle":"Customize your traces","href":"/ax/instrument/customize-your-traces"},{"title":"Track Costs","sidebarTitle":"Track costs","href":"/ax/instrument/track-costs"},{"group":"Going Deeper","pages":[{"title":"Set Up Sessions","sidebarTitle":"Set up sessions","href":"/ax/instrument/set-up-sessions"},{"title":"Combining Auto and Manual Instrumentation","sidebarTitle":"Combine auto + manual","href":"/ax/instrument/combining-auto-and-manual"},{"title":"Setup Agent Trajectory and Path","sidebarTitle":"Agent trajectory and path","href":"/ax/instrument/agent-trajectory"},{"title":"Configure Your Tracer","sidebarTitle":"Configure your tracer","href":"/ax/instrument/configure-your-tracer"},{"title":"Mask and Redact Sensitive Data","sidebarTitle":"Mask and redact data","href":"/ax/instrument/mask-and-redact-data"},{"title":"Sync traces with Data Fabric","sidebarTitle":"Data Fabric","href":"/ax/security-and-settings/data-fabric"},{"title":"Guardrails","href":"/ax/security-and-settings/llm-security/guardrails"},{"title":"Advanced Tracing Patterns","sidebarTitle":"Advanced patterns","href":"/ax/instrument/advanced-patterns"}]}]},{"group":"Observe","pages":[{"title":"Explore Your Traces","sidebarTitle":"Explore your traces","href":"/ax/observe/tracing/view-and-manage-traces"},{"title":"Create Custom Views","sidebarTitle":"Create custom views","href":"/ax/observe/create-custom-views"},{"title":"Observe coding agents","href":"/ax/observe/coding-agents"},{"title":"Set Up Custom Metrics","sidebarTitle":"Set up custom metrics","href":"/ax/observe/projects/custom-metrics-api"},{"title":"Set Up Dashboards","sidebarTitle":"Set up dashboards","href":"/ax/observe/dashboards"},{"group":"Continuously monitor","pages":[{"title":"Continuously Monitor","sidebarTitle":"Overview","href":"/ax/observe/production-monitoring"},{"title":"Slack","href":"/ax/observe/production-monitoring/alerting-integrations/slack"},{"title":"Slack (self-hosted)","href":"/ax/observe/production-monitoring/alerting-integrations/slack/onprem"},{"title":"PagerDuty","href":"/ax/observe/production-monitoring/alerting-integrations/pagerduty"},{"title":"OpsGenie","href":"/ax/observe/production-monitoring/alerting-integrations/opsgenie"},{"title":"Microsoft Teams","href":"/ax/observe/production-monitoring/alerting-integrations/teams"}]}]},{"group":"Agents","pages":[{"title":"Signal","sidebarTitle":"Signal","href":"/ax/observe/signal"},{"title":"Cost Agent","sidebarTitle":"Cost agent","href":"/ax/agents/cost-agent"},{"title":"Eval Health Agent","sidebarTitle":"Eval Health agent","href":"/ax/agents/eval-health-agent"},{"title":"Dataset Coverage Agent","sidebarTitle":"Dataset Coverage agent","href":"/ax/agents/dataset-coverage-agent"},{"title":"Managed agents","href":"/ax/agents/build-your-own-agent"},{"title":"Connect your harness","sidebarTitle":"Connect your harness","href":"/ax/agents/connect-your-harness"}]},{"group":"Evaluate","pages":[{"title":"What are evals?","sidebarTitle":"What are evals?","href":"/ax/evaluate/what-are-evals"},{"title":"Human review","sidebarTitle":"Human review","href":"/ax/evaluate/human-review"},{"group":"Build evals","pages":[{"title":"Build evals","sidebarTitle":"Overview","href":"/ax/evaluate/create-evaluators"},{"title":"LLM-as-a-judge","sidebarTitle":"LLM-as-a-judge","href":"/ax/evaluate/evaluators/llm-as-a-judge"},{"title":"Code evals","sidebarTitle":"Code","href":"/ax/evaluate/evaluators/code-evaluations"},{"title":"Agent-as-a-judge","sidebarTitle":"Agent-as-a-judge","href":"/ax/evaluate/agent-as-a-judge"},{"title":"Decision Judge","sidebarTitle":"Decision Judge","href":"/ax/evaluate/decision-judge"},{"title":"Remote evaluators","sidebarTitle":"Remote","href":"/ax/evaluate/remote-evaluators"},{"title":"Trace and session evals","sidebarTitle":"Trace and session evals","href":"/ax/evaluate/trace-and-session-evals"}]},{"group":"Run evals on your data","pages":[{"title":"Run evals on your data","sidebarTitle":"Overview","description":"Once you have an evaluator, a task runs it over your data - continuously against live traces, or as a batch against a dataset or experiment.","href":"/ax/evaluate/run-evals"},{"title":"Run online evals on traces","sidebarTitle":"Online evals","href":"/ax/evaluate/run-evals-on-traces"},{"title":"Run offline evals on experiments","sidebarTitle":"Offline evals","description":"Run offline evals on datasets and experiments before you ship. Ideal for CI/CD and regression checks.","href":"/ax/evaluate/run-evals-on-experiments"}]},{"title":"Align evals to human feedback","href":"/ax/evaluate/align-evals-to-human-feedback"},{"title":"View eval results and costs","sidebarTitle":"Results and costs","href":"/ax/evaluate/results-and-costs"}]},{"group":"Experimentation","pages":[{"title":"Build a dataset","href":"/ax/improve/build-a-dataset"},{"group":"Create an experiment","pages":[{"title":"Code experiments","href":"/ax/improve/code-experiments"},{"group":"Remote agent experiments","pages":[{"title":"Remote agent experiments","sidebarTitle":"Overview","href":"/ax/improve/remote-agent-experiments"},{"title":"Connect a remote agent","href":"/ax/improve/setup-agent-endpoint"},{"title":"Agent playground","href":"/ax/improve/agent-playground"},{"title":"Trace context for remote agent experiments","href":"/ax/improve/agent-tracing-context"}]},{"title":"Prompt playground","href":"/ax/improve/prompt-playground"}]},{"group":"CI/CD with experiments","pages":[{"title":"CI/CD with experiments","sidebarTitle":"Overview","href":"/ax/improve/ci-cd-for-automated-experiments"},{"title":"Azure DevOps CI/CD Basics","href":"/ax/improve/azure-devops-ci-cd"},{"title":"Github Action Basics","href":"/ax/improve/github-action-basics"},{"title":"Gitlab CI/CD Basics","href":"/ax/improve/gitlab-ci-cd-basics"},{"title":"Jenkins CI/CD Basics","href":"/ax/improve/jenkins-integration"},{"title":"Harness CI/CD Basics","href":"/ax/improve/harness-ci-cd"}]}]},{"group":"Machine Learning","pages":[{"group":"ML observability","pages":[{"title":"Machine learning","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning"},{"title":"User guide: ML","href":"/ax/machine-learning/machine-learning/what-is-ml-observability"},{"title":"Quickstart: ML","href":"/ax/machine-learning/machine-learning/quickstart"},{"group":"Concepts: ML","pages":[{"title":"Concepts: ML","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/concepts-ml"},{"title":"What is a Model Schema","href":"/ax/machine-learning/machine-learning/concepts-ml/model-schema-reference"},{"title":"Delayed Actuals and Tags","href":"/ax/machine-learning/machine-learning/concepts-ml/how-to-send-delayed-actuals"},{"title":"ML Glossary","href":"/ax/machine-learning/machine-learning/concepts-ml/glossary"}]},{"group":"How To: ML","pages":[{"title":"How to: ML","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml"},{"group":"Upload Data to Arize AX","pages":[{"title":"Upload data to Arize","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize"},{"title":"Pandas SDK Example","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/log-directly-via-sdk-api"},{"group":"Local File Upload","pages":[{"title":"Local File Upload","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/ui-drag-and-drop"},{"title":"File Upload FAQ","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/ui-drag-and-drop/ui-drag-and-drop-faq"}]},{"title":"Table Ingestion Tuning","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/table-ingestion-tuning"},{"title":"Wildcard Paths for Cloud Storage","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/wildcard-paths-for-cloud-storage"},{"title":"Troubleshoot Data Upload","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/faq-and-troubleshoot-data-upload"},{"title":"Sending Data FAQ","href":"/ax/machine-learning/machine-learning/how-to-ml/upload-data-to-arize/sending-data-faq"}]},{"group":"Monitors","pages":[{"title":"Monitors","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/monitors"},{"title":"ML Monitor Types","href":"/ax/machine-learning/machine-learning/how-to-ml/monitors/setup"},{"group":"Configure Monitors","pages":[{"title":"Configure Monitors","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/monitors/configure-monitors"},{"title":"Notifications and integrations","href":"/ax/machine-learning/machine-learning/how-to-ml/monitors/configure-monitors/notifications-and-integrations"}]},{"title":"Programmatically Create Monitors","href":"/ax/machine-learning/machine-learning/how-to-ml/monitors/monitors-api"},{"title":"Best Practices for Monitors","href":"/ax/machine-learning/machine-learning/how-to-ml/monitors/choosing-your-metrics"}]},{"group":"Dashboards","pages":[{"title":"Dashboards","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards"},{"title":"Dashboard Widgets","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/widgets"},{"group":"Dashboard Templates","pages":[{"title":"Dashboard Templates","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/templates"},{"title":"Model Performance","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/templates/model-performance"},{"title":"Pre Production Performance","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/templates/pre-production-performance"},{"title":"Feature Analysis","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/templates/feature-analysis"},{"title":"Drift","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/templates/drift"}]},{"title":"Programmatically Create Dashboards","href":"/ax/machine-learning/machine-learning/how-to-ml/dashboards/programmatically-create-dashboards"}]},{"group":"Performance Tracing","pages":[{"title":"Performance Tracing","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/performance-tracing"},{"title":"Time Filtering","href":"/ax/machine-learning/machine-learning/how-to-ml/performance-tracing/time-filtering"},{"title":"Alyx: Performance Insights","href":"/ax/machine-learning/machine-learning/how-to-ml/performance-tracing/ai-powered-performance-insights"}]},{"group":"Drift Tracing","pages":[{"title":"Drift tracing","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/drift-tracing"},{"title":"Alyx: Drift Insights","href":"/ax/machine-learning/machine-learning/how-to-ml/drift-tracing/ai-powered-drift-insights"},{"title":"Data Distribution Visualization","href":"/ax/machine-learning/machine-learning/how-to-ml/drift-tracing/data-distribution-visualization"},{"title":"Embeddings for Tabular Data (Multivariate Drift)","href":"/ax/machine-learning/machine-learning/how-to-ml/drift-tracing/embeddings-for-tabular-data-multivariate-drift"}]},{"group":"Custom Metrics","pages":[{"title":"Custom metrics","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api"},{"group":"Arize Query Language Syntax","pages":[{"title":"Arize Query Language Syntax","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/custom-metric-syntax"},{"title":"Conditionals and Filters","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/custom-metric-syntax/conditionals-and-filters"},{"title":"All Operators","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/custom-metric-syntax/all-operators"},{"title":"All Functions","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/custom-metric-syntax/all-functions"}]},{"title":"Custom Metric Examples","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/custom-metric-examples"},{"title":"Custom Metrics Query Language","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/12-custom-metrics"},{"title":"Alyx: ArizeQL Generator","href":"/ax/machine-learning/machine-learning/how-to-ml/custom-metrics-api/arizeql-generator"}]},{"group":"Troubleshoot Data Quality","pages":[{"title":"Troubleshoot data quality","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/data-quality-troubleshooting"},{"title":"Alyx: Data Quality Insights","href":"/ax/machine-learning/machine-learning/how-to-ml/data-quality-troubleshooting/ai-powered-data-quality-insights"}]},{"group":"Explainability","pages":[{"title":"Explainability","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/how-to-ml/explainability"},{"title":"Interpreting \u0026 Analyzing Feature Importance Values","href":"/ax/machine-learning/machine-learning/how-to-ml/explainability/interpreting-and-analyzing-feature-importance-values"},{"title":"SHAP","href":"/ax/machine-learning/machine-learning/how-to-ml/explainability/shap"},{"title":"Surrogate Model","href":"/ax/machine-learning/machine-learning/how-to-ml/explainability/surrogate-model"},{"title":"Explainability FAQ","href":"/ax/machine-learning/machine-learning/how-to-ml/explainability/explainability-faq"},{"title":"Model Explainability","href":"/ax/machine-learning/machine-learning/how-to-ml/explainability/explainability"}]},{"title":"Bias Tracing (Fairness)","href":"/ax/machine-learning/machine-learning/how-to-ml/11-bias-tracing-fairness"},{"title":"Automate Model Retraining","href":"/ax/machine-learning/machine-learning/how-to-ml/automate-model-retraining"},{"title":"Feature Store Monitoring","href":"/ax/machine-learning/machine-learning/how-to-ml/feature-store-monitoring"},{"title":"ML FAQ","href":"/ax/machine-learning/machine-learning/how-to-ml/product"}]},{"group":"Use Cases: ML","pages":[{"title":"Use cases: ML","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/use-cases-ml"},{"group":"Binary Classification","pages":[{"title":"Binary Classification","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/use-cases-ml/binary-classification"},{"title":"Fraud","href":"/ax/machine-learning/machine-learning/use-cases-ml/binary-classification/fraud"},{"title":"Insurance","href":"/ax/machine-learning/machine-learning/use-cases-ml/binary-classification/insurance"}]},{"title":"Multi Class Classification","href":"/ax/machine-learning/machine-learning/use-cases-ml/multiclass-classification"},{"group":"Regression","pages":[{"title":"Regression","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/use-cases-ml/regression"},{"title":"Lending","href":"/ax/machine-learning/machine-learning/use-cases-ml/regression/lending"},{"title":"Customer Lifetime Value","href":"/ax/machine-learning/machine-learning/use-cases-ml/regression/customer-lifetime-value"},{"title":"Click Through Rate","href":"/ax/machine-learning/machine-learning/use-cases-ml/regression/click-through-rate"}]},{"group":"Timeseries Forecasting","pages":[{"title":"Timeseries Forecasting","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/use-cases-ml/timeseries-forecasting"},{"title":"Demand Forecasting","href":"/ax/machine-learning/machine-learning/use-cases-ml/timeseries-forecasting/demand-forecasting"},{"title":"Churn Forecasting","href":"/ax/machine-learning/machine-learning/use-cases-ml/timeseries-forecasting/churn-forecasting"}]},{"group":"Ranking","pages":[{"title":"Ranking","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/use-cases-ml/ranking"},{"title":"Collaborative Filtering","href":"/ax/machine-learning/machine-learning/use-cases-ml/ranking/collaborative-filtering-recommendation-engine"},{"title":"Search Ranking","href":"/ax/machine-learning/machine-learning/use-cases-ml/ranking/search-ranking"}]},{"title":"Natural Language Processing (NLP)","href":"/ax/machine-learning/machine-learning/use-cases-ml/natural-language-processing-nlp"},{"title":"Common Industry Use Cases","href":"/ax/machine-learning/machine-learning/use-cases-ml/use-cases"}]},{"group":"Integrations: ML","pages":[{"title":"Integrations: ML","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/integrations-ml"},{"group":"Google BigQuery","pages":[{"title":"Google BigQuery","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/integrations-ml/google-bigquery"},{"title":"GBQ Views","href":"/ax/machine-learning/machine-learning/integrations-ml/google-bigquery/gbq-views"},{"title":"Google BigQuery FAQ","href":"/ax/machine-learning/machine-learning/integrations-ml/google-bigquery/google-bigquery-faq"}]},{"group":"Snowflake","pages":[{"title":"Snowflake","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/integrations-ml/snowflake"},{"title":"Snowflake permissions configuration","href":"/ax/machine-learning/machine-learning/integrations-ml/snowflake/snowflake-permissions-configuration"}]},{"title":"Databricks","href":"/ax/machine-learning/machine-learning/integrations-ml/databricks"},{"title":"Google Cloud Storage (GCS)","href":"/ax/machine-learning/machine-learning/integrations-ml/gcs-example"},{"title":"Azure Blob Storage","href":"/ax/machine-learning/machine-learning/integrations-ml/azure-example"},{"group":"AWS S3","pages":[{"title":"AWS S3","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/integrations-ml/aws-s3-example"},{"title":"Private image link access via AWS S3","href":"/ax/machine-learning/machine-learning/integrations-ml/aws-s3-example/aws-s3-example"}]},{"title":"Kafka","href":"/ax/machine-learning/machine-learning/integrations-ml/connecting-to-kafka"},{"title":"Airflow Retrain","href":"/ax/machine-learning/machine-learning/integrations-ml/airflow-retrain"},{"title":"Amazon Eventbridge Retrain","href":"/ax/machine-learning/machine-learning/integrations-ml/amazon-eventbridge"},{"group":"MLOps Partners","pages":[{"title":"MLOps Partners","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations"},{"title":"Algorithmia","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/algorithmia"},{"title":"Anyscale","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/anyscale"},{"title":"Azure \u0026 Databricks","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/azure-and-databricks-python"},{"title":"Bentoml","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/bentoml"},{"title":"CML (DVC)","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/ci-cd-cml"},{"title":"Feast","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/feast"},{"title":"Google Cloud ML","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/google-cloud-ml-python"},{"title":"Hugging Face","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/hugging-face"},{"title":"LangChain 🦜🔗","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/langchain"},{"title":"MLflow","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/mlflow"},{"title":"Neptune","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/neptune"},{"title":"Paperspace","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/paperspace"},{"title":"PySpark","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/pyspark"},{"title":"Ray serve (Anyscale)","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/anyscale-ray-serve"},{"group":"SageMaker","pages":[{"title":"SageMaker","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/sagemaker-python"},{"title":"Batch","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/sagemaker-python/batch"},{"title":"RealTime","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/sagemaker-python/realtime"},{"title":"Notebook instance with greater than 20GB of data","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/sagemaker-python/notebook-instance-with-greater-than-20gb-of-data"}]},{"title":"Spell","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/spell"},{"title":"UbiOps","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/ubiops"},{"title":"Weights \u0026 Biases","href":"/ax/machine-learning/machine-learning/integrations-ml/integrations/weights-and-biases"}]}]},{"group":"API Reference: ML","pages":[{"title":"API reference: ML","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/api-reference-ml"},{"title":"Python SDK","sidebarTitle":"Python SDK","href":"/ax/machine-learning/machine-learning/api-reference-ml/python-sdk"},{"group":"Java SDK","pages":[{"title":"Java SDK","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/api-reference-ml/java-sdk"},{"title":"Constructor","href":"/ax/machine-learning/machine-learning/api-reference-ml/java-sdk/constructor"},{"title":"Log","href":"/ax/machine-learning/machine-learning/api-reference-ml/java-sdk/log"},{"title":"BulkLog","href":"/ax/machine-learning/machine-learning/api-reference-ml/java-sdk/bulklog"},{"title":"Logvalidationrecords","href":"/ax/machine-learning/machine-learning/api-reference-ml/java-sdk/logvalidationrecords"},{"title":"Logtrainingrecords","href":"/ax/machine-learning/machine-learning/api-reference-ml/java-sdk/logtrainingrecords"}]},{"group":"R SDK","pages":[{"title":"R SDK","sidebarTitle":"Overview","href":"/ax/machine-learning/machine-learning/api-reference-ml/r-sdk"},{"title":"Client$New()","href":"/ax/machine-learning/machine-learning/api-reference-ml/r-sdk/clientusdnew"},{"title":"Client$Log()","href":"/ax/machine-learning/machine-learning/api-reference-ml/r-sdk/clientusdlog"}]},{"title":"gRPC API","href":"/ax/machine-learning/machine-learning/api-reference-ml/grpc-api"}]},{"group":"Computer Vision","pages":[{"title":"Computer vision","sidebarTitle":"Overview","href":"/ax/machine-learning/computer-vision"},{"group":"How to: CV","pages":[{"title":"How to: CV","sidebarTitle":"Overview","href":"/ax/machine-learning/computer-vision/how-to-cv"},{"group":"Generate Embeddings","pages":[{"title":"Generate Embeddings","sidebarTitle":"Overview","href":"/ax/machine-learning/computer-vision/how-to-cv/7-troubleshoot-embedding-data"},{"title":"How To Generate Your Own Embedding","href":"/ax/machine-learning/computer-vision/how-to-cv/7-troubleshoot-embedding-data/how-to-generate-your-own-embedding"},{"title":"Let Arize Generate Your Embeddings","href":"/ax/machine-learning/computer-vision/how-to-cv/7-troubleshoot-embedding-data/let-arize-generate-your-embeddings"}]},{"title":"Embedding \u0026 Cluster Analyzer","href":"/ax/machine-learning/computer-vision/how-to-cv/embedding-and-cluster-analyzer"},{"title":"Alyx: Embedding Summarization","href":"/ax/machine-learning/computer-vision/how-to-cv/embedding-summarization"},{"title":"Similarity Search","href":"/ax/machine-learning/computer-vision/how-to-cv/similarity-search"},{"title":"Embedding Drift","href":"/ax/machine-learning/computer-vision/how-to-cv/embedding-drift"},{"title":"Embeddings FAQ","href":"/ax/machine-learning/computer-vision/how-to-cv/embeddings-faq"}]},{"title":"Integrations: CV","href":"/ax/machine-learning/computer-vision/integrations-cv"},{"group":"Use Cases: CV","pages":[{"title":"Use Cases: CV","sidebarTitle":"Overview","href":"/ax/machine-learning/computer-vision/use-cases-cv"},{"title":"Image Classification","href":"/ax/machine-learning/computer-vision/use-cases-cv/computer-vision-cv"},{"title":"Image Segmentation","href":"/ax/machine-learning/computer-vision/use-cases-cv/image-segmentation"},{"title":"Object Detection","href":"/ax/machine-learning/computer-vision/use-cases-cv/object-detection"},{"title":"Available Metrics","href":"/ax/machine-learning/computer-vision/use-cases-cv/available-metrics"}]},{"title":"API Reference: CV","href":"/ax/machine-learning/computer-vision/api-reference-cv"}]}]}]},{"group":"Settings","pages":[{"title":"General Settings","href":"/ax/security-and-settings/general-settings"},{"title":"API and Service Keys","href":"/ax/security-and-settings/api-keys"},{"title":"Webhooks","href":"/ax/security-and-settings/webhooks"},{"group":"AI Provider Integrations","pages":[{"title":"AI Provider Integrations Overview","sidebarTitle":"Overview","href":"/ax/security-and-settings/integrations-playground/overview"},{"title":"Anthropic","href":"/ax/security-and-settings/integrations-playground/anthropic"},{"title":"AWS Bedrock","href":"/ax/security-and-settings/integrations-playground/aws-bedrock"},{"title":"Azure OpenAI","href":"/ax/security-and-settings/integrations-playground/azure-openai"},{"title":"Cursor","sidebarTitle":"Cursor","href":"/ax/security-and-settings/integrations-playground/cursor"},{"title":"Databricks","href":"/ax/security-and-settings/integrations-playground/databricks"},{"title":"Doubleword","href":"/ax/security-and-settings/integrations-playground/doubleword"},{"title":"Fireworks AI","href":"/ax/security-and-settings/integrations-playground/fireworks"},{"title":"Gemini","href":"/ax/security-and-settings/integrations-playground/gemini"},{"title":"Gravitee","href":"/ax/security-and-settings/integrations-playground/gravitee"},{"title":"LiteLLM","href":"/ax/security-and-settings/integrations-playground/litellm"},{"title":"NVIDIA","href":"/ax/security-and-settings/integrations-playground/nvidia-nim"},{"title":"OpenAI","href":"/ax/security-and-settings/integrations-playground/openai"},{"title":"OpenRouter","href":"/ax/security-and-settings/integrations-playground/openrouter"},{"title":"OrcaRouter","href":"/ax/security-and-settings/integrations-playground/orcarouter"},{"title":"Together AI","href":"/ax/security-and-settings/integrations-playground/together-ai"},{"title":"TrueFoundry","href":"/ax/security-and-settings/integrations-playground/truefoundry"},{"title":"TypeSafe AI","sidebarTitle":"TypeSafe AI","href":"/ax/security-and-settings/integrations-playground/typesafe"},{"title":"VertexAI","href":"/ax/security-and-settings/integrations-playground/vertexai"},{"title":"Custom Model Endpoints","href":"/ax/security-and-settings/integrations-playground/custom-llm-models"}]},{"title":"Pricing and Usage","sidebarTitle":"Pricing and Usage","href":"/ax/security-and-settings/pricing-and-usage"},{"title":"adb, the database behind Arize AX","sidebarTitle":"adb","href":"/ax/security-and-settings/adb"},{"title":"Space rate limiting","href":"/ax/security-and-settings/space-rate-limiting"},{"title":"Tags","href":"/ax/security-and-settings/tags"}]},{"group":"Security","pages":[{"title":"LLM Red Teaming","href":"/ax/security-and-settings/llm-security/llm-red-teaming"},{"group":"SSO \u0026 RBAC","pages":[{"title":"SSO \u0026 RBAC","sidebarTitle":"Overview","href":"/ax/security-and-settings/sso-and-rbac"},{"title":"Custom Roles","href":"/ax/security-and-settings/sso-and-rbac/custom-roles"},{"title":"Resource Restrictions","href":"/ax/security-and-settings/sso-and-rbac/resource-restrictions"},{"title":"RBAC REST API","sidebarTitle":"REST API","href":"/ax/security-and-settings/sso-and-rbac/rbac-rest-api"},{"title":"SAML Configuration","href":"/ax/security-and-settings/sso-and-rbac/saml-configuration"},{"title":"Setting Up SSO with Okta","href":"/ax/security-and-settings/sso-and-rbac/setting-up-sso-with-okta"}]},{"title":"Arize Private Connect","href":"/ax/security-and-settings/arize-private-connect"},{"group":"Compliance","pages":[{"title":"Compliance","sidebarTitle":"Overview","href":"/ax/security-and-settings/compliance"},{"title":"Arize Audit Log","href":"/ax/security-and-settings/compliance/arize-audit-log"},{"title":"Delete Traces with Sensitive Data","href":"/ax/security-and-settings/compliance/delete-traces-with-sensitive-data"}]},{"title":"Data Regions \u0026 Whitelisting","href":"/ax/security-and-settings/whitelisting"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/ax/cookbooks"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/ax/integrations"}]},{"tab":"APIs, SDKs, \u0026 Skills","pages":[{"title":"APIs, SDKs, \u0026 Skills","href":"/api-reference/overview"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/ax/learn"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/ax/concepts/otel-openinference/overview"}]},{"tab":"Self-Hosting","pages":[{"title":"Self-Hosting","href":"/ax/selfhosting"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/ax/release-notes"}]}]},"title":"Run online evals on traces - Arize AX Docs","buildId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","deploymentId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DSDQiHav.js","DynamicMarkdown-BQC1aHST.js","zoom-image-lightbox-DdOI8a7V.js","lightbox-handle-r17bVUz3.js"]}