OpenAI-Compatible Chat Completions Endpoint
August 4, 2026 Available in arize-phoenix 19.16.0+ Phoenix now exposesPOST /v1/chat/completions in the OpenAI wire format. Point any OpenAI-compatible
client at your Phoenix server and Phoenix proxies the call to the provider you name, resolving the
provider credentials on the server — the secret store first, the process environment second. Callers
authenticate to Phoenix and never handle provider API keys.
- Model IDs name the provider —
{provider}:{model_name}for a built-in provider (openai:gpt-4o,anthropic:claude-sonnet-4-5), orcustom:{provider_id}:{model_name}for a custom provider record stored in Phoenix. Only the first colons are split, so model names that contain colons survive intact. - Streaming — set
stream: truefor server-sentchat.completion.chunkevents terminated bydata: [DONE].stream_options: {include_usage: true}appends a final usage chunk. - Familiar parameters —
temperature,top_p,max_tokens/max_completion_tokens,stop,seed,frequency_penalty, andpresence_penaltyall pass through. - OpenAI-shaped errors — every failure, including validation errors, comes back as
{"error": {"message", "type", "code"}}. Provider HTTP errors forward their status; an unreachable provider becomes a502. - Available to every authenticated role — the endpoint writes nothing, so viewers can call it.
n > 1, and non-text response_format are rejected with a 400.
Custom AI Providers
Store provider connection details and credentials on the server
Secrets
Manage the credentials the proxy resolves
AI Query for Filter Fields
August 4, 2026 Available in arize-phoenix 19.17.0+ Describe what you want in plain English and let Phoenix write the filter expression. The filter field above the spans and traces tables — and above the experiment runs table — gains a sparkle toggle that switches it into plain-English mode.- Enter converts — in plain-English mode, Enter translates your prose into a filter expression,
streaming it in as it forms. From expression mode,
⌘/Ctrl+Enter hands the current draft to AI query directly. - Validated, with one correction round — the generated expression goes through the same validator the field itself uses, and the model gets one chance to fix a rejected expression before you see it.
- Escape undoes — Escape walks back whatever AI query last did, restoring your original phrasing.
- The model’s vocabulary is the field’s vocabulary — the field names and examples handed to the model are derived from the same completions and snippets that power the typeahead, so the two can’t drift apart.
- Browser AI — the browser’s built-in on-device model (Chrome and Edge’s Prompt API). No credentials, no network round trip, and the default wherever a built-in model is available. A companion card shows download status and can fetch the model ahead of first use.
- Any provider Phoenix knows — built-in providers, Azure, Bedrock, and stored custom providers,
all called through the new
/v1/chat/completionsproxy so no API key ever reaches the browser.
Extract Data from Spans
The span filter expression language AI query writes
Annotation Metric Charts and Uncapped Chart Selection
July 30 – August 3, 2026 Available in arize-phoenix 19.11.0+ (project charts), 19.13.0+ (experiments), 19.15.0+ (deferred annotation charts) Evaluation results now get first-class charts, and the three-chart limit on the chart strip is gone.- A chart per annotation name — the project Metrics page adds span, trace, and session annotation sections, each followed by a grid with one chart per annotation name on that level. Every chart plots mean score over time, with a score/label toggle for annotations that carry both.
- Per-annotation charts in the chart strip — the same charts are selectable in the Charts menu above the spans, traces, and sessions tables, alongside the overall annotation charts.
- No selection cap — the chart strip above the project tables and above the experiments table no longer limits you to three charts. Pick as many as you want to read.
- Charts load when you reach them — chart panels render a skeleton until they scroll into view, and a chart whose panel is hidden freezes its query inputs instead of refetching. A page full of annotation charts no longer fires every query at once.
Metrics Dashboard
The per-project metrics dashboard
Annotating in the UI
Produce the annotations these charts summarize
Conversation-Grounded Hallucination Evaluator
August 3, 2026 Available in arize-phoenix 19.14.0+ (built-in evaluator) and @arizeai/phoenix-evals 2.2.0+ (TypeScript) The Hallucination evaluator now judges an assistant response against the conversation it came from — earlier turns, tool calls, and the results those tools returned — rather than against a separately supplied context block. Use it for multi-turn agents where the source of truth is the transcript; reach for Faithfulness when you have one retrieved context block.inputandoutputonly —inputis the full record the assistant had available (its last message is the turn being answered) andoutputis the response being judged. There is no longer a separatecontextfield.- Catches fabricated work — invented specifics, tool results a tool never returned, findings from material that was never read, and actions reported as already done.
- Absence of evidence counts — a confident, fluent response that asserts situation-specific facts absent from the input is hallucinated. Ordinary general knowledge is exempt.
- As a built-in Phoenix evaluator it is promoted in the dataset evaluator gallery, and the
outputit judges includes the span’s tool calls.
Hallucination
Full input formatting guidance and usage examples
Faithfulness
Ground a response in a single retrieved context
Annotations in Span Downloads
August 1, 2026 Available in arize-phoenix 19.13.0+ (annotations) and 19.16.0+ (streamed downloads) Exported spans can now carry their evaluations with them. The Download selection dialog adds Include span annotations and Include trace annotations checkboxes, both on by default.- OpenInference semantic attributes — span annotations are attached to their own span and trace
annotations once per trace (on the root span where there is one), as indexed
annotations.*andtrace.annotations.*attributes carrying name, annotator kind, score, label, explanation, identifier, and JSON-encoded metadata. - Streamed straight to disk — where the browser supports it, a download writes through a save file picker as pages arrive instead of buffering the whole export in memory.
- Parallel fetches — independent ID batches are fetched with bounded concurrency while cursor pagination within a batch stays ordered, so large selections finish substantially faster.
Pinned Note Bar in Span Details
July 30, 2026 Available in arize-phoenix 19.11.0+ Reviewing a trace and want to write down what you found? Pressn in span details — or use the
toggle on the Notes card — and a note bar rises from the bottom of the pane and stays there as
you move between spans.
- Enter adds the note, Shift+Enter starts a new line, and the field grows to six lines before it scrolls.
- Escape closes an empty bar; with a draft in it, Escape just blurs so nothing is lost.
- Stays open across spans — the bar is remembered as a preference, so a review session keeps its note field until you close it. A failed submission puts your draft back.
Also in This Release
July 30 – August 4, 2026 Available in arize-phoenix 19.11.0–19.17.0 and @arizeai/phoenix-cli 1.13.1–1.14.0- The time range follows you into a project — opening a project from the projects list carries the list’s time range along, instead of resetting to the default window (arize-phoenix 19.16.0+).
- Collapsed cards say what they hold — LLM messages, invocation parameters, LLM input, and playground and prompt chat templates show a one-line excerpt of their body in the header while collapsed (arize-phoenix 19.16.0+).
- Exception stack traces are readable — an
exceptionspan event renders itsexception.stacktraceas a dedicated, expandable Stack trace card with a copy button, with the remaining attributes below it (arize-phoenix 19.16.0+). - Tool counts in LLM span card headers — the input card subtitle shows how many tools the model had available, and the output card shows how many tool calls it made. Every span card also gets a copy button in its top-right corner (arize-phoenix 19.11.0+).
- Reasoning survives OTel conversion — reasoning parts in OTel GenAI
gen_aimessages are now flattened to OpenInference message contents with typereasoninginstead of being dropped (arize-phoenix 19.14.0+). - Stricter span filter validation — malformed filter conditions, unsupported syntax, and excessively nested expressions are rejected with a clear syntax error rather than failing unpredictably (arize-phoenix 19.11.1+).
- Provider-agnostic model cost entries — creating a model in Settings → Models accepts an empty provider, and a name collision now reports the actual conflict (arize-phoenix 19.11.0+).
- Refreshed built-in token prices so cost tracking stays accurate for the current model lineup (arize-phoenix 19.11.1+).
px setupfails when verification fails — a run that tried to confirm traces and never saw one exits6(NOT_VERIFIED) instead of0, sopx setup && npm run devandset -ebootstrap scripts stop on a broken instrumentation. Choosing to verify later still exits0.pxsuggests upgrading — an unknown command now compares your installed version against the latest published one and points atpx self updatewhen you’re behind, orpx --helpwhen you’re current (@arizeai/phoenix-cli 1.14.0+).px auth statusno longer errors when a profile holds stale OAuth credentials but the server has since allowed anonymous access (@arizeai/phoenix-cli 1.13.1+).

