# Phoenix Documentation Index > Phoenix is an open-source AI observability platform built on OpenTelemetry for tracing, evaluation, prompt engineering, and experimentation in LLM-based systems. ## Overview - [Main page](https://arize.com/docs/phoenix): Install Phoenix and choose a deployment option - [User Guide](https://arize.com/docs/phoenix/user-guide): End-to-end workflows for development, production, and optimization - [Production Guide](https://arize.com/docs/phoenix/production-guide): Deploy Phoenix in production with best practices for scale and reliability - [Environments](https://arize.com/docs/phoenix/environments): Configure Phoenix across development, staging, and production environments - [PXI Agent](https://arize.com/docs/phoenix/pxi): Hand investigations to Phoenix Intelligence, the built-in AI agent that inspects traces, iterates prompts, and runs experiments ## Quick Start - [Tracing Quickstart](https://arize.com/docs/phoenix/get-started/get-started-tracing): Instrument an app and send your first traces to Phoenix - [Evaluations Quickstart](https://arize.com/docs/phoenix/get-started/get-started-evaluations): Run your first LLM evaluator and view results - [Playground Quickstart](https://arize.com/docs/phoenix/get-started/get-started-prompt-playground): Test prompt variations against real examples in the Playground - [Experiments Quickstart](https://arize.com/docs/phoenix/get-started/get-started-datasets-and-experiments): Create a dataset and run a comparative experiment - [TS: Tracing Quickstart](https://arize.com/docs/phoenix/get-started/ts-get-started-tracing): Instrument a TypeScript app and send traces to Phoenix - [TS: Evaluations Quickstart](https://arize.com/docs/phoenix/get-started/ts-get-started-evaluations): Run evaluators in TypeScript with @arizeai/phoenix-evals - [TS: Playground Quickstart](https://arize.com/docs/phoenix/get-started/ts-get-started-prompt-playground): Test prompt variations in TypeScript - [TS: Experiments Quickstart](https://arize.com/docs/phoenix/get-started/ts-get-started-datasets-and-experiments): Create datasets and run experiments in TypeScript - [Get Started Overview](https://arize.com/docs/phoenix/get-started): How tracing, evals, prompts, and experiments fit into one iterative workflow ## Tracing - [How to: Tracing](https://arize.com/docs/phoenix/tracing/how-to-tracing): Index of tracing guides — setup, metadata, annotations, import/export, advanced config ### Tutorial - [Tracing Tutorial](https://arize.com/docs/phoenix/tracing/tutorial): Build a fully observable AI agent from scratch - [Your First Traces](https://arize.com/docs/phoenix/tracing/tutorial/your-first-traces): Instrument and view your first traces - [Annotations and Evaluations](https://arize.com/docs/phoenix/tracing/tutorial/annotations-and-evaluations): Add quality signals to traces - [Sessions Tutorial](https://arize.com/docs/phoenix/tracing/tutorial/sessions): Track multi-turn conversations ### Core Concepts - [LLM Traces](https://arize.com/docs/phoenix/tracing/llm-traces): Understand how traces and spans model LLM calls, tool execution, and retrieval - [Projects](https://arize.com/docs/phoenix/tracing/llm-traces/projects): Organize traces by environment, application, or team - [Sessions](https://arize.com/docs/phoenix/tracing/llm-traces/sessions): Group related traces into multi-turn conversational sessions - [Annotating Traces](https://arize.com/docs/phoenix/tracing/llm-traces/how-to-annotate-traces): Attach feedback, labels, and scores to traces for quality tracking - [Metrics](https://arize.com/docs/phoenix/tracing/llm-traces/metrics): Monitor latency, token usage, cost, and error rates across traces ### Setup - [Setup Tracing](https://arize.com/docs/phoenix/tracing/how-to-tracing/setup-tracing): Configure Phoenix to receive traces via OpenTelemetry - [Instrument Your App](https://arize.com/docs/phoenix/tracing/how-to-tracing/setup-tracing/instrument): Use OpenInference decorators and manual span creation - [Setup Projects](https://arize.com/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-projects): Create projects to organize traces - [Setup Sessions](https://arize.com/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-sessions): Configure multi-turn session tracking - [Setup Using Phoenix OTEL](https://arize.com/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-using-phoenix-otel): Simplified OpenTelemetry setup with phoenix.otel ### Metadata & Annotations - [Add Metadata](https://arize.com/docs/phoenix/tracing/how-to-tracing/add-metadata): Enrich traces with custom attributes and tags - [Customize Spans](https://arize.com/docs/phoenix/tracing/how-to-tracing/add-metadata/customize-spans): Add session IDs, user IDs, metadata via OTel context - [Prompt Templates](https://arize.com/docs/phoenix/tracing/how-to-tracing/add-metadata/instrumenting-prompt-templates-and-prompt-variables): Capture prompt templates and variables in traces - [Annotate Traces](https://arize.com/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations): Add scores, labels, human feedback, LLM evaluations - [Annotating Auto-Instrumented Spans](https://arize.com/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/annotating-auto-instrumented-spans): Add annotations to spans generated by auto-instrumentation libraries - [Annotating in the UI](https://arize.com/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/annotating-in-the-ui): Use the Phoenix web UI to label and score traces manually - [Capture Feedback](https://arize.com/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/capture-feedback): Collect end-user thumbs-up/down feedback and attach it to traces via SDK - [Evaluating Traces](https://arize.com/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/evaluating-phoenix-traces): Run batch LLM evaluations over existing traces in a project - [LLM Evaluations on Traces](https://arize.com/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/llm-evaluations): Set up continuous LLM-as-judge scoring on incoming traces ### Import & Export - [Importing & Exporting](https://arize.com/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces): Import, export, and migrate trace data between Phoenix instances - [Exporting Annotated Spans](https://arize.com/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/exporting-annotated-spans): Export spans with annotations - [Extract Data from Spans](https://arize.com/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/extract-data-from-spans): Export spans to a dataframe with SpanQuery; filter syntax is documented in Filter Expressions - [Importing Traces](https://arize.com/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/importing-existing-traces): Import traces from external sources - [Import ATIF Trajectories](https://arize.com/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/importing-atif-trajectories): Upload agent trajectories in ATIF format and visualize them as Phoenix traces - [Retrieve Traces via CLI](https://arize.com/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/retrieve-traces-via-cli): Query traces from the command line ### Advanced Tracing - [Cost Tracking](https://arize.com/docs/phoenix/tracing/how-to-tracing/cost-tracking): Monitor LLM token usage and cost trends - [Filter Expressions](https://arize.com/docs/phoenix/tracing/how-to-tracing/filter-expressions): Filter spans and sessions with Python-style expressions — operators, attribute and annotation access, session aggregates - [Advanced Configuration](https://arize.com/docs/phoenix/tracing/how-to-tracing/advanced): Configure batching, gRPC transport, custom instrumentation, and performance tuning - [Masking Span Attributes](https://arize.com/docs/phoenix/tracing/how-to-tracing/advanced/masking-span-attributes): Hide sensitive data in traces via environment variables - [Modifying Spans](https://arize.com/docs/phoenix/tracing/how-to-tracing/advanced/modifying-spans): Use SpanProcessors to filter or enrich spans - [Multimodal Tracing](https://arize.com/docs/phoenix/tracing/how-to-tracing/advanced/multimodal-tracing): Capture image, audio, and multimodal data in traces - [Suppress Tracing](https://arize.com/docs/phoenix/tracing/how-to-tracing/advanced/suppress-tracing): Disable tracing for specific code blocks ## Evaluation ### Overview - [LLM Evals](https://arize.com/docs/phoenix/evaluation/llm-evals): Run LLM-as-judge evaluations with pre-built or custom evaluators ### How-to - [How to Evals](https://arize.com/docs/phoenix/evaluation/how-to-evals): Set up and run evaluations end-to-end - [Custom LLM Evaluators](https://arize.com/docs/phoenix/evaluation/how-to-evals/custom-llm-evaluators): Build evaluators with custom prompts and scoring logic - [Configuring the LLM](https://arize.com/docs/phoenix/evaluation/how-to-evals/configuring-the-llm): Set up LLM providers for evaluations - [Prompt Formats](https://arize.com/docs/phoenix/evaluation/how-to-evals/prompt-formats): Customize evaluator prompt structures - [Code Evaluators (SDK)](https://arize.com/docs/phoenix/evaluation/how-to-evals/code-evaluators): Deterministic evaluation with Python or TypeScript - [Code Evaluator Output Shapes](https://arize.com/docs/phoenix/evaluation/how-to-evals/code-evaluator-output-shapes): Return scores, labels, multiple outputs, or explanations from a code evaluator - [Batch Evaluations](https://arize.com/docs/phoenix/evaluation/how-to-evals/batch-evaluations): Run evaluations at scale with automatic concurrency - [Using Evals with Phoenix](https://arize.com/docs/phoenix/evaluation/how-to-evals/using-evals-with-phoenix): Run evals on traces, datasets, or custom data sources ### Running Evals as Tests - [pytest Integration](https://arize.com/docs/phoenix/evaluation/integrations/pytest): Write LLM evaluations as pytest tests that run in CI and record results to Phoenix - [Vitest / Jest Integration](https://arize.com/docs/phoenix/evaluation/integrations/vitest-jest): Write LLM evaluations as Vitest or Jest tests that gate CI and record results to Phoenix ### Tutorials - [Run Built-in Evals](https://arize.com/docs/phoenix/evaluation/tutorials/run-evals-with-built-in-evals): Step-by-step guide to pre-built evaluators - [Customize Eval Template](https://arize.com/docs/phoenix/evaluation/tutorials/customize-eval-template): Design custom evaluator templates - [Custom LLM Endpoint](https://arize.com/docs/phoenix/evaluation/tutorials/customize-your-llm-endpoint): Configure custom or self-hosted model endpoints ### Pre-Built Metrics - [Pre-Built Metrics](https://arize.com/docs/phoenix/evaluation/pre-built-metrics): Pick a pre-built LLM or code evaluator — faithfulness, hallucination, toxicity, retrieval relevance, tool calling ### Server-Side Evaluations - [Server Evals Overview](https://arize.com/docs/phoenix/evaluation/server-evals/overview): Attach evaluators to datasets so they run server-side on every Playground experiment - [LLM Evaluators](https://arize.com/docs/phoenix/evaluation/server-evals/llm-evaluators): Configure LLM-as-judge evaluators server-side - [Server Code Evaluators](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators): Write custom Python or TypeScript evaluators that Phoenix runs in a managed sandbox - [Server Eval Input Mapping](https://arize.com/docs/phoenix/evaluation/server-evals/input-mapping): Map span attributes to server-side evaluator input variables - [Server Pre-Built Metrics](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics): Pick a server-side code or LLM metric — contains, exact match, regex, distances, tool calling ### Pre-Built Metrics — Individual Pages - [Completeness](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/completeness): Evaluate whether every active user request in a conversation was actually completed - [Conciseness](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/conciseness): Evaluate whether LLM responses are concise and free of unnecessary content - [Correctness](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/correctness): Evaluate whether LLM responses are generally correct and complete - [Exact Match](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/exact-match): Evaluate if output exactly matches expected value - [Faithfulness](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/faithfulness): Evaluate whether LLM responses are faithful to the provided context - [Hallucination](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/hallucination): Detect claims unsupported by the conversation, including fabricated tool results - [Matches Regex](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/matches-regex): Evaluate if output matches a regular expression pattern - [PII Detection](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/pii-detection): Screen conversation text for personally identifiable information and list each finding - [Precision / Recall / F-Score](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/precision-recall-fscore): Compute precision, recall, and F-beta scores for classification tasks - [Refusal](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/refusal): Detect when an LLM refuses or declines to answer a user query - [Retrieval Relevance](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/retrieval-relevance): Score whether retrieved context — RAG, tool, MCP, or web search — is relevant to the request - [Tool Invocation](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-invocation): Evaluate whether LLM tool calls have correct arguments and formatting - [Tool Response Handling](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-response-handling): Evaluate how agents process tool results — error handling, data extraction, and recovery - [Tool Selection](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-selection): Evaluate whether LLMs select the correct tools for given tasks - [Toxicity](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/toxicity): Detect toxic, harmful, or offensive content in LLM responses - [User Friction](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/user-friction): Detect when a user expresses friction or frustration with an assistant's preceding response - [Contains](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/contains): Check whether a text contains one or more specified words - [Server Correctness](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/correctness): Score answer correctness server-side with a Phoenix-managed judge model - [Server Exact Match](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/exact-match): Check whether two strings are identical, server-side - [JSON Distance](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/json-distance): Measure the number of structural differences between two JSON values - [Levenshtein Distance](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/levenshtein-distance): Measure the edit distance between two strings - [Regex Match](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/regex): Check whether a text matches a regular expression pattern - [Server Tool Invocation](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/tool-invocation): Score tool-call arguments and formatting server-side with a Phoenix-managed judge model - [Server Tool Selection](https://arize.com/docs/phoenix/evaluation/server-evals/pre-built-metrics/tool-selection): Score tool choice server-side with a Phoenix-managed judge model ### Server-Side Code Evaluators — Examples - [JSON Distance Code Evaluator](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/json-distance): Count structural differences between output JSON and a reference to score structured output quality - [Regex Match Code Evaluator](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/regex-match): Pass/fail assertion when model output matches a regular expression pattern - [Embedding Distance Evaluator](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/embedding-distance): Score semantic similarity between output and reference using an embeddings API - [scikit-learn Text Similarity Evaluator](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/scikit-learn): Offline cosine similarity via HashingVectorizer — no API calls, no model download - [Pairwise Evaluator](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/pairwise): Blind LLM-judge head-to-head comparison of model output vs reference with position-bias mitigation - [Composite Evaluator](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/composite): Blend multiple sub-scores into a single weighted-average score with per-axis breakdown - [LLM Jury](https://arize.com/docs/phoenix/evaluation/server-evals/code-evaluators/llm-jury): Poll multiple LLMs as judges and combine weighted verdicts to reduce single-model bias ## Datasets & Experiments - [How to: Datasets](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-datasets): Index of dataset guides — create, update, export, and link examples to spans - [How to: Experiments](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments): Index of experiment guides — run tasks, attach evaluators, repetitions, and splits ### Tutorial - [Defining the Dataset](https://arize.com/docs/phoenix/datasets-and-experiments/tutorial/defining-the-dataset): Create a golden dataset with reference outputs - [Code Evals Experiments](https://arize.com/docs/phoenix/datasets-and-experiments/tutorial/run-experiments-with-code-evals): Evaluate against ground truth with code evaluators - [LLM Judge Experiments](https://arize.com/docs/phoenix/datasets-and-experiments/tutorial/run-experiments-with-llm-judge): Use LLM as a Judge for quality assessment - [Iteration Workflow](https://arize.com/docs/phoenix/datasets-and-experiments/tutorial/iteration-workflow-experiments): Iterate on your agent and compare performance ### Datasets - [Datasets Overview](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets): Understand datasets as versioned collections of examples with inputs and expected outputs - [Creating Datasets](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-datasets/creating-datasets): Build from traces, code, CSV, or curated examples - [Updating Datasets](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-datasets/updating-datasets): Diff and update existing dataset examples using stable IDs with example_id_key - [Exporting Datasets](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-datasets/exporting-datasets): Export datasets in JSONL and CSV formats - [Linking Examples to Source Spans](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-datasets/linking-examples-to-spans): Resolve an example's source span over REST and log evaluations back onto it ### Experiments - [Run Experiments](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/run-experiments): Run task functions against datasets with evaluators - [Using Evaluators](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/using-evaluators): Configure code and LLM evaluators for experiments - [Dataset Evaluators](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/how-to-dataset-evaluators): Attach evaluators to datasets for automatic scoring - [Repetitions](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/repetitions): Run multiple iterations for statistical confidence - [Splits](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/splits): Organize datasets into train/test/validation splits - [Eval CI with pytest](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/eval-ci-with-pytest): Run evals as pytest tests with arize-phoenix-client[pytest], recorded as experiments and gating CI - [Run Experiments in the Background](https://arize.com/docs/phoenix/datasets-and-experiments/how-to-experiments/run-experiments-in-background): Start Playground experiments that keep running after you close the browser ## Prompt Engineering - [How to: Prompts](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts): Index of prompt guides — create, test, tag, load, and configure providers ### Tutorial - [Prompt Engineering Tutorial](https://arize.com/docs/phoenix/prompt-engineering/tutorial): Walk through the full prompt optimization lifecycle - [Identify and Edit Prompts](https://arize.com/docs/phoenix/prompt-engineering/tutorial/identify-and-edit-prompts): Find underperforming prompts in traces and iterate on them - [Test Prompts at Scale](https://arize.com/docs/phoenix/prompt-engineering/tutorial/test-prompts-at-scale): Evaluate prompt variants across a dataset - [Compare Prompt Versions](https://arize.com/docs/phoenix/prompt-engineering/tutorial/compare-prompt-versions): Diff outputs between prompt iterations side-by-side - [Auto-Optimize Prompts](https://arize.com/docs/phoenix/prompt-engineering/tutorial/optimize-prompts-automatically): Use DSPy-style optimizers to improve prompts programmatically ### Overview - [Prompts Overview](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts): Understand prompt templates, invocation parameters, tool definitions, and response formats - [Prompt Management](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts/prompt-management): Version, store, deploy, and track prompt changes - [Prompt Playground](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts/prompt-playground): Interactive testing with variations, models, and tools - [Span Replay](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts/span-replay): Replay LLM calls with different prompts to debug failures - [Prompts in Code](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts/prompts-in-code): Sync prompts via SDK across applications ### How-to - [Configure AI Providers](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/configure-ai-providers): Set up LLM providers for playground - [Using the Playground](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/using-the-playground): Test variations, view traces, evaluate prompts - [Create a Prompt](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/create-a-prompt): Save prompts with templates, parameters, tools - [Test a Prompt](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/test-a-prompt): Test with dataset examples or custom inputs - [Tag a Prompt](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/tag-a-prompt): Tag prompts for deployment control across environments - [Using a Prompt](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/using-a-prompt): Load prompts programmatically via SDK - [Use Provider Tools](https://arize.com/docs/phoenix/prompt-engineering/how-to-prompts/use-provider-tools): Add vendor-specific built-in tools (web search, code execution, computer use) to Phoenix prompts ## Integrations - [Integrations Overview](https://arize.com/docs/phoenix/integrations): Find the instrumentation for your LLM provider, framework, platform, or language ### Developer Tools - [Coding Agents](https://arize.com/docs/phoenix/integrations/developer-tools/coding-agents): Pick a tracing path for Claude Code, Cursor, Codex, and other coding assistants - [MCP Overview](https://arize.com/docs/phoenix/integrations/mcp): Compare the Phoenix MCP servers and pick one for your data or docs - [Remote MCP Server](https://arize.com/docs/phoenix/integrations/remote-mcp): Connect MCP clients to the /mcp endpoint built into the Phoenix server (beta, recommended) - [Phoenix Docs MCP](https://arize.com/docs/phoenix/integrations/docs-mcp): Let AI assistants search and retrieve the Phoenix documentation in real time - [Phoenix MCP Server](https://arize.com/docs/phoenix/integrations/phoenix-mcp-server): Connect AI assistants to Phoenix via the @arizeai/phoenix-mcp npm package (maintenance mode) ### Coding Agents - [Claude Code](https://arize.com/docs/phoenix/integrations/coding-agents/claude-code): Trace Claude Code CLI and Agent SDK sessions, tool usage, and token costs in Phoenix - [Codex](https://arize.com/docs/phoenix/integrations/coding-agents/codex): Trace OpenAI Codex CLI agent turns, tool calls, and API requests in Phoenix - [GitHub Copilot](https://arize.com/docs/phoenix/integrations/coding-agents/copilot): Trace GitHub Copilot sessions in VS Code and the Copilot CLI in Phoenix - [Cursor](https://arize.com/docs/phoenix/integrations/coding-agents/cursor): Trace Cursor IDE and CLI conversations, shell commands, MCP tools, and file operations in Phoenix - [Gemini CLI](https://arize.com/docs/phoenix/integrations/coding-agents/gemini): Trace Gemini CLI sessions, agent steps, model calls, and tool invocations in Phoenix - [Kiro](https://arize.com/docs/phoenix/integrations/coding-agents/kiro): Trace Kiro CLI agent turns, tool calls, and credit usage in Phoenix - [Oh My Pi](https://arize.com/docs/phoenix/integrations/coding-agents/oh-my-pi): Trace Oh My Pi (omp) terminal coding sessions, model calls, tool usage, and token costs in Phoenix - [OpenCode](https://arize.com/docs/phoenix/integrations/coding-agents/opencode): Trace OpenCode terminal coding sessions, model calls, and tool usage in Phoenix ### LLM Providers - [OpenAI Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/openai/openai-tracing): Auto-instrument OpenAI Python SDK with openinference-instrumentation-openai - [OpenAI Agents SDK Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/openai/openai-agents-sdk-tracing): Trace OpenAI Agents SDK workflows including tool calls and handoffs - [OpenAI Node.js SDK](https://arize.com/docs/phoenix/integrations/llm-providers/openai/openai-node-js-sdk): Instrument OpenAI calls in TypeScript/Node.js - [OpenAI Go SDK](https://arize.com/docs/phoenix/integrations/llm-providers/openai/openai-go-sdk): Instrument openai/openai-go with openinference-instrumentation-openai-go middleware - [Anthropic Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/anthropic/anthropic-tracing): Auto-instrument Anthropic Python SDK - [Anthropic TypeScript SDK](https://arize.com/docs/phoenix/integrations/llm-providers/anthropic/anthropic-sdk-typescript): Instrument Anthropic calls in TypeScript - [Anthropic SDK Go](https://arize.com/docs/phoenix/integrations/llm-providers/anthropic/anthropic-sdk-go): Instrument anthropics/anthropic-sdk-go with openinference-instrumentation-anthropic-sdk-go middleware - [Amazon Bedrock Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-tracing): Auto-instrument Bedrock SDK with openinference-instrumentation-bedrock - [Amazon Bedrock Agents Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-agents-tracing): Trace Bedrock agent orchestration workflows - [Amazon Bedrock Agent Runtime JS](https://arize.com/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-agent-runtime-js): Instrument Bedrock Agent Runtime in TypeScript - [Amazon Bedrock SDK JS](https://arize.com/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-sdk-js): Instrument Bedrock SDK in TypeScript - [Google GenAI Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai/google-genai-tracing): Auto-instrument Google GenAI SDK - [Gemini Go SDK](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai/gemini-go-sdk): Instrument google.golang.org/genai using OTel GenAI semantic conventions (Phoenix ingests gen_ai.* attributes) - [Cohere Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/cohere/cohere-tracing): Auto-instrument Cohere v2 Python client (chat and chat_stream) with openinference-instrumentation-cohere - [Groq Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/groq/groq-tracing): Auto-instrument Groq SDK - [LiteLLM Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/litellm/litellm-tracing): Auto-instrument LiteLLM unified API calls - [MistralAI Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/mistralai/mistralai-tracing): Auto-instrument MistralAI SDK - [Ollama Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/ollama/ollama-tracing): Instrument the Ollama Python client with openinference-instrumentation-ollama - [OpenRouter Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/openrouter/openai-tracing): Trace OpenRouter API calls - [OrcaRouter Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/orcarouter/openai-tracing): Auto-instrument OrcaRouter via its OpenAI-compatible endpoint with openinference-instrumentation-openai - [Cloudflare AI Gateway Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/cloudflare-ai-gateway/cloudflare-ai-gateway-tracing): Configure Cloudflare AI Gateway to export OpenTelemetry gen_ai spans to Phoenix over OTLP - [Together AI Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/together/together-tracing): Auto-instrument the Together AI Python SDK with openinference-instrumentation-together - [TypeSafe AI Tracing (Python)](https://arize.com/docs/phoenix/integrations/llm-providers/typesafe/typesafe-python): Auto-instrument TypeSafe AI SDK system_one calls in Python with openinference-instrumentation-typesafe - [TypeSafe AI Tracing (TypeScript)](https://arize.com/docs/phoenix/integrations/llm-providers/typesafe/typesafe-typescript): Auto-instrument TypeSafe AI SDK systemOne calls in TypeScript with @arizeai/openinference-instrumentation-typesafe - [VertexAI Tracing](https://arize.com/docs/phoenix/integrations/llm-providers/vertexai/vertexai-tracing): Auto-instrument VertexAI SDK ### Python Frameworks - [AG2 Tracing](https://arize.com/docs/phoenix/integrations/python/ag2/ag2-tracing): Trace AG2 1.x agents via built-in OpenTelemetry middleware, and AG2 Classic via the OpenInference instrumentor - [Agno Tracing](https://arize.com/docs/phoenix/integrations/python/agno/agno-tracing): Auto-instrument Agno agent workflows - [AgentSpec Tracing](https://arize.com/docs/phoenix/integrations/python/agentspec/agentspec-tracing): Auto-instrument AgentSpec agents - [AutoGen Tracing](https://arize.com/docs/phoenix/integrations/python/autogen/autogen-tracing): Auto-instrument AutoGen conversations - [AutoGen AgentChat Tracing](https://arize.com/docs/phoenix/integrations/python/autogen/autogen-agentchat-tracing): Trace AutoGen AgentChat multi-agent conversations - [BeeAI Tracing (Python)](https://arize.com/docs/phoenix/integrations/python/beeai/beeai-tracing-python): Auto-instrument BeeAI agent workflows - [Claude Agent SDK (Python)](https://arize.com/docs/phoenix/integrations/python/claude-agent-sdk): Instrument Claude Agent SDK with OpenInference - [CrewAI Tracing](https://arize.com/docs/phoenix/integrations/python/crewai/crewai-tracing): Auto-instrument CrewAI agent crews - [DSPy Tracing](https://arize.com/docs/phoenix/integrations/python/dspy/dspy-tracing): Auto-instrument DSPy modules and optimizers - [Google ADK Tracing (Python)](https://arize.com/docs/phoenix/integrations/python/google-adk/google-adk-tracing): Auto-instrument Google ADK agents - [Graphite Integration Guide](https://arize.com/docs/phoenix/integrations/python/graphite/graphite-integration-guide): Instrument Graphite multi-agent workflows and send spans to Phoenix - [Guardrails AI Tracing](https://arize.com/docs/phoenix/integrations/python/guardrails-ai/guardrails-ai-tracing): Auto-instrument Guardrails AI validation - [Haystack Tracing](https://arize.com/docs/phoenix/integrations/python/haystack/haystack-tracing): Auto-instrument Haystack pipelines - [smolagents Tracing](https://arize.com/docs/phoenix/integrations/python/hugging-face-smolagents/smolagents-tracing): Auto-instrument Hugging Face smolagents - [Instructor Tracing](https://arize.com/docs/phoenix/integrations/python/instructor/instructor-tracing): Auto-instrument Instructor structured outputs - [LangChain Tracing](https://arize.com/docs/phoenix/integrations/python/langchain/langchain-tracing): Auto-instrument LangChain chains and agents - [LangGraph Tracing](https://arize.com/docs/phoenix/integrations/python/langgraph/langgraph-tracing): Auto-instrument LangGraph stateful workflows - [LlamaIndex Tracing](https://arize.com/docs/phoenix/integrations/python/llamaindex/llamaindex-tracing): Auto-instrument LlamaIndex queries and pipelines - [LlamaIndex Workflows Tracing](https://arize.com/docs/phoenix/integrations/python/llamaindex/llamaindex-workflows-tracing): Trace LlamaIndex workflow orchestration - [MCP Tracing (Python)](https://arize.com/docs/phoenix/integrations/python/mcp-tracing): Trace MCP client and server interactions - [NeMo Agent Tracing](https://arize.com/docs/phoenix/integrations/python/nvidia/nemo-agent-tracing): Trace NVIDIA NeMo agent workflows - [Portkey Tracing](https://arize.com/docs/phoenix/integrations/python/portkey/portkey-tracing): Auto-instrument Portkey gateway calls - [Pydantic AI Tracing](https://arize.com/docs/phoenix/integrations/python/pydantic/pydantic-tracing): Auto-instrument Pydantic AI agents - [Pydantic Evals](https://arize.com/docs/phoenix/integrations/python/pydantic/pydantic-evals): Use Pydantic AI evaluation framework - [Restate Tracing](https://arize.com/docs/phoenix/integrations/python/restate/restate-tracing): Trace durable AI agent executions powered by Restate, unifying workflow and LLM spans in Phoenix - [Strands Agents Tracing](https://arize.com/docs/phoenix/integrations/python/strands-agents/strands-agents-tracing): Auto-instrument Strands Agents with openinference-instrumentation-strands-agents ### TypeScript Frameworks - [BeeAI Tracing (TypeScript)](https://arize.com/docs/phoenix/integrations/typescript/beeai/beeai-tracing-js): Auto-instrument BeeAI in TypeScript - [Claude Agent SDK (TypeScript)](https://arize.com/docs/phoenix/integrations/typescript/claude-agent-sdk): Instrument Claude Agent SDK in TypeScript - [LangChain.js Tracing](https://arize.com/docs/phoenix/integrations/typescript/langchain/langchain-js): Auto-instrument LangChain.js chains and agents - [Mastra Tracing](https://arize.com/docs/phoenix/integrations/typescript/mastra/mastra-tracing): Auto-instrument Mastra agent workflows - [MCP Tracing (TypeScript)](https://arize.com/docs/phoenix/integrations/typescript/mcp/mcp-tracing-typescript): Trace MCP interactions in TypeScript - [OpenAI Agents SDK (TypeScript)](https://arize.com/docs/phoenix/integrations/typescript/openai-agents): Trace @openai/agents runs, handoffs, and guardrails with @arizeai/openinference-instrumentation-openai-agents - [TanStack AI Tracing](https://arize.com/docs/phoenix/integrations/typescript/tanstack-ai/tanstack-ai-tracing): Auto-instrument TanStack AI chat, tool calls, and agent loops - [Vercel AI SDK Tracing](https://arize.com/docs/phoenix/integrations/typescript/vercel/vercel-ai-sdk-tracing-js): Auto-instrument Vercel AI SDK - [Vercel Eve Tracing](https://arize.com/docs/phoenix/integrations/typescript/vercel/eve-tracing): Trace Vercel Eve filesystem-first agents by registering the @arizeai/openinference-vercel span processor ### Java Frameworks - [Arconia Tracing](https://arize.com/docs/phoenix/integrations/java/arconia/arconia-tracing): Auto-instrument Spring Boot and Spring AI applications - [Google ADK Tracing (Java)](https://arize.com/docs/phoenix/integrations/java/google-adk/google-adk-tracing): Attach the OpenInference Java agent JAR to enrich Google ADK spans — no code changes - [LangChain4j Tracing](https://arize.com/docs/phoenix/integrations/java/langchain4j/langchain4j-tracing): Auto-instrument LangChain4j chains and agents - [Spring AI Tracing](https://arize.com/docs/phoenix/integrations/java/springai/springai-tracing): Auto-instrument Spring AI applications ### Platforms - [Dify Tracing](https://arize.com/docs/phoenix/integrations/platforms/dify/dify-tracing): Send traces from Dify workflows - [Flowise Tracing](https://arize.com/docs/phoenix/integrations/platforms/flowise/flowise-tracing): Send traces from Flowise flows - [LangFlow Tracing](https://arize.com/docs/phoenix/integrations/platforms/langflow/langflow-tracing): Send traces from LangFlow workflows - [Prompt Flow Tracing](https://arize.com/docs/phoenix/integrations/platforms/prompt-flow/prompt-flow-tracing): Send traces from Azure Prompt Flow ### Vector Databases - [Qdrant](https://arize.com/docs/phoenix/integrations/vector-databases/qdrant): Trace staged Qdrant hybrid search to isolate retrieval and selection issues across dense, sparse, and RRF fusion ### Evaluation Integrations - [Harbor](https://arize.com/docs/phoenix/integrations/evaluation-integrations/harbor): Record Harbor agent benchmarks as Phoenix experiments with rewards, infrastructure status, and ATIF traces - [Cleanlab](https://arize.com/docs/phoenix/integrations/evaluation-integrations/cleanlab): Use Cleanlab TLM confidence scores to flag untrustworthy LLM outputs in Phoenix - [MLflow](https://arize.com/docs/phoenix/integrations/evaluation-integrations/mlflow): Use Phoenix evaluators as MLflow scorers for GenAI evaluation workflows - [Ragas](https://arize.com/docs/phoenix/integrations/evaluation-integrations/ragas): Evaluate agents and RAG pipelines using Ragas metrics alongside Phoenix tracing - [UQLM Confidence & Hallucination Risk](https://arize.com/docs/phoenix/integrations/evaluation-integrations/uqlm): Score LLM response uncertainty with UQLM black-box and white-box signals in Phoenix ### Sandboxes - [E2B](https://arize.com/docs/phoenix/integrations/sandboxes/e2b): Run Phoenix code evaluators in E2B's hosted micro-VM sandboxes with kernel-level isolation - [Daytona](https://arize.com/docs/phoenix/integrations/sandboxes/daytona): Run Phoenix code evaluators in Daytona's managed development sandboxes with snapshot-based startup - [Vercel Sandbox](https://arize.com/docs/phoenix/integrations/sandboxes/vercel): Run Phoenix code evaluators in ephemeral Vercel compute, scoped to a Vercel team and project - [Modal](https://arize.com/docs/phoenix/integrations/sandboxes/modal): Run Phoenix code evaluators in Modal's serverless Python containers with sub-second cold starts - [Docker Sandboxes](https://arize.com/docs/phoenix/integrations/sandboxes/docker): Run Phoenix code evaluators in Docker Cloud Sandboxes for Python and TypeScript ### Platforms — Additional - [Dify Integration](https://arize.com/docs/phoenix/integrations/platforms/dify): Connect Dify's low-code LLM app builder to Phoenix - [Flowise Integration](https://arize.com/docs/phoenix/integrations/platforms/flowise): Connect Flowise chatflows and agentflows to Phoenix - [LangFlow Integration](https://arize.com/docs/phoenix/integrations/platforms/langflow): Connect LangFlow's visual workflow builder to Phoenix - [Prompt Flow Integration](https://arize.com/docs/phoenix/integrations/platforms/prompt-flow): Connect Azure Prompt Flow orchestrations to Phoenix ### Java Frameworks — Additional - [Arconia Integration](https://arize.com/docs/phoenix/integrations/java/arconia): Connect Arconia's cloud-native Spring tooling to Phoenix - [Google ADK Integration (Java)](https://arize.com/docs/phoenix/integrations/java/google-adk): Connect Google Agent Development Kit agents written in Java to Phoenix - [LangChain4j Integration](https://arize.com/docs/phoenix/integrations/java/langchain4j): Connect LangChain4j Java chains and agents to Phoenix - [Spring AI Integration](https://arize.com/docs/phoenix/integrations/java/springai): Connect Spring AI applications to Phoenix ### TypeScript Frameworks — Additional - [BeeAI Integration (TypeScript)](https://arize.com/docs/phoenix/integrations/typescript/beeai): Connect BeeAI agent composition to Phoenix from TypeScript - [LangChain.js Integration](https://arize.com/docs/phoenix/integrations/typescript/langchain): Connect LangChain.js chains, memory, and agents to Phoenix - [Mastra Integration](https://arize.com/docs/phoenix/integrations/typescript/mastra): Connect Mastra TypeScript agent workflows to Phoenix - [MCP Integration (TypeScript)](https://arize.com/docs/phoenix/integrations/typescript/mcp): Connect Model Context Protocol clients and servers to Phoenix from TypeScript - [TanStack AI Integration](https://arize.com/docs/phoenix/integrations/typescript/tanstack-ai): Connect TanStack AI chat and agent loops to Phoenix - [Vercel Integration](https://arize.com/docs/phoenix/integrations/typescript/vercel): Connect Vercel AI SDK and Eve agents to Phoenix ### Python Frameworks — Additional - [AG2 Integration](https://arize.com/docs/phoenix/integrations/python/ag2): Connect AG2 agents, tools, and multi-agent networks to Phoenix - [Agent Spec Integration](https://arize.com/docs/phoenix/integrations/python/agentspec): Connect Open Agent Spec agentic systems to Phoenix - [Agno Integration](https://arize.com/docs/phoenix/integrations/python/agno): Connect Agno model-agnostic Python agents to Phoenix - [AutoGen Integration](https://arize.com/docs/phoenix/integrations/python/autogen): Connect AutoGen multi-agent conversations to Phoenix - [BeeAI Integration (Python)](https://arize.com/docs/phoenix/integrations/python/beeai): Connect BeeAI agent composition to Phoenix from Python - [CrewAI Integration](https://arize.com/docs/phoenix/integrations/python/crewai): Connect CrewAI role-playing agent crews to Phoenix - [DSPy Integration](https://arize.com/docs/phoenix/integrations/python/dspy): Connect DSPy modules and optimizers to Phoenix - [Google ADK Integration (Python)](https://arize.com/docs/phoenix/integrations/python/google-adk): Connect Google ADK Gemini agents to Phoenix - [Graphite Integration](https://arize.com/docs/phoenix/integrations/python/graphite): Connect Graphite's visual multi-agent workflows to Phoenix - [Guardrails AI Integration](https://arize.com/docs/phoenix/integrations/python/guardrails-ai): Connect Guardrails AI input/output validators to Phoenix - [Haystack Integration](https://arize.com/docs/phoenix/integrations/python/haystack): Connect Haystack search and QA pipelines to Phoenix - [Hugging Face Smolagents Integration](https://arize.com/docs/phoenix/integrations/python/hugging-face-smolagents): Connect Hugging Face smolagents to Phoenix - [Instructor Integration](https://arize.com/docs/phoenix/integrations/python/instructor): Connect Instructor structured-output calls to Phoenix - [LangChain Integration (Python)](https://arize.com/docs/phoenix/integrations/python/langchain): Connect LangChain chains, memory, and agents to Phoenix - [LangGraph Integration](https://arize.com/docs/phoenix/integrations/python/langgraph): Connect LangGraph stateful graph pipelines to Phoenix - [LlamaIndex Integration](https://arize.com/docs/phoenix/integrations/python/llamaindex): Connect LlamaIndex ingestion, indexing, and retrieval to Phoenix - [NVIDIA NeMo Integration](https://arize.com/docs/phoenix/integrations/python/nvidia): Connect the NVIDIA NeMo Agent Toolkit to Phoenix - [Portkey Integration](https://arize.com/docs/phoenix/integrations/python/portkey): Connect the Portkey AI gateway's routing and caching to Phoenix - [Pydantic AI Integration](https://arize.com/docs/phoenix/integrations/python/pydantic): Connect Pydantic AI agents and its evals framework to Phoenix - [Restate Integration](https://arize.com/docs/phoenix/integrations/python/restate): Connect Restate durable agent executions to Phoenix - [Strands Agents Integration](https://arize.com/docs/phoenix/integrations/python/strands-agents): Connect Strands Agents model-driven orchestration to Phoenix ### LLM Providers — Additional - [Amazon Bedrock Integration](https://arize.com/docs/phoenix/integrations/llm-providers/amazon-bedrock): Pick a Bedrock tracing or evals path across Python, TypeScript, and Agents - [Anthropic Integration](https://arize.com/docs/phoenix/integrations/llm-providers/anthropic): Pick an Anthropic Claude tracing or evals path across Python, TypeScript, and Go - [Cohere Integration](https://arize.com/docs/phoenix/integrations/llm-providers/cohere): Trace Cohere chat, search, and RAG model calls in Phoenix - [Google GenAI Integration](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai): Pick a Google GenAI and Gemini tracing or evals path - [Groq Integration](https://arize.com/docs/phoenix/integrations/llm-providers/groq): Trace Groq's low-latency LPU inference calls in Phoenix - [LiteLLM Integration](https://arize.com/docs/phoenix/integrations/llm-providers/litellm): Trace and evaluate calls routed through LiteLLM's unified 100+ model interface - [MistralAI Integration](https://arize.com/docs/phoenix/integrations/llm-providers/mistralai): Trace and evaluate Mistral open-weight model calls in Phoenix - [Ollama Integration](https://arize.com/docs/phoenix/integrations/llm-providers/ollama): Trace chat calls made with the local Ollama Python client in Phoenix - [OpenAI Integration](https://arize.com/docs/phoenix/integrations/llm-providers/openai): Pick an OpenAI tracing or evals path across Python, Node.js, Go, and Agents SDK - [OpenRouter Integration](https://arize.com/docs/phoenix/integrations/llm-providers/openrouter): Trace calls routed through OpenRouter's unified multi-model API - [OrcaRouter Integration](https://arize.com/docs/phoenix/integrations/llm-providers/orcarouter): Trace calls through OrcaRouter's OpenAI-compatible gateway to 200+ models - [Cloudflare AI Gateway Integration](https://arize.com/docs/phoenix/integrations/llm-providers/cloudflare-ai-gateway): Overview of sending Cloudflare AI Gateway traces to Phoenix - [Together AI Integration](https://arize.com/docs/phoenix/integrations/llm-providers/together): Trace Together AI's fast open-source model inference calls in Phoenix - [TypeSafe AI Integration](https://arize.com/docs/phoenix/integrations/llm-providers/typesafe): Pick a TypeSafe AI tracing path for Python or TypeScript - [VertexAI Integration](https://arize.com/docs/phoenix/integrations/llm-providers/vertexai): Trace and evaluate Google Cloud Vertex AI model calls in Phoenix ## Settings - [Access Control RBAC](https://arize.com/docs/phoenix/settings/access-control-rbac): Role-based permissions and project access - [API Keys](https://arize.com/docs/phoenix/settings/api-keys): Generate and manage API keys - [Secrets](https://arize.com/docs/phoenix/settings/secrets): Store and manage encrypted API keys and credentials - [Data Retention](https://arize.com/docs/phoenix/settings/data-retention): Configure data retention policies - [Custom AI Providers](https://arize.com/docs/phoenix/settings/custom-ai-providers): Server-managed AI provider credentials for Playground and evals - [Sandboxes](https://arize.com/docs/phoenix/settings/sandboxes): Configure sandbox backends and reusable configurations for code evaluators - [WebAssembly Sandbox](https://arize.com/docs/phoenix/settings/sandboxes/wasm): Run simple Python evaluators locally inside Phoenix with no credentials needed - [Deno Sandbox](https://arize.com/docs/phoenix/settings/sandboxes/deno): Run simple TypeScript evaluators locally inside Phoenix with no credentials needed - [E2B Sandbox Settings](https://arize.com/docs/phoenix/settings/sandboxes/e2b): Configure E2B API key and options for hosted micro-VM code evaluation - [Daytona Sandbox Settings](https://arize.com/docs/phoenix/settings/sandboxes/daytona): Configure Daytona credentials and snapshot settings for hosted code evaluation - [Vercel Sandbox Settings](https://arize.com/docs/phoenix/settings/sandboxes/vercel): Configure Vercel team and project credentials for hosted code evaluation - [Modal Sandbox Settings](https://arize.com/docs/phoenix/settings/sandboxes/modal): Configure Modal token and workspace for hosted Python code evaluation ## Concepts ### Tracing - [What Are Traces](https://arize.com/docs/phoenix/tracing/concepts-tracing/what-are-traces): Understand how traces model request paths and spans model units of work - [How Tracing Works](https://arize.com/docs/phoenix/tracing/concepts-tracing/how-tracing-works): Learn how Phoenix collects traces via OpenTelemetry and processes them - [Annotations Concepts](https://arize.com/docs/phoenix/tracing/concepts-tracing/annotations-concepts): Understand how scores, labels, and feedback attach to traces as quality signals - [Translating Conventions](https://arize.com/docs/phoenix/tracing/concepts-tracing/translating-conventions): Map framework-specific conventions to Phoenix's trace structure - [Tracing FAQs](https://arize.com/docs/phoenix/tracing/concepts-tracing/faqs-tracing): Troubleshoot trace collection, local vs remote setup, and common configuration issues ### OpenTelemetry & OpenInference - [OTel & OpenInference Overview](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/overview): How Phoenix tracing builds on the OpenTelemetry and OpenInference open standards - [Signals, Spans, Traces, and Sessions](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/signals): Understand the data shapes OpenTelemetry produces and how they form a trace tree - [Tracing Resource](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/resource): Set service name, environment, and attributes that route spans to your project - [Exporter and OTLP](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/exporter): Ship spans out of your app over OTLP via gRPC or HTTP - [Span Processor](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/span-processor): Choose between BatchSpanProcessor and SimpleSpanProcessor and tune span batching - [Tracer Provider and Tracer](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/tracer-provider): Configure the central OpenTelemetry tracing object and handle shutdown on Lambda and Node.js - [phoenix.otel Helpers](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/phoenix-otel-helpers): Collapse OpenTelemetry setup into one register() call with arize-phoenix-otel - [OpenInference Semantic Conventions](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/semantic-conventions): Standardized span attribute names that make AI trace data portable across tools and languages - [OpenInference Span Kinds](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/span-kinds): The eleven span kinds — LLM, Tool, Agent, Chain, Retriever — and their canonical attributes - [Instrumentation Approaches](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/instrumentation-approaches): Compare auto, manual, and hybrid instrumentation and the custom span processor pattern - [OpenInference Context Managers](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/context-managers): Attach session IDs, user IDs, metadata, tags, and prompt templates to spans in scope - [Context Propagation](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/context-propagation): Carry trace context across async boundaries, threads, and microservices - [Trace Sampling](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/sampling): Reduce telemetry volume with head and tail sampling without losing visibility - [OpenTelemetry Collector](https://arize.com/docs/phoenix/tracing/concepts-tracing/otel-openinference/otel-collector): Receive, process, and export spans through an optional intermediate collector service ### Prompts - [Prompts Concepts](https://arize.com/docs/phoenix/prompt-engineering/concepts-prompts/prompts-concepts): Understand prompt templates, versioning, tagging, and invocation parameters - [Context Engineering](https://arize.com/docs/phoenix/prompt-engineering/concepts-prompts/context-engineering-basics): Structure and optimize the context window for better LLM outputs ### Datasets - [Datasets Concepts](https://arize.com/docs/phoenix/datasets-and-experiments/concepts-datasets): Understand how datasets organize examples with inputs and expected outputs for testing ### Evaluation - [LLM as a Judge](https://arize.com/docs/phoenix/evaluation/concepts-evals/llm-as-a-judge): LLM-based evaluation best practices ## Resources - [General FAQs](https://arize.com/docs/phoenix/resources/frequently-asked-questions): Common questions about Phoenix features, pricing, and compatibility - [Contribute](https://arize.com/docs/phoenix/resources/contribute-to-phoenix): Open-source contribution guide - [Arize Phoenix or Arize AX](https://arize.com/docs/phoenix/resources/frequently-asked-questions/what-is-the-difference-between-phoenix-and-arize): Compare open-source Phoenix with the commercial Arize AX platform and decide which fits your team - [Migrating to Arize AX](https://arize.com/docs/phoenix/resources/phoenix-to-arize-ax-migration): Move traces, evaluations, annotations, datasets, and experiments from Phoenix to Arize AX - [Braintrust Open Source Alternative? LLM Evaluation Platform Comparison](https://arize.com/docs/phoenix/resources/frequently-asked-questions/braintrust-open-source-alternative-llm-evaluation-platform-comparison): Compare Phoenix and Braintrust across tracing, evaluation, and licensing - [Can I add other users to my Phoenix Instance?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/can-i-add-other-users-to-my-phoenix-instance): Enable authentication and invite teammates to a Phoenix deployment - [Can I persist data in a notebook?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/can-i-persist-data-in-a-notebook): Keep notebook traces across restarts with `use_temp_dir=False` or a database URL - [Can I run Phoenix on Sagemaker?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/can-i-run-phoenix-on-sagemaker): Serve Phoenix from a SageMaker notebook through jupyter-server-proxy - [Can I use Azure OpenAI?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/can-i-use-azure-openai): Configure Azure OpenAI deployments for tracing, evals, and the Playground - [Can I use gRPC for trace collection?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/can-i-use-grpc-for-trace-collection): Send spans over gRPC on port 4317 in Phoenix 4.0+ - [Can I use Phoenix locally from a remote Jupyter instance?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/can-i-use-phoenix-locally-from-a-remote-jupyter-instance): Reach a locally running Phoenix from a remote notebook via port forwarding - [How can I configure the backend to send the data to the phoenix UI in another container?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/how-can-i-configure-the-backend-to-send-the-data-to-the-phoenix-ui-in-another-container): Point an app container's collector endpoint at a separate Phoenix container - [How do I resolve Phoenix Evals showing NOT\_PARSABLE?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/how-do-i-resolve-phoenix-evals-showing-not_parsable): Fix `NOT_PARSABLE` scores caused by `max_tokens` truncation or malformed JSON - [Langfuse alternative? Arize Phoenix vs Langfuse: Key differences](https://arize.com/docs/phoenix/resources/frequently-asked-questions/langfuse-alternative-arize-phoenix-vs-langfuse-key-differences): Compare Phoenix and Langfuse across tracing, evals, and self-hosting - [Open Source LangSmith Alternative: Arize Phoenix vs. LangSmith](https://arize.com/docs/phoenix/resources/frequently-asked-questions/open-source-langsmith-alternative-arize-phoenix-vs.-langsmith): Compare Phoenix and LangSmith across observability, evaluation, and open-source features - [What is my Phoenix Endpoint?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/what-is-my-phoenix-endpoint): Find the collector endpoint and base URL to point your SDK at - [What is the difference between GRPC and HTTP?](https://arize.com/docs/phoenix/resources/frequently-asked-questions/what-is-the-difference-between-grpc-and-http): Choose between the gRPC and HTTP OTLP transports for span export ## SDK & API Reference - [SDK Overview](https://arize.com/docs/phoenix/sdk-api-reference): Navigate all Phoenix SDK and API reference docs ### Python - [Phoenix Client (Python)](https://arize.com/docs/phoenix/sdk-api-reference/python/arize-phoenix-client): Manage traces, datasets, experiments, and prompts via arize-phoenix-client - [Phoenix Evals (Python)](https://arize.com/docs/phoenix/sdk-api-reference/python/arize-phoenix-evals): Run LLM and code evaluators via arize-phoenix-evals - [Phoenix OTEL (Python)](https://arize.com/docs/phoenix/sdk-api-reference/python/arize-phoenix-otel): Configure OpenTelemetry tracing via arize-phoenix-otel ### TypeScript - [TypeScript SDK Overview](https://arize.com/docs/phoenix/sdk-api-reference/typescript/overview): Install and configure the Phoenix TypeScript SDK - [TypeScript API Reference](https://arize-ai.github.io/phoenix/modules.html): Full auto-generated TypeScript API docs - [Phoenix Client (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-client): Manage traces, datasets, and prompts via @arizeai/phoenix-client - [Phoenix Client Overview (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/overview): Typed TypeScript client for Phoenix platform APIs — install, configure, and use module entrypoints - [Phoenix Client Annotations (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/annotations): Attach span, session, and document annotations via @arizeai/phoenix-client - [Phoenix Client Datasets (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/datasets): Create and inspect datasets via @arizeai/phoenix-client - [Phoenix Client Document Annotations (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/document-annotations): Log document-level annotations for RAG evaluation via @arizeai/phoenix-client - [Phoenix Client Experiments (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/experiments): Run experiments via @arizeai/phoenix-client - [Phoenix Client Prompts (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/prompts): Manage prompts via @arizeai/phoenix-client - [Phoenix Client Projects (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/projects): List projects and assign trace retention policies via @arizeai/phoenix-client - [Phoenix Client Session Annotations (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/session-annotations): Log session-level annotations for conversation evaluation via @arizeai/phoenix-client - [Phoenix Client Sessions (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/sessions): Work with sessions via @arizeai/phoenix-client - [Phoenix Client Span Annotations (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/span-annotations): Log and retrieve span-level annotations via @arizeai/phoenix-client - [Phoenix Client Spans (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/spans): Search and manage spans via @arizeai/phoenix-client - [Phoenix Client Traces (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/traces): Retrieve traces via @arizeai/phoenix-client - [Phoenix Client Users (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/users): Identify the user behind the current credentials via @arizeai/phoenix-client - [CI Eval Tests (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals): Run dataset-backed Phoenix evaluations as Vitest or Jest tests via @arizeai/phoenix-client - [CI Eval Test Annotations (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-annotations): Record annotations and evaluator results on experiment runs via @arizeai/phoenix-client - [CI Eval Tests: Vitest (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-vitest): Wire @arizeai/phoenix-client/vitest into a Vitest project - [CI Eval Tests: Jest (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-jest): Wire @arizeai/phoenix-client/jest into a Jest project - [Phoenix Evals (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-evals): Run LLM and code evaluators via @arizeai/phoenix-evals - [Phoenix Evals Overview (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/overview): Install and configure @arizeai/phoenix-evals for TypeScript evaluation workflows - [Phoenix Evals Classification (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/classification): Run classification evaluations with @arizeai/phoenix-evals - [Phoenix Evals Classification Metrics (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/classification-metrics): Compute precision, recall, and F-beta with deterministic code evaluators in @arizeai/phoenix-evals - [Phoenix Evals Create Evaluator (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/create-evaluator): Build custom evaluators with @arizeai/phoenix-evals - [Phoenix Evals LLM Evaluators (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/llm-evaluators): Use LLM-backed evaluators in @arizeai/phoenix-evals - [Phoenix Evals Phoenix Integration (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/phoenix-integration): Connect @arizeai/phoenix-evals to Phoenix experiments for end-to-end evaluation - [Phoenix Evals Templates (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/templates): Template helpers for structuring evaluator prompts in @arizeai/phoenix-evals - [Phoenix OTEL (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-otel): Register Phoenix tracing and use OpenInference helpers via @arizeai/phoenix-otel - [Phoenix OTEL Overview (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/overview): Configure `register()`, OTLP export, instrumentations, and provider lifecycle in @arizeai/phoenix-otel - [Phoenix OTEL Tracing Helpers (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/tracing-helpers): Wrap functions and methods with `withSpan`, `traceChain`, `traceAgent`, and `traceTool` - [Phoenix OTEL Context Attributes (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/context-attributes): Propagate session, user, metadata, prompt template, and custom attributes in @arizeai/phoenix-otel - [Phoenix OTEL Manual Spans (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/manual-spans): Build raw spans, OpenInference attributes, and redaction with `OITracer` - [OpenInference Core (TS)](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-openinference-core): Semantic conventions and span utilities via @arizeai/openinference-core - [MCP Server SDK](https://arize.com/docs/phoenix/sdk-api-reference/typescript/mcp-server): Build MCP servers that expose Phoenix data to AI assistants - [Phoenix CLI](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-cli): Fetch docs, manage traces, and run experiments from the terminal ### REST API - [REST API Overview](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/overview): Authenticate and call the Phoenix REST API - [OpenAPI Spec](https://raw.githubusercontent.com/Arize-ai/phoenix/refs/heads/main/schemas/openapi.json): Machine-readable OpenAPI 3 specification ### OpenInference - [OpenInference Python](https://arize.com/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-python): Build custom Python instrumentors with OpenInference semantic conventions - [OpenInference Java](https://arize.com/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-java): Build custom Java instrumentors with OpenInference semantic conventions - [OpenInference JavaScript](https://arize.com/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-javascript): Build custom JS instrumentors with OpenInference semantic conventions ### REST API — Agent Sessions - [Create A Session](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/create-a-session): POST /v1/agent_sessions — start a new PXI agent session - [List Sessions](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/list-sessions): GET /v1/agent_sessions — paginate agent sessions - [Get A Session By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/get-a-session-by-id): GET /v1/agent_sessions/{session_id} — fetch a single session - [Update A Session](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/update-a-session): PATCH /v1/agent_sessions/{session_id} — rename a session or switch its model - [List Session Messages](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/list-session-messages): GET /v1/agent_sessions/{session_id}/messages — page through a session's transcript - [Submit Tool Outputs](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/submit-tool-outputs): POST /v1/agent_sessions/{session_id}/tool_outputs — return results for pending tool calls - [Compact A Session](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/compact-a-session): POST /v1/agent_sessions/{session_id}/compact — summarize older turns into a checkpoint - [Chat With A Session](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/chat-with-a-session): POST /v1/agent_sessions/{session_id}/chat — send a turn and stream the agent's response ### REST API — Annotation Configs - [List Annotation Configurations](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/list-annotation-configurations): GET /v1/annotation_configs — paginate all annotation configurations - [Create An Annotation Configuration](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/create-an-annotation-configuration): POST /v1/annotation_configs — define a new categorical, continuous, or freeform config - [Get An Annotation Configuration By ID Or Name](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/get-an-annotation-configuration-by-id-or-name): GET /v1/annotation_configs/{config_identifier} — fetch a single annotation config - [Update An Annotation Configuration](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/update-an-annotation-configuration): PUT /v1/annotation_configs/{config_id} — modify an existing config's options or rubric - [Delete An Annotation Configuration](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/delete-an-annotation-configuration): DELETE /v1/annotation_configs/{config_id} — remove an annotation config - [List Annotation Configs Assigned To A Project](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/list-annotation-configurations-assigned-to-a-project): GET /v1/projects/{project_identifier}/annotation_configs — list configs assigned to a project - [Assign An Annotation Config To A Project](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/assign-an-annotation-configuration-to-a-project): PUT /v1/projects/{project_identifier}/annotation_configs/{config_identifier} — assign a single config to a project - [Unassign An Annotation Config From A Project](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/unassign-an-annotation-configuration-from-a-project): DELETE /v1/projects/{project_identifier}/annotation_configs/{config_identifier} — remove a config from a project - [Replace Project Annotation Configs](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/replace-the-set-of-annotation-configurations-assigned-to-a-project): PUT /v1/projects/{project_identifier}/annotation_configs — replace the full set of configs assigned to a project ### REST API — Annotations - [Get Span Annotations By Span IDs](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/get-span-annotations-for-a-list-of-span_ids): GET /v1/projects/{project_identifier}/span_annotations — fetch annotations across many spans in one call - [Get Trace Annotations By Trace IDs](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/get-trace-annotations-for-a-list-of-trace_ids): GET /v1/projects/{project_identifier}/trace_annotations — fetch annotations across many traces in one call - [Get Session Annotations By Session IDs](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/get-session-annotations-for-a-list-of-session_ids): GET /v1/projects/{project_identifier}/session_annotations — fetch annotations across many sessions in one call - [Delete Span Annotations By Filter](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/delete-span-annotations-by-filter): DELETE /v1/projects/{project_identifier}/span_annotations — hard-delete span annotations matching AND-ed filters; at least one filter required - [Delete Trace Annotations By Filter](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/delete-trace-annotations-by-filter): DELETE /v1/projects/{project_identifier}/trace_annotations — hard-delete trace annotations matching AND-ed filters; returns 204 idempotently - [Delete Session Annotations By Filter](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/delete-session-annotations-by-filter): DELETE /v1/projects/{project_identifier}/session_annotations — hard-delete session annotations matching AND-ed filters; returns 204 idempotently ### REST API — API Keys - [List The Authenticated User's API Keys](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/list-the-authenticated-users-api-keys): GET /v1/user/api_keys — list the calling user's own API keys - [Create An API Key For The Authenticated User](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/create-an-api-key-for-the-authenticated-user): POST /v1/user/api_keys — mint a user API key and return the bearer token - [Delete A User API Key](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/delete-a-user-api-key): DELETE /v1/user/api_keys/{api_key_id} — revoke a user API key - [List All User API Keys](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/list-all-user-api-keys): GET /v1/users/api_keys — list every user API key in the workspace (admin) - [List System API Keys](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/list-system-api-keys): GET /v1/system/api_keys — list system API keys used by services (admin) - [Create A System API Key](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/create-a-system-api-key): POST /v1/system/api_keys — mint a system API key for CI or service-to-service calls (admin) - [Delete A System API Key](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/delete-a-system-api-key): DELETE /v1/system/api_keys/{api_key_id} — revoke a system API key (admin) ### REST API — Chat Completions - [OpenAI-Compatible Chat Completions](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/chat-completions/openai-compatible-chat-completions): POST /v1/chat/completions — OpenAI wire-format proxy with server-resolved credentials; model is `{provider}:{model_name}`, `stream: true` for SSE, no tool calling ### REST API — Datasets - [List Datasets](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/list-datasets): GET /v1/datasets — paginate datasets in the workspace - [Get Dataset By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/get-dataset-by-id): GET /v1/datasets/{id} — retrieve dataset metadata - [Delete Dataset By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/delete-dataset-by-id): DELETE /v1/datasets/{id} — remove a dataset and its versions - [List Dataset Versions](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/list-dataset-versions): GET /v1/datasets/{id}/versions — paginate version history for a dataset - [Upload Dataset From JSON, JSONL, CSV, Or PyArrow](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/upload-dataset-from-json-csv-or-pyarrow): POST /v1/datasets/upload — create or append examples from JSON, JSONL, CSV, or PyArrow - [Get Examples From A Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/get-examples-from-a-dataset): GET /v1/datasets/{id}/examples — retrieve examples at a specific dataset version - [Download Dataset Examples As CSV](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-csv-file): GET /v1/datasets/{id}/csv — stream dataset examples as a CSV file - [Download Dataset Examples As JSONL](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-jsonl-file): GET /v1/datasets/{id}/jsonl — stream dataset examples as a JSONL file - [Download Dataset Examples As OpenAI Fine-Tuning JSONL](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-openai-fine-tuning-jsonl-file): GET /v1/datasets/{id}/jsonl/openai_ft — export examples in OpenAI fine-tuning format - [Download Dataset Examples As OpenAI Evals JSONL](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-openai-evals-jsonl-file): GET /v1/datasets/{id}/jsonl/openai_evals — export examples in OpenAI evals format ### REST API — Dataset Labels - [List Dataset Labels](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/list-dataset-labels): GET /v1/dataset_labels — paginate all dataset labels in the system - [Create A Dataset Label](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/create-a-dataset-label): POST /v1/dataset_labels — create a reusable dataset label with a name and hex color - [Get A Dataset Label By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/get-a-dataset-label-by-id): GET /v1/dataset_labels/{label_id} — fetch a single dataset label - [Update A Dataset Label By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/update-a-dataset-label-by-id): PATCH /v1/dataset_labels/{label_id} — modify a dataset label's name or color - [Delete A Dataset Label By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/delete-a-dataset-label-by-id): DELETE /v1/dataset_labels/{label_id} — remove a dataset label - [List The Labels Applied To A Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/list-the-labels-applied-to-a-dataset): GET /v1/datasets/{dataset_identifier}/labels — list the labels applied to a dataset - [Replace The Set Of Labels Applied To A Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/replace-the-set-of-labels-applied-to-a-dataset): PUT /v1/datasets/{dataset_identifier}/labels — replace the whole set of labels on a dataset - [Apply A Label To A Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/apply-a-label-to-a-dataset): PUT /v1/datasets/{dataset_identifier}/labels/{label_id} — apply a single label to a dataset (idempotent) - [Remove A Label From A Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/remove-a-label-from-a-dataset): DELETE /v1/datasets/{dataset_identifier}/labels/{label_id} — remove a single label from a dataset (idempotent) ### REST API — Experiments - [List Experiments By Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/list-experiments-by-dataset): GET /v1/datasets/{dataset_id}/experiments — list experiments tied to a dataset - [Create Experiment On A Dataset](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/create-experiment-on-a-dataset): POST /v1/datasets/{dataset_id}/experiments — start a new experiment over a dataset version - [Get Experiment By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/get-experiment-by-id): GET /v1/experiments/{experiment_id} — fetch experiment metadata - [Update An Experiment By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/update-an-experiment-by-id): PATCH /v1/experiments/{experiment_id} — partially update name, description, or metadata; patching an ephemeral experiment extends its sweep window - [Delete Experiment By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/delete-experiment-by-id): DELETE /v1/experiments/{experiment_id} — delete an experiment and its runs - [List The Tags Applied To An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/list-the-tags-applied-to-an-experiment): GET /v1/experiments/{experiment_id}/tags — list the dataset-scoped tags this experiment currently owns - [Assign A Tag To An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/assign-a-tag-to-an-experiment): POST /v1/experiments/{experiment_id}/tags — assign a tag (e.g. `baseline`), moving it off any other experiment on the same dataset - [Remove A Tag From An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/remove-a-tag-from-an-experiment): DELETE /v1/experiments/{experiment_id}/tags/{tag_name} — remove a tag from the experiment that owns it (idempotent) - [Download Experiment Runs As JSON](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/download-experiment-runs-as-a-json-file): GET /v1/experiments/{experiment_id}/json — export full experiment runs as JSON - [Download Experiment Runs As CSV](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/download-experiment-runs-as-a-csv-file): GET /v1/experiments/{experiment_id}/csv — export experiment runs as CSV - [List Runs For An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/list-runs-for-an-experiment): GET /v1/experiments/{experiment_id}/runs — list run rows for an experiment - [Create Run For An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/create-run-for-an-experiment): POST /v1/experiments/{experiment_id}/runs — submit a run output for an experiment - [Get Incomplete Runs For An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/get-incomplete-runs-for-an-experiment): GET /v1/experiments/{experiment_id}/incomplete-runs — list dataset rows still missing runs - [Create Or Update Evaluation For An Experiment Run](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/create-or-update-evaluation-for-an-experiment-run): POST /v1/experiment_evaluations — upsert an evaluator score on an experiment run - [Get Incomplete Evaluations For An Experiment](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/get-incomplete-evaluations-for-an-experiment): GET /v1/experiments/{experiment_id}/incomplete-evaluations — list runs still missing a given evaluator's score ### REST API — Projects - [List All Projects](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/list-all-projects): GET /v1/projects — paginate projects in the workspace - [Create A New Project](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/create-a-new-project): POST /v1/projects — create a project for tracing - [Get Project By ID Or Name](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/get-project-by-id-or-name): GET /v1/projects/{project_identifier} — fetch a project by ID or name - [Update A Project By ID Or Name](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/update-a-project-by-id-or-name): PUT /v1/projects/{project_identifier} — rename or update project description - [Delete A Project By ID Or Name](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/delete-a-project-by-id-or-name): DELETE /v1/projects/{project_identifier} — delete a project and its data ### REST API — Prompts - [List All Prompts](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/list-all-prompts): GET /v1/prompts — paginate all prompts - [Create A New Prompt](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/create-a-new-prompt): POST /v1/prompts — create a prompt or push a new prompt version - [Delete A Prompt](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/delete-a-prompt): DELETE /v1/prompts/{prompt_identifier} — delete a prompt and all of its versions - [List Prompt Versions](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/list-prompt-versions): GET /v1/prompts/{prompt_identifier}/versions — paginate versions of a prompt - [Get Prompt Version By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/get-prompt-version-by-id): GET /v1/prompt_versions/{prompt_version_id} — fetch a specific prompt version - [Get Prompt Version By Tag](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/get-prompt-version-by-tag): GET /v1/prompts/{prompt_identifier}/tags/{tag_name} — resolve a tag to a prompt version - [Get Latest Prompt Version](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/get-latest-prompt-version): GET /v1/prompts/{prompt_identifier}/latest — fetch the most recent prompt version - [List Prompt Version Tags](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/list-prompt-version-tags): GET /v1/prompt_versions/{prompt_version_id}/tags — list tags applied to a prompt version - [Add Tag To Prompt Version](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/add-tag-to-prompt-version): POST /v1/prompt_versions/{prompt_version_id}/tags — apply a named tag to a prompt version - [Delete A Tag From A Prompt Version](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/delete-a-tag-from-a-prompt-version): DELETE /v1/prompt_versions/{prompt_version_id}/tags/{tag_name} — remove a tag from a prompt version ### REST API — Secrets - [Upsert Or Delete Secrets](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/secrets/upsert-or-delete-secrets): PUT /v1/secrets — set or remove server-side secret values used by Phoenix ### REST API — Sessions - [List Project Sessions](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/list-project-sessions): GET /v1/projects/{project_identifier}/sessions — paginate sessions in a project - [Get Session By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/get-session-by-id): GET /v1/sessions/{session_identifier} — fetch a session by ID or session_id - [Delete A Session By Identifier](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/delete-a-session-by-identifier): DELETE /v1/sessions/{session_identifier} — delete a single session - [Bulk Delete Sessions](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/bulk-delete-sessions): POST /v1/sessions/delete — delete many sessions in one request - [Create Session Annotations](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/create-session-annotations): POST /v1/session_annotations — write one or more annotations on sessions - [List Session Annotations](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/list-session-annotations): GET /v1/projects/{project_identifier}/session_annotations — list session annotations for a project - [Create A Session Note](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/create-a-session-note): POST /v1/session_notes — attach a free-text note to a session ### REST API — Spans - [List Spans (No DSL)](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/list-spans-with-simple-filters-no-dsl): GET /v1/projects/{project_identifier}/spans — paginate spans with simple query filters - [Search Spans (OTLP)](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/search-spans-with-simple-filters-no-dsl): GET /v1/projects/{project_identifier}/spans/otlpv1 — query spans returned in OTLP-style format - [Create Spans](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/create-spans): POST /v1/projects/{project_identifier}/spans — ingest spans into a project (non-OTLP path) - [Create Span Annotations](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/create-span-annotations): POST /v1/span_annotations — write one or more annotations on spans - [Create A Span Note](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/create-a-span-note): POST /v1/span_notes — attach a free-text note to a span - [Annotate Span Documents](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/annotate-span-documents): POST /v1/document_annotations — write annotations on retrieved documents within a span - [Delete A Span By Identifier](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/delete-a-span-by-span_identifier): DELETE /v1/spans/{span_identifier} — delete a single span by ID or span_id ### REST API — Traces - [List Traces For A Project](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/list-traces-for-a-project): GET /v1/projects/{project_identifier}/traces — paginate traces in a project - [Delete Traces From A Project](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/delete-traces-from-a-project): DELETE /v1/projects/{project_identifier}/traces — bulk-delete traces in a bounded [start_time, end_time) interval - [Delete A Trace By Identifier](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/delete-a-trace-by-identifier): DELETE /v1/traces/{trace_identifier} — delete a trace by ID or trace_id - [Create Trace Annotations](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/create-trace-annotations): POST /v1/trace_annotations — write one or more annotations on traces - [Create A Trace Note](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/create-a-trace-note): POST /v1/trace_notes — attach a free-text note to a trace ### REST API — Users - [Get The Authenticated User](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/get-the-authenticated-user): GET /v1/user — fetch the user record for the current API key - [List All Users](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/list-all-users): GET /v1/users — paginate users in the workspace (admin) - [Create A New User](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/create-a-new-user): POST /v1/users — provision a new user (admin) - [Delete A User By ID](https://arize.com/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/delete-a-user-by-id): DELETE /v1/users/{user_id} — remove a user (admin) ## Self-Hosting - [Self-Hosting Overview](https://arize.com/docs/phoenix/self-hosting): Choose a self-hosting deployment option and get started - [Architecture](https://arize.com/docs/phoenix/self-hosting/architecture): Understand Phoenix components, data flow, and infrastructure requirements - [License](https://arize.com/docs/phoenix/self-hosting/license): Review licensing terms for self-hosted Phoenix instances - [Configuration](https://arize.com/docs/phoenix/self-hosting/configuration): Set environment variables, database connections, and deployment parameters - [Amazon Aurora](https://arize.com/docs/phoenix/self-hosting/configuration/using-amazon-aurora): Aurora/RDS IAM database authentication - [Azure Database for PostgreSQL](https://arize.com/docs/phoenix/self-hosting/configuration/using-azure-managed-identity): Configure managed-identity authentication for Azure PostgreSQL deployments ### Deployment - [Terminal](https://arize.com/docs/phoenix/self-hosting/deployment-options/terminal): Run Phoenix on your local machine via the CLI - [Docker](https://arize.com/docs/phoenix/self-hosting/deployment-options/docker): Deploy with docker compose, locally or in the cloud - [Kubernetes](https://arize.com/docs/phoenix/self-hosting/deployment-options/kubernetes): Deploy on Kubernetes with PostgreSQL using kustomize - [Helm](https://arize.com/docs/phoenix/self-hosting/deployment-options/kubernetes-helm): Install the Phoenix Helm chart on a Kubernetes cluster - [AWS CloudFormation](https://arize.com/docs/phoenix/self-hosting/deployment-options/aws-with-cloudformation): Deploy on AWS Fargate with a CloudFormation template - [Railway](https://arize.com/docs/phoenix/self-hosting/deployment-options/railway): Deploy on Railway via one-click template - [Render](https://arize.com/docs/phoenix/self-hosting/deployment-options/render): Deploy on Render via one-click blueprint with managed PostgreSQL - [Google Cloud Run](https://arize.com/docs/phoenix/self-hosting/deployment-options/google-cloud-run): Deploy on Google Cloud Run with a one-click button - [Azure](https://arize.com/docs/phoenix/self-hosting/deployment-options/azure): Deploy on Azure Container Instances via one-click ARM template ### Features - [Provisioning](https://arize.com/docs/phoenix/self-hosting/features/provisioning): Seed an admin user and PHOENIX_ADMIN_SECRET at deploy time so the instance accepts data immediately - [Authentication](https://arize.com/docs/phoenix/self-hosting/features/authentication): Turn on auth with PHOENIX_ENABLE_AUTH and configure OAuth2 or LDAP identity providers - [Email](https://arize.com/docs/phoenix/self-hosting/features/email): Configure SMTP so Phoenix can send password resets and user invitations - [Management](https://arize.com/docs/phoenix/self-hosting/features/management): Administer users and projects programmatically with a system key or admin secret - [Sandbox Backends](https://arize.com/docs/phoenix/self-hosting/features/sandbox-runtimes): Pick the sandbox providers bundled in the Phoenix container and configure hosted backends for self-hosted deployments ### Upgrade & Security - [Migrations](https://arize.com/docs/phoenix/self-hosting/upgrade/migrations): Run Phoenix database migrations safely when upgrading a production instance - [Privacy](https://arize.com/docs/phoenix/self-hosting/security/privacy): Review what telemetry self-hosted Phoenix collects and how to turn it off - [Network Security](https://arize.com/docs/phoenix/self-hosting/security/network-security): Restrict outbound requests, configure network policies, and enable CSRF protection - [Encryption](https://arize.com/docs/phoenix/self-hosting/advanced/encryption): Configure TLS/HTTPS, encryption at rest, and application-level encryption of secrets - [Self-Hosting FAQs](https://arize.com/docs/phoenix/self-hosting/misc/frequently-asked-questions): Troubleshoot common self-hosting issues ## Cookbooks - [Cookbook Index](https://arize.com/docs/phoenix/cookbook): Browse worked examples across agents, evaluation, tracing, prompts, and experiments ### Individual Cookbook Pages - [Agent Workflow Patterns](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns): Compare router, chaining, and parallel agent workflow patterns and trace each in Phoenix - [AutoGen Cookbook](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns/autogen): Trace and evaluate AutoGen multi-agent conversations end-to-end - [CrewAI Cookbook](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns/crewai): Trace and evaluate collaborative CrewAI agent crews - [Google GenAI SDK Cookbook (Manual Orchestration)](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns/google-genai-sdk-manual-orchestration): Hand-orchestrate Gemini tool-calling loops and trace each step in Phoenix - [LangGraph Cookbook](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns/langgraph): Trace and evaluate graph-based LangGraph agents - [OpenAI Agents Cookbook](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns/openai-agents): Trace and evaluate OpenAI Agents SDK handoffs, tools, and guardrails - [Smolagents Cookbook](https://arize.com/docs/phoenix/cookbook/agent-workflow-patterns/smolagents): Trace and evaluate tool-using Hugging Face smolagents - [Run Repetition Experiments on Customer Review Evals](https://arize.com/docs/phoenix/cookbook/ai-engineering-workflows/analyzing-customer-review-evals-with-repetition-experiments): Use repetitions to reduce variance and validate improvements in LLM eval experiments - [Iterative Evaluation & Experimentation Workflow (Python)](https://arize.com/docs/phoenix/cookbook/ai-engineering-workflows/iterative-evaluation-and-experimentation-workflow-python): Walk one Python app from first traces through evals to comparative experiments - [Iterative Evaluation & Experimentation Workflow (TypeScript)](https://arize.com/docs/phoenix/cookbook/ai-engineering-workflows/iterative-evaluation-and-experimentation-workflow-typescript): Walk one TypeScript app from first traces through evals to comparative experiments - [Analyzing Customer Review Evals with Repetition Experiments](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/analyzing-customer-review-evals-with-repetition-experiments): Quantify run-to-run eval variance on customer reviews with repeated experiment runs - [Comparing LlamaIndex Query Engines with a Pairwise Evaluator](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/comparing-llamaindex-query-engines-with-a-pairwise-evaluator): Pick between LlamaIndex query engines using a head-to-head LLM judge - [More Dataset & Experiment Cookbooks](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/cookbooks): Index of notebook examples for datasets, experiments, and pairwise comparison - [Experiment with a Customer Support Agent](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/experiment-with-a-customer-support-agent): Build a support agent, then iterate on it with dataset-backed experiments - [Prompt Template Iteration for a Summarization Service](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/summarization): Compare summarization prompt templates on a news dataset with ROUGE and LLM judges - [Text2SQL Experiments](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/text2sql): Build a text-to-SQL system and measure query accuracy across prompt and model changes - [Why Public Benchmarks Lie: Building Your Own Eval Harness](https://arize.com/docs/phoenix/cookbook/datasets-and-experiments/building-your-own-eval-harness): Build a domain-specific eval harness and compare models on your own data and metric instead of public benchmarks - [Code Readability Evaluation](https://arize.com/docs/phoenix/cookbook/evaluation/code-readability-evaluation): Classify code as readable or unreadable using benchmark datasets with ground-truth labels - [Creating a Custom LLM Evaluator with a Benchmark Dataset](https://arize.com/docs/phoenix/cookbook/evaluation/creating-a-custom-llm-evaluator-with-a-benchmark-dataset): Build an LLM-as-a-Judge evaluator and validate it against a labeled benchmark - [Evaluate a Talk-to-Your-Data Agent](https://arize.com/docs/phoenix/cookbook/evaluation/evaluate-an-agent): Score router choices, tool calls, and answers for a data-querying agent - [Trace-level Evaluation: Beyond Input/Output Checks](https://arize.com/docs/phoenix/cookbook/evaluation/trace-level-evaluation): Evaluate an agent's intermediate reasoning, tool selection, and decision path — not just its final answer - [Session-level Evaluation: Scoring the Whole Conversation](https://arize.com/docs/phoenix/cookbook/evaluation/session-level-evaluation): Evaluate a multi-turn session as a whole — coherence, goal completion, and frustration that turn-by-turn checks miss - [Designing Realtime Guardrails: Input, Output, and the Cost of Blocking](https://arize.com/docs/phoenix/cookbook/guardrails/designing-realtime-guardrails): Decide what to guard at input vs. output, trade latency against coverage, and layer guardrails without blocking real users - [Evaluate RAG](https://arize.com/docs/phoenix/cookbook/evaluation/evaluate-rag): Build a RAG pipeline and score its retrieval and answer quality with Phoenix Evals - [OpenAI Agents SDK Cookbook](https://arize.com/docs/phoenix/cookbook/evaluation/openai-agents-sdk-cookbook): Instrument an OpenAI Agents SDK app and evaluate its handoffs and tool calls - [Jailbreak and Prompt Injection Defense](https://arize.com/docs/phoenix/cookbook/guardrails/jailbreak-and-prompt-injection-defense): Red-team an assistant across a taxonomy of jailbreak and injection attacks, then score Attack Success Rate per defense - [Aligning LLM Evals with Human Feedback (TypeScript)](https://arize.com/docs/phoenix/cookbook/human-in-the-loop-workflows-annotations/aligning-llm-evals-with-human-annotations-typescript): Tune a custom Mastra-agent evaluator until it agrees with human annotations - [Using Human Annotations for Eval Driven Development](https://arize.com/docs/phoenix/cookbook/human-in-the-loop-workflows-annotations/using-human-annotations-for-eval-driven-development): Turn human annotations into evaluators and experiments that measurably improve your system - [Chain of Thought Prompting](https://arize.com/docs/phoenix/cookbook/prompt-engineering/chain-of-thought-prompting): Measure whether step-by-step reasoning prompts beat direct answers on your dataset - [Few Shot Prompting](https://arize.com/docs/phoenix/cookbook/prompt-engineering/few-shot-prompting): Compare zero-shot, one-shot, and few-shot prompt variants in an experiment - [LLM-as-a-Judge Prompt Optimization](https://arize.com/docs/phoenix/cookbook/prompt-engineering/llm-as-a-judge-prompt-optimization): Iterate on a judge's prompt until its scores track human labels - [Optimizing Coding Agent Prompts - Prompt Learning](https://arize.com/docs/phoenix/cookbook/prompt-engineering/optimizing-coding-agent-prompts-prompt-learning): Apply Prompt Learning to a coding agent and track its improvement across iterations - [Optimizing Prompts for LLM Classification - Prompt Learning](https://arize.com/docs/phoenix/cookbook/prompt-engineering/prompt-learning-optimizing-prompts-for-classification): Boost accuracy on a classification dataset with Prompt Learning - [Prompt Optimization Techniques](https://arize.com/docs/phoenix/cookbook/prompt-engineering/prompt-optimization): Benchmark meta-prompting, few-shot, and gradient-style prompt optimizers side by side - [ReAct Prompting](https://arize.com/docs/phoenix/cookbook/prompt-engineering/react-prompting): Build and evaluate a reason-then-act prompting loop with tool calls - [Agentic RAG Tracing](https://arize.com/docs/phoenix/cookbook/tracing/agentic-rag-tracing): Build and trace an agentic RAG system using LlamaIndex's ReAct agent with vector and SQL query tools - [Identifying High-Signal Traces](https://arize.com/docs/phoenix/cookbook/tracing/identify-high-signal-traces): Surface anomalies, latency outliers, and failure clusters worth investigating across millions of production traces - [OpenInference Best Practices](https://arize.com/docs/phoenix/cookbook/tracing/openinference-best-practices): Enrich auto-instrumented traces with LLM, tool, agent, chain, and session attributes using OpenInference span kinds - [More Tracing Cookbooks](https://arize.com/docs/phoenix/cookbook/tracing/cookbooks): Index of notebook examples for instrumenting and troubleshooting LLM applications - [Generating Synthetic Datasets for LLM Evaluators & Agents](https://arize.com/docs/phoenix/cookbook/tracing/generating-synthetic-datasets-for-llm-evaluators-and-agents): Generate synthetic test cases to seed evaluator benchmarks and agent experiments - [Product Recommendation Agent: Google Agent Engine & LangGraph](https://arize.com/docs/phoenix/cookbook/tracing/product-recommendation-agent-google-agent-engine-and-langgraph): Deploy a LangGraph agent on Google Agent Engine and trace it in Phoenix - [Structured Data Extraction](https://arize.com/docs/phoenix/cookbook/tracing/structured-data-extraction): Trace and evaluate schema-constrained extraction from unstructured text ## Release Notes - [Release Notes Index](https://arize.com/docs/phoenix/release-notes): Browse all Phoenix release notes by date ### 2024 - [07.02.2024: Function call evaluations](https://arize.com/docs/phoenix/release-notes/2024/07-02-2024-function-call-evaluations): Available in Phoenix 4.6+ - [07.03.2024: Datasets & experiments](https://arize.com/docs/phoenix/release-notes/2024/07-03-2024-datasets-and-experiments): Available in Phoenix 4.6+ - [07.18.2024: Guardrails AI integrations](https://arize.com/docs/phoenix/release-notes/2024/07-18-2024-guardrails-ai-integrations): Available in Phoenix 4.11+ - [09.26.2024: Authentication & RBAC](https://arize.com/docs/phoenix/release-notes/2024/09-26-2024-authentication-and-rbac): Available in Phoenix 5.0+ - [11.18.2024: Prompt playground](https://arize.com/docs/phoenix/release-notes/2024/11-18-2024-prompt-playground): Available in Phoenix 6.0+ - [12.09.2024: Sessions](https://arize.com/docs/phoenix/release-notes/2024/12-09-2024-sessions): Available in Phoenix 7.0+ ### 2026 - [01.17.2026 Phoenix CLI: Terminal Access for AI Coding Assistants](https://arize.com/docs/phoenix/release-notes/01-2026/01-17-2026-phoenix-cli-ai-agent-debugging): Install px CLI to query traces, spans, and experiments from the terminal - [Phoenix 13.0](https://arize.com/docs/phoenix/release-notes/02-2026/02-14-2026-phoenix-13-0): Attach Dataset Evaluators, register custom model providers, and use the OpenAI Responses API - [02.27.2026 Sessions API and CLI Support](https://arize.com/docs/phoenix/release-notes/02-2026/02-27-2026-cli-sessions-and-rest-api): Query sessions via REST API and CLI with filtering, sorting, and pagination support - [03.05.2026 SDK Session Retrieval](https://arize.com/docs/phoenix/release-notes/03-2026/03-05-2026-sdk-session-retrieval): Get and list sessions programmatically from Python and TypeScript - [03.08.2026 New Playground Providers and Project Settings](https://arize.com/docs/phoenix/release-notes/03-2026/03-08-2026-new-playground-providers-and-project-settings): Use Cerebras, Fireworks AI, Groq, and Moonshot in the Playground; edit project settings - [03.11.2026 Session Turns API](https://arize.com/docs/phoenix/release-notes/03-2026/03-11-2026-session-turns-api): Retrieve ordered input/output turns across all traces in a session via Python and TypeScript client - [03.13.2026 List Traces by Project REST API](https://arize.com/docs/phoenix/release-notes/03-2026/03-13-2026-rest-api-improvements): GET /v1/projects/{project_identifier}/traces with filtering, sorting, and pagination - [03.22.2026 px spans CLI Command](https://arize.com/docs/phoenix/release-notes/03-2026/03-22-2026-cli-and-user-api): Fetch and filter spans from the command line; pipe output to scripts and CI pipelines - [03.24.2026 Prompt Version Diff View](https://arize.com/docs/phoenix/release-notes/03-2026/03-24-2026-prompt-version-diff-and-evals-updates): Compare two prompt versions side-by-side with line-level diffs for messages, tools, and content - [03.30.2026 Delete Prompts REST API](https://arize.com/docs/phoenix/release-notes/03-2026/03-30-2026-delete-prompts-api): DELETE /v1/prompts and DELETE /v1/prompt_versions tag endpoints now available - [04.01.2026 get_traces SDK Method and Secrets API](https://arize.com/docs/phoenix/release-notes/04-2026/04-01-2026-get-traces-secrets-api-and-python-314): Retrieve traces programmatically via arize-phoenix-client with cursor-based pagination - [04.03.2026 ATIF Trajectory Upload](https://arize.com/docs/phoenix/release-notes/04-2026/04-03-2026-atif-trajectory-upload): Upload Harbor ATIF agent trajectories as structured Phoenix traces - [04.07.2026 Phoenix v14 Breaking Changes](https://arize.com/docs/phoenix/release-notes/04-2026/04-07-2026-phoenix-v14-breaking-changes): Breaking changes in Phoenix v14.0.0: CLI restructuring, legacy client removal, evaluations endpoint removal - [04.07.2026 PostgreSQL Read Replica Routing](https://arize.com/docs/phoenix/release-notes/04-2026/04-07-2026-postgresql-read-replica): Route read-only queries to a PostgreSQL read replica to reduce load on the primary under high ingestion - [04.10.2026 Shareable Project URLs](https://arize.com/docs/phoenix/release-notes/04-2026/04-10-2026-shareable-url-redirects): Link to Phoenix projects by name without looking up internal IDs - [04.13.2026 @arizeai/phoenix-otel 1.0](https://arize.com/docs/phoenix/release-notes/04-2026/04-13-2026-phoenix-otel-ts-1-0): Import tracing helpers, decorators, context setters, and semantic conventions from one @arizeai/phoenix-otel package - [04.14.2026 CLI Annotation Commands](https://arize.com/docs/phoenix/release-notes/04-2026/04-14-2026-cli-annotation-commands): Write span and trace annotations from the terminal with px span annotate and px trace annotate - [04.16.2026 Azure Managed Identity for PostgreSQL](https://arize.com/docs/phoenix/release-notes/04-2026/04-16-2026-azure-managed-identity-postgres): Connect Phoenix to Azure Database for PostgreSQL using managed identity — no static passwords required - [04.20.2026 Span Attribute Filtering, CLI Notes, and Claude Opus 4.7](https://arize.com/docs/phoenix/release-notes/04-2026/04-20-2026-span-attribute-filter-cli-notes-and-opus-4-7): Filter spans by attributes from Python, TypeScript, REST, and CLI; add span notes with `px span add-note` - [04.22.2026 Secrets Settings Page and Evaluator Trace ID](https://arize.com/docs/phoenix/release-notes/04-2026/04-22-2026-secrets-ui-and-evaluator-trace-id): Manage LLM provider secrets in the UI; pass trace IDs to experiment evaluators for correlation and debugging - [04.24.2026 arize-phoenix-otel 0.16](https://arize.com/docs/phoenix/release-notes/04-2026/04-24-2026-phoenix-otel-python-0-16): Import OpenInference context managers and semantic conventions from phoenix.otel — no second install - [04.24.2026 Trace Notes API](https://arize.com/docs/phoenix/release-notes/04-2026/04-24-2026-trace-notes-api): Add trace notes over REST, the TypeScript client, or the CLI - [04.28.2026 Session Notes API](https://arize.com/docs/phoenix/release-notes/04-2026/04-28-2026-session-notes-api): Add session notes through a dedicated REST endpoint and reserve the note annotation name for session note APIs - [04.29.2026 Dataset Upsert](https://arize.com/docs/phoenix/release-notes/04-2026/04-29-2026-dataset-upsert): Merge examples into an existing dataset by stable ID — `create_dataset` now upserts by default - [04.30.2026 Annotation Enhancements](https://arize.com/docs/phoenix/release-notes/04-2026/04-30-2026-annotation-enhancements): Session annotations and notes in CLI and TypeScript; batch trace annotation writes; filter GET annotation endpoints by identifier - [04.30.2026 CLI Named Auth Profiles](https://arize.com/docs/phoenix/release-notes/04-2026/04-30-2026-cli-auth-profiles): Store named connection profiles with `px profile` commands and switch between Phoenix instances without re-exporting env vars - [05.01.2026 TanStack AI Tracing](https://arize.com/docs/phoenix/release-notes/05-2026/05-01-2026-tanstack-ai-tracing): Instrument TanStack AI chat, tool calls, and agent loops with @arizeai/openinference-tanstack-ai - [05.05.2026 Provider Tools in Playground and Prompts](https://arize.com/docs/phoenix/release-notes/05-2026/05-05-2026-provider-tools): Paste vendor-native tools (web search, code execution, computer use) directly into Playground and Prompts alongside function tools - [05.05.2026 REST API Updates](https://arize.com/docs/phoenix/release-notes/05-2026/05-05-2026-rest-api-updates): Bulk-delete annotations by filter, read token counts in trace and session payloads, export dataset metadata in experiment CSVs - [05.08.2026 OTLP Project Routing via HTTP Header](https://arize.com/docs/phoenix/release-notes/05-2026/05-08-2026-otlp-project-header): Route OTLP traces to a named Phoenix project by setting the x-project-name HTTP header — no resource attribute required - [05.10.2026 Playground Preferences](https://arize.com/docs/phoenix/release-notes/05-2026/05-10-2026-playground-preferences): Save a default provider and model for the Playground; span metrics aside is now always visible on the project page - [05.13.2026 Session Enhancements and Annotation Identifiers](https://arize.com/docs/phoenix/release-notes/05-2026/05-13-2026-session-and-annotations): Expandable session turn messages; note endpoints accept an identifier field for upsert semantics; CLI annotation bulk-delete commands - [05.13.2026 Playground Thinking Controls for Anthropic and Google](https://arize.com/docs/phoenix/release-notes/05-2026/05-13-2026-playground-thinking-controls): Configure Anthropic extended thinking and Google thinking in the Playground — token budgets, effort levels, and display toggles - [05.15.2026 OTel GenAI Semantic Convention Auto-Conversion](https://arize.com/docs/phoenix/release-notes/05-2026/05-15-2026-otel-semconv-conversion): Phoenix auto-converts gen_ai.* OTel attributes to OpenInference at ingest — OTel-native traces render with full message I/O and token counts without code changes - [05.15.2026 Session Trace Feedback and ATIF v1.7](https://arize.com/docs/phoenix/release-notes/05-2026/05-15-2026-session-feedback-and-atif): Thumbs-up/down feedback toolbar on session turns; ATIF v1.7 trajectory upload with embedded subagents and deterministic dispatch steps - [05.21.2026 Code Evaluators](https://arize.com/docs/phoenix/release-notes/05-2026/05-21-2026-code-evaluators): Write Python or TypeScript evaluate() functions in the UI and run them server-side on every experiment - [05.27.2026 Drag-to-Zoom on Project Metric Charts](https://arize.com/docs/phoenix/release-notes/05-2026/05-27-2026-drag-to-zoom): Click and drag across any project metric chart or spans sparkline to zoom into a time window - [06.02.2026 Introducing PXI](https://arize.com/docs/phoenix/release-notes/06-2026/06-02-2026-pxi-agent): Phoenix Intelligence, the built-in AI engineering agent, debuts in beta in arize-phoenix 17.0.0+ - [06.10.2026 PXI Agent Update](https://arize.com/docs/phoenix/release-notes/06-2026/06-10-2026-pxi-agent-update): PXI gains a skills menu, parallel subagents, playground orchestration, evaluator authoring, and dataset management - [06.11.2026 Time Range Selector and PXI Slash Commands](https://arize.com/docs/phoenix/release-notes/06-2026/06-11-2026-time-range-and-pxi-slash-commands): Search presets and type free-form durations in the time range selector; PXI adds local slash commands - [06.16.2026 Time Range, Metrics, and Sharing Upgrades](https://arize.com/docs/phoenix/release-notes/06-2026/06-16-2026-time-range-metrics-and-sharing): Pick ranges from a pan/zoom calendar, share trace URLs, and view annotation metrics in arize-phoenix 17.5.0+ - [06.24.2026 Annotations, Labels, and PXI Server Tools](https://arize.com/docs/phoenix/release-notes/06-2026/06-24-2026-annotations-labels-and-pxi-server-tools): Trace-level annotations in the trace header, label management from prompts and datasets lists, and a server-side bash tool for PXI subagents - [06.26.2026 Evals as Tests — pytest and Vitest/Jest](https://arize.com/docs/phoenix/release-notes/06-2026/06-26-2026-eval-ci-pytest-vitest-jest): Write LLM evaluations as pytest, Vitest, or Jest tests that record every run to Phoenix and gate CI - [06.30.2026 PXI Terminal Client and Annotation Summary](https://arize.com/docs/phoenix/release-notes/06-2026/06-30-2026-pxi-terminal-client-and-annotation-summary): Run PXI as an interactive terminal chat from the CLI; review and bulk-delete annotations from project settings - [07.07.2026: Metric Charts, Trace Search, and REST API Expansion](https://arize.com/docs/phoenix/release-notes/07-2026/07-07-2026-metric-charts-trace-search-and-rest-api): Pin metric charts above data tables, search the trace tree, manage labels and annotation configs over REST, and use Claude Sonnet 5 in the Playground - [07.14.2026: Command Palette, Session Tools, and Table Customization](https://arize.com/docs/phoenix/release-notes/07-2026/07-14-2026-command-palette-sessions-and-tables): Jump anywhere with the ⌘K command palette, reorder table columns, inspect session stats, and use the GPT 5.6 family in the Playground - [07.17.2026: OAuth2 Authorization Server & Remote MCP](https://arize.com/docs/phoenix/release-notes/07-2026/07-17-2026-oauth2-authorization-server): Phoenix 19 becomes its own OAuth2 server with browser-based px CLI login, a built-in Remote MCP server, and REST API-key management - [07.22.2026: MCP Client Setup, Provider Filtering, and User Friction Evals](https://arize.com/docs/phoenix/release-notes/07-2026/07-22-2026-mcp-setup-provider-filter-and-evals): Wire an MCP client with one `px setup mcp` command, scope the Playground picker to provisioned providers, and trace Vercel AI SDK v7 - [07.28.2026: Experiment Charts, Span Downloads, and Root-Span Filters](https://arize.com/docs/phoenix/release-notes/07-2026/07-28-2026-experiment-charts-span-downloads-and-root-span-filters): Chart experiments above the table, download spans as OTLP JSON, filter by root span, and use the Monty sandbox and Claude Opus 5 - [08.04.2026: Chat Completions Proxy, AI Query, and Annotation Charts](https://arize.com/docs/phoenix/release-notes/08-2026/08-04-2026-chat-completions-proxy-ai-query-and-annotation-charts): Proxy OpenAI-compatible chat completions with server-held credentials, write filters in plain English, chart every annotation, and judge hallucination against the conversation - [08.11.2026: Persistent Agent Sessions](https://arize.com/docs/phoenix/release-notes/08-2026/08-11-2026-persistent-agent-sessions): Agent conversations persist server-side — browse, restore, rewind, branch, and compact them from the browser or the pxi terminal client - [08.12.2026: Session Filter Expressions, REST API Expansion, and Endpoint Configuration](https://arize.com/docs/phoenix/release-notes/08-2026/08-12-2026-session-filters-rest-api-and-endpoint-config): Filter sessions with a full expression language, manage dataset splits and experiment tags over REST, transfer traces between projects, and point every SDK at PHOENIX_ENDPOINT - [08.17.2026: Trace Filter Expressions and Analytics SQL](https://arize.com/docs/phoenix/release-notes/08-2026/08-17-2026-trace-filters-and-analytics-sql): Filter the traces table with a full expression language and query Phoenix with read-only SQL over MCP - [08.25.2026: Smarter PXI Workflows and Retrieval Evaluation](https://arize.com/docs/phoenix/release-notes/08-2026/08-25-2026-pxi-browser-actions-and-retrieval-relevance): Run approval-gated multi-step PXI workflows across the UI and score retrievals from any source - [09.01.2026: GitHub Issues from PXI, PII Detection, and Client Updates](https://arize.com/docs/phoenix/release-notes/09-2026/09-01-2026-github-issues-pii-detection-and-client-updates): File GitHub issues from PXI, screen conversations for PII, and create prompt versions over REST - [09.08.2026: New Model Providers, Trace Filters, and PXI Updates](https://arize.com/docs/phoenix/release-notes/09-2026/09-08-2026-model-providers-trace-filters-and-pxi): Run Z.ai, MiniMax, and Meta models in the Playground and PXI; filter traces by error status and latency ### 2025 - [01.18.2025: Automatic & manual span tracing](https://arize.com/docs/phoenix/release-notes/01-2025/01-18-2025-automatic-and-manual-span-tracing): Available in Phoenix 7.9+ - [02.18.2025: One line instrumentation](https://arize.com/docs/phoenix/release-notes/02-2025/02-18-2025-one-line-instrumentation): Available in Phoenix 8.0+ - [02.19.2025: Prompts](https://arize.com/docs/phoenix/release-notes/02-2025/02-19-2025-prompts): Available in Phoenix 8.0+ - [03.06.2025: Project improvements](https://arize.com/docs/phoenix/release-notes/03-2025/03-06-2025-project-improvements): Available in Phoenix 8.5+ - [03.07.2025: Model config enhancements for prompts](https://arize.com/docs/phoenix/release-notes/03-2025/03-07-2025-model-config-enhancements-for-prompts): Available in Phoenix 8.11+ - [03.07.2025: New prompt playground, evals, and integration support](https://arize.com/docs/phoenix/release-notes/03-2025/03-07-2025-new-prompt-playground-evals-and-integration-support): Available in Phoenix 8.9+ - [03.14.2025: OpenAI agents instrumentation](https://arize.com/docs/phoenix/release-notes/03-2025/03-14-2025-openai-agents-instrumentation): Available in Phoenix 8.13+ - [03.18.2025: Resize span, trace, and session tables](https://arize.com/docs/phoenix/release-notes/03-2025/03-18-2025-resize-span-trace-and-session-tables): Available in Phoenix 8.14+ - [03.19.2025: Access to new integrations in projects](https://arize.com/docs/phoenix/release-notes/03-2025/03-19-2025-access-to-new-integrations-in-projects): Available in Phoenix 8.15+ - [03.20.2025: Delete experiment from action menu](https://arize.com/docs/phoenix/release-notes/03-2025/03-20-2025-delete-experiment-from-action-menu): Available in Phoenix 8.19+ - [03.21.2025: Environment variable based admin user configuration](https://arize.com/docs/phoenix/release-notes/03-2025/03-21-2025-environment-variable-based-admin-user-configuration): Available in Phoenix 8.17+ - [03.24.2025: Tracing configuration tab](https://arize.com/docs/phoenix/release-notes/03-2025/03-24-2025-tracing-configuration-tab): Available in Phoenix 8.19+ - [03.27.2025 span view improvements](https://arize.com/docs/phoenix/release-notes/03-2025/03-27-2025-span-view-improvements): Available in Phoenix 8.20+ - [04.01.2025: Support for MCP span tool info in OpenAI agents SDK](https://arize.com/docs/phoenix/release-notes/04-2025/04-01-2025-support-for-mcp-span-tool-info-in-openai-agents-sdk): Available in Phoenix 8.20+ - [04.02.2025 improved span annotation editor](https://arize.com/docs/phoenix/release-notes/04-2025/04-02-2025-improved-span-annotation-editor): Available in Phoenix 8.21+ - [04.03.2025: Phoenix client prompt tagging](https://arize.com/docs/phoenix/release-notes/04-2025/04-03-2025-phoenix-client-prompt-tagging): Available in Phoenix 8.22+ - [04.09.2025: New REST API for projects with RBAC](https://arize.com/docs/phoenix/release-notes/04-2025/04-09-2025-new-rest-api-for-projects-with-rbac): Available in Phoenix 8.23+ - [04.09.2025: Project management API enhancements](https://arize.com/docs/phoenix/release-notes/04-2025/04-09-2025-project-management-api-enhancements): Available in Phoenix 8.24+ - [04.15.2025: Display tool call and result ids in span details](https://arize.com/docs/phoenix/release-notes/04-2025/04-15-2025-display-tool-call-and-result-ids-in-span-details): Available in Phoenix 8.25+ - [04.16.2025: API key generation via API](https://arize.com/docs/phoenix/release-notes/04-2025/04-16-2025-api-key-generation-via-api): Available in Phoenix 8.26+ - [04.18.2025: Tracing for MCP client server applications](https://arize.com/docs/phoenix/release-notes/04-2025/04-18-2025-tracing-for-mcp-client-server-applications): Available in Phoenix 8.26+ - [04.25.2025: Scroll selected span into view](https://arize.com/docs/phoenix/release-notes/04-2025/04-25-2025-scroll-selected-span-into-view): Available in Phoenix 8.27+ - [04.28.2025: Improved shutdown handling](https://arize.com/docs/phoenix/release-notes/04-2025/04-28-2025-improved-shutdown-handling): Available in Phoenix 8.28+ - [04.28.2025: TLS support for Phoenix server](https://arize.com/docs/phoenix/release-notes/04-2025/04-28-2025-tls-support-for-phoenix-server): Available in Phoenix 8.29+ - [04.30.2025: Span querying & data extraction for Phoenix client](https://arize.com/docs/phoenix/release-notes/04-2025/04-30-2025-span-querying-and-data-extraction-for-phoenix-client): Available in Phoenix 8.30+ - [05.05.2025: OpenInference Google GenAI instrumentation](https://arize.com/docs/phoenix/release-notes/05-2025/05-05-2025-openinference-google-genai-instrumentation): Auto-instrument the Google GenAI Python SDK with openinference-instrumentation-google-genai - [05.09.2025: Annotations, data retention policies, hotkeys](https://arize.com/docs/phoenix/release-notes/05-2025/05-09-2025-annotations-data-retention-policies-hotkeys): Available in Phoenix 9.0.0+ - [05.14.2025: Experiments in the JS client](https://arize.com/docs/phoenix/release-notes/05-2025/05-14-2025-experiments-in-the-js-client): Run experiments from @arizeai/phoenix-client with traced tasks, evaluators, and async concurrency - [05.20.2025: Datasets and experiment evaluations in the JS client](https://arize.com/docs/phoenix/release-notes/05-2025/05-20-2025-datasets-and-experiment-evaluations-in-the-js-client): Call getExperiment, evaluateExperiment, createDataset, and appendDatasetExamples from the JS client - [05.30.2025: XAI and deepseek support in playground](https://arize.com/docs/phoenix/release-notes/05-2025/05-30-2025-xai-and-deepseek-support-in-playground): Available in Phoenix 10.5+ - [06.03.2025: Deploy via helm](https://arize.com/docs/phoenix/release-notes/06-2025/06-03-2025-deploy-via-helm): Available in Phoenix 10.6+ - [06.04.2025: Ollama support in playground](https://arize.com/docs/phoenix/release-notes/06-2025/06-04-2025-ollama-support-in-playground): Available in Phoenix 10.7+ - [06.06.2025: Experiment progress graph](https://arize.com/docs/phoenix/release-notes/06-2025/06-06-2025-experiment-progress-graph): Available in Phoenix 10.9+ - [06.12.2025: Dataset filtering](https://arize.com/docs/phoenix/release-notes/06-2025/06-12-2025-dataset-filtering): Available in Phoenix 10.11+ - [06.13.2025: Enhanced span creation and logging](https://arize.com/docs/phoenix/release-notes/06-2025/06-13-2025-enhanced-span-creation-and-logging): Available in Phoenix 10.12+ - [06.13.2025: Session filtering](https://arize.com/docs/phoenix/release-notes/06-2025/06-13-2025-session-filtering): Available in Phoenix 10.12+ - [06.25.2025: Amazon Bedrock support in playground](https://arize.com/docs/phoenix/release-notes/06-2025/06-25-2025-amazon-bedrock-support-in-playground): Available in Phoenix 10.15+ - [06.25.2025: Cost tracking](https://arize.com/docs/phoenix/release-notes/06-2025/06-25-2025-cost-tracking): Available in Phoenix 11.0+ - [07.02.2025: Cursor MCP button](https://arize.com/docs/phoenix/release-notes/07-2025/07-02-2025-cursor-mcp-button): Available in Phoenix 11.3+ - [07.03.2025: Cost summaries in trace headers](https://arize.com/docs/phoenix/release-notes/07-2025/07-03-2025-cost-summaries-in-trace-headers): Available in Phoenix 11.4+ - [07.07.2025: Database disk usage monitor](https://arize.com/docs/phoenix/release-notes/07-2025/07-07-2025-databse-disk-usage-monitor): Available in Phoenix 11.5+ - [07.09.2025: Baseline for experiment comparisons](https://arize.com/docs/phoenix/release-notes/07-2025/07-09-2025-baseline-for-experiment-comparisons): Available in Phoenix 11.4+ - [07.13.2025: Experiments module in phoenix-client](https://arize.com/docs/phoenix/release-notes/07-2025/07-13-2025-experiments-module-in-phoenix-client): Available in Phoenix 11.7+ - [07.18.2025: OpenInference Java](https://arize.com/docs/phoenix/release-notes/07-2025/07-18-2025-openinference-java): Trace Java AI applications with openinference-semantic-conventions and OpenTelemetry - [07.21.2025: Project and trace management via GraphQL](https://arize.com/docs/phoenix/release-notes/07-2025/07-21-2025-project-and-trace-management-via-graphql): Available in Phoenix 11.9+ - [07.25.2025: Average metrics in experiment comparison table](https://arize.com/docs/phoenix/release-notes/07-2025/07-25-2025-average-metrics-in-experiment-comparison-table): Available in Phoenix 11.12+ - [07.25.2025: Project dashboards](https://arize.com/docs/phoenix/release-notes/07-2025/07-25-2025-project-dashboards): Available in Phoenix 11.12+ - [07.29.2025: Google GenAI evals](https://arize.com/docs/phoenix/release-notes/07-2025/07-29-2025-google-genai-evals): Evaluate text, image, and audio with GoogleGenAIModel in phoenix-evals - [08.03.2025: Delete Spans via REST API](https://arize.com/docs/phoenix/release-notes/08-2025/08-03-2025-delete-spans-via-rest-api): Available in Phoenix 11.19+ - [08.04.2025: Manual Project Creation & Trace Duplication](https://arize.com/docs/phoenix/release-notes/08-2025/08-04-2025-manual-project-creation-and-trace-duplication): Available in Phoenix 11.19+ - [08.05.2025: Claude Opus 4-1 Support](https://arize.com/docs/phoenix/release-notes/08-2025/08-05-2025-claude-opus-4-1-support): Available in Phoenix 11.19+ - [08.06.2025: Expanded Search Capabilities](https://arize.com/docs/phoenix/release-notes/08-2025/08-06-2025-expanded-search-capabilities): Available in Phoenix 11.19+ - [08.07.2025: Improved Error Handling in Prompt Playground](https://arize.com/docs/phoenix/release-notes/08-2025/08-07-2025-improved-error-handling-in-prompt-playground): Available in Phoenix 11.20+ - [08.09.2025: Playground Support for GPT-5](https://arize.com/docs/phoenix/release-notes/08-2025/08-09-2025-playground-support-for-gpt-5): Available in Phoenix 11.21+ - [08.12.2025: UI Design Overhauls](https://arize.com/docs/phoenix/release-notes/08-2025/08-12-2025-ui-design-overhauls): Available in Phoenix 11.22+ - [08.14.2025: Trace Transfer for Long-Term Storage](https://arize.com/docs/phoenix/release-notes/08-2025/08-14-2025-trace-transfer-for-long-term-storage): Available in Phoenix 11.23+ - [08.15.2025: Enhance Experiment Comparison Views](https://arize.com/docs/phoenix/release-notes/08-2025/08-15-2025-enhance-experiment-comparison-views): Available in Phoenix 11.24+ - [08.20.2025: New Experiment and Annotation Quick Filters](https://arize.com/docs/phoenix/release-notes/08-2025/08-20-2025-new-experiment-and-annotation-quick-filters): Available in Phoenix 11.25+ - [08.22.2025: New Trace Timeline View](https://arize.com/docs/phoenix/release-notes/08-2025/08-22-2025-new-trace-timeline-view): Available in Phoenix 11.26+ - [08.28.2025: New arize-phoenix-client Package](https://arize.com/docs/phoenix/release-notes/08-2025/08-28-2025-new-arize-phoenix-client-package): Manage datasets, experiments, prompts, and spans without installing the full arize-phoenix server - [09.03.2025: Add Methods to Log Document Annotations](https://arize.com/docs/phoenix/release-notes/09-2025/09-03-2025-add-methods-to-log-document-annotations): Available in Phoenix 11.31+ - [09.04.2025: Experiment Lists Page Frontend Enhancements](https://arize.com/docs/phoenix/release-notes/09-2025/09-04-2025-experiment-lists-page-frontend-enhancements): Available in Phoenix 11.32+ - [09.08.2025: Experiment Annotation Popover in Detail View](https://arize.com/docs/phoenix/release-notes/09-2025/09-08-2025-experiment-annotation-popover-in-detail-view): Available in Phoenix 11.33+ - [09.12.2025: Enable Paging in Experiment Compare Details](https://arize.com/docs/phoenix/release-notes/09-2025/09-12-2025-enable-paging-in-experiment-compare-details): Available in Phoenix 11.33+ - [09.15.2025: Prompt Labels](https://arize.com/docs/phoenix/release-notes/09-2025/09-15-2025-prompt-labels): Available in Phoenix 11.33+ - [09.17.2025: Experiment compare details slideover in list view](https://arize.com/docs/phoenix/release-notes/09-2025/09-17-2025-experiment-compare-details-slideover-in-list-view): Available in Phoenix 11.34+ - [09.22.2025: Helm configurable image registry & IPv6 support](https://arize.com/docs/phoenix/release-notes/09-2025/09-22-2025-helm-configurable-image-registry-and-ipv6-support): Available in Phoenix 11.35+ - [09.23.2025: Repetitions in experiment compare slideover](https://arize.com/docs/phoenix/release-notes/09-2025/09-23-2025-repetitions-in-experiment-compare-slideover): Available in Phoenix 11.35+ - [09.24.2025: Custom HTTP headers for requests in Playground](https://arize.com/docs/phoenix/release-notes/09-2025/09-24-2025-custom-http-headers-for-requests-in-playground): Available in Phoenix 11.36+ - [09.25.2025: Repetitions](https://arize.com/docs/phoenix/release-notes/09-2025/09-25-2025-repetitions): Available in Phoenix 11.38+ - [09.26.2025: Session Annotations](https://arize.com/docs/phoenix/release-notes/09-2025/09-26-2025-session-annotations): Available in Phoenix 12.0+ - [09.27.2025: Dataset Splits](https://arize.com/docs/phoenix/release-notes/09-2025/09-27-2025-dataset-splits): Available in Phoenix 12.0+ - [09.29.2025: Day 0 Support for Claude Sonnet 4.5](https://arize.com/docs/phoenix/release-notes/09-2025/09-29-2025-day-0-support-for-claude-sonnet-4.5): Available in Phoenix 12.1+ - [10.03.2025: Prompt Version Editing in Playground](https://arize.com/docs/phoenix/release-notes/10-2025/10-03-2025-prompt-version-editing-in-playground): Available in Phoenix 12.2+ - [10.05.2025: Load Prompt by Tag into Playground](https://arize.com/docs/phoenix/release-notes/10-2025/10-05-2025-load-prompt-by-tag-into-playground): Available in Phoenix 12.2+ - [10.06.2025: Paginate Compare Experiments](https://arize.com/docs/phoenix/release-notes/10-2025/10-06-2025-paginate-compare-experiments): Available in Phoenix 12.3+ - [10.08.2025: Dataset Labels](https://arize.com/docs/phoenix/release-notes/10-2025/10-08-2025-dataset-labels): Available in Phoenix 12.3+ - [10.10.2025: Viewer Role](https://arize.com/docs/phoenix/release-notes/10-2025/10-10-2025-viewer-role): Available in Phoenix 12.5+ - [10.13.2025: View Traces in Compare Experiments](https://arize.com/docs/phoenix/release-notes/10-2025/10-13-2025-view-traces-in-compare-experiments): Available in Phoenix 12.5+ - [10.15.2025: Enhanced Filtering for Examples Table](https://arize.com/docs/phoenix/release-notes/10-2025/10-15-2025-enhanced-filtering-for-examples-table): Available in Phoenix 12.5+ - [10.18.2025: Filter Annotations in Compare Experiments Slideover](https://arize.com/docs/phoenix/release-notes/10-2025/10-18-2025-filter-annotations-in-compare-experiments-slideover): Available in Phoenix 12.7+ - [10.20.2025: Splits ䷖](https://arize.com/docs/phoenix/release-notes/10-2025/10-20-2025-splits): Available in Phoenix 12.7+ - [10.24.2025: Filter Prompts Page by Label](https://arize.com/docs/phoenix/release-notes/10-2025/10-24-2025-filter-prompts-page-by-label): Available in Phoenix 12.7+ - [10.26.2025: Add Split Edit Menu to Examples ䷖](https://arize.com/docs/phoenix/release-notes/10-2025/10-26-2025-add-split-edit-menu-to-examples): Available in Phoenix 12.8+ - [10.28.2025: Enable AWS IAM Auth for DB Configuration](https://arize.com/docs/phoenix/release-notes/10-2025/10-28-2025-enable-aws-iam-auth-for-db-configuration): Available in Phoenix 12.9+ - [10.30.2025: Metadata Support for Experiment Run Annotations](https://arize.com/docs/phoenix/release-notes/10-2025/10-30-2025-metadata-support-for-experiment-run-annotations): Available in Phoenix 12.9+ - [11.01.2025: Resume Experiments and Evaluations](https://arize.com/docs/phoenix/release-notes/11-2025/11-01-2025-resume-experiments-and-evaluations): Available in Phoenix 12.10+ - [11.03.2025: Playground Dataset Label Display](https://arize.com/docs/phoenix/release-notes/11-2025/11-03-2025-playground-dataset-label-display): Available in Phoenix 12.10+ - [11.05.2025: Metadata for Prompts](https://arize.com/docs/phoenix/release-notes/11-2025/11-05-2025-metadata-for-prompts): Available in Phoenix 12.10+ - [11.07.2025: Timezone Preference](https://arize.com/docs/phoenix/release-notes/11-2025/11-07-2025-timezone-preference): Available in Phoenix 12.11+ - [11.09.2025 OpenInference TypeScript 2.0](https://arize.com/docs/phoenix/release-notes/11-2025/11-09-2025-openinference-typescript-2-0): Instrument TypeScript manually with the @observe decorator, chain/agent/tool wrappers, and attribute helpers - [11.12.2025: Updated Anthropic Model List](https://arize.com/docs/phoenix/release-notes/11-2025/11-12-2025-updated-anthropic-model-list): Available in Phoenix 12.15+ - [11.19.2025: Expanded Provider Support with OpenAI 5.1 and Gemini 3](https://arize.com/docs/phoenix/release-notes/11-2025/11-19-2025-expanded-provider-support-with-openai-5-1-+-gemini-3): OpenAI v5.1 compatibility with reasoning, Gemini 3 model support in Phoenix 12.15+ - [11.23.2025: Repetitions for Manual Playground Invocations](https://arize.com/docs/phoenix/release-notes/11-2025/11-23-2025-repetitions-for-manual-playground-invocations): Available in Phoenix 12.17+ - [11.25.2025: Split Assignments When Uploading a Dataset](https://arize.com/docs/phoenix/release-notes/11-2025/11-25-2025-split-assignments-when-uploading-a-dataset): Available in Phoenix 12.18+ - [11.27.2025: Show Server Credential Setup in Playground API Keys](https://arize.com/docs/phoenix/release-notes/11-2025/11-27-2025-show-server-credential-setup-in-playground-api-keys): Available in Phoenix 12.18+ - [11.29.2025: Add support for Claude Opus 4-5](https://arize.com/docs/phoenix/release-notes/11-2025/11-29-2025-add-support-for-claude-opus-4-5): Available in Phoenix 12.18+ - [12.01.2025: Splits on Experiments Table](https://arize.com/docs/phoenix/release-notes/12-2025/12-01-2025-splits-on-experiments-table): Available in Phoenix 12.20+ - [12.03.2025: TypeScript createEvaluator](https://arize.com/docs/phoenix/release-notes/12-2025/12-03-2025-typescript-create-evaluator): Available in @arizeai/phoenix-evals 2.0+ - [12.04.2025: Evaluator Message Formats](https://arize.com/docs/phoenix/release-notes/12-2025/12-04-2025-evaluator-message-formats): Available in phoenix-evals 0.22+ (Python) and @arizeai/phoenix-evals 2.0+ (TypeScript) - [12.06.2025: LDAP Authentication Support](https://arize.com/docs/phoenix/release-notes/12-2025/12-06-2025-ldap-authentication-support): Available in Phoenix 12.20+ - [12.09.2025: Span Notes API](https://arize.com/docs/phoenix/release-notes/12-2025/12-09-2025-span-notes-api): Available in Phoenix 12.21+ - [12.12.2025: Support for Gemini Tool Calls](https://arize.com/docs/phoenix/release-notes/12-2025/12-12-2025-support-for-gemini-tool-calls): Available in Phoenix 12.25+ - [12.20.2025: Improved User Preferences](https://arize.com/docs/phoenix/release-notes/12-2025/12-20-2025-improved-user-preferences): Available in Phoenix 12.27+