Don't see an integration you were looking for? We'd love to hear from you!
Phoenix has a wide range of integrations. Generally these fall into a few categories:
Tracing integrations - where Phoenix will capture traces of applications built using a specific library.
Eval Model integrations - where Phoenix's eval python package will make calls to a specific model.
E.g. OpenAI, Anthropic, Google VertexAI, Mistral
Each partner listing in this section contains integration docs and relevant tutorials.
Amazon Bedrock is a managed service that provides access to top AI models for building scalable applications.
Website: https://aws.amazon.com/bedrock/
Instrument LLM calls to AWS Bedrock via the boto3 client using the BedrockInstrumentor
boto3 provides Python bindings to AWS services, including Bedrock, which provides access to a number of foundation models. Calls to these models can be instrumented using OpenInference, enabling OpenTelemetry-compliant observability of applications built using these models. Traces collected using OpenInference can be viewed in Phoenix.
OpenInference Traces collect telemetry data about the execution of your LLM application. Consider using this instrumentation to understand how a Bedrock-managed models are being called inside a complex system and to troubleshoot issues such as extraction and response synthesis.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details.
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Connect to your Phoenix instance using the register function.
After connecting to your Phoenix server, instrument boto3
prior to initializing a bedrock-runtime
client. All clients created after instrumentation will send traces on all calls to invoke_model
.
From here you can run Bedrock as normal
Now that you have tracing setup, all calls to invoke_model will be streamed to your running Phoenix for observability and evaluation.
Configure and run Bedrock for evals
Instrument LLM calls to AWS Bedrock via the boto3 client using the BedrockInstrumentor
Amazon Bedrock Agents allow you to easily define, deploy, and manage agents on your AWS infrastructure. Traces on invocations of these agents can be captured using OpenInference and viewed in Phoenix.
This instrumentation will capture data on LLM calls, action group invocations (as tools), knowledgebase lookups, and more.
Connect to your Phoenix instance using the register function.
After connecting to your Phoenix server, instrument boto3
prior to initializing a bedrock-runtime
client. All clients created after instrumentation will send traces on all calls to invoke_model
, invoke_agent
, and their streaming variations.
From here you can run Bedrock as normal
Now that you have tracing setup, all calls will be streamed to your running Phoenix for observability and evaluation.
Anthropic is an AI research company that develops LLMs, including Claude, with a focus on alignment and reliable behavior.
Anthropic is a leading provider for state-of-the-art LLMs. The Anthropic SDK can be instrumented using the openinference-instrumentation-anthropic
package.
Use the register function to connect your application to Phoenix:
A simple Anthropic application that is now instrumented
Now that you have tracing setup, all invocations of pipelines will be streamed to your running Phoenix for observability and evaluation.
Configure and run Anthropic for evals
Google GenAI is a suite of AI tools and models from Google Cloud, designed to help businesses build, deploy, and scale AI applications.
Instrument LLM calls made using the Google Gen AI Python SDK
Set the GEMINI_API_KEY
environment variable. To use the GenAI SDK with Vertex AI instead of the Developer API, refer to Google's guide on setting the required environment variables.
Use the register function to connect your application to Phoenix.
Now that you have tracing setup, all GenAI SDK requests will be streamed to Phoenix for observability and evaluation.
Configure and run Gemini for evals
LiteLLM is an open-source platform that provides a unified interface to manage and access over 100 LLMs from various providers.
LiteLLM allows developers to call all LLM APIs using the openAI format. LiteLLM Proxy is a proxy server to call 100+ LLMs in OpenAI format. Both are supported by this auto-instrumentation.
Any calls made to the following functions will be automatically captured by this integration:
completion()
acompletion()
completion_with_retries()
embedding()
aembedding()
image_generation()
aimage_generation()
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Use the register function to connect your application to Phoenix:
Add any API keys needed by the models you are using with LiteLLM.
You can now use LiteLLM as normal and calls will be traces in Phoenix.
Traces should now be visible in Phoenix!
Configure and run LiteLLM for evals
You can choose among multiple models supported by LiteLLM. Make sure you have set the right environment variables set prior to initializing the model. For additional information about the environment variables for specific model providers visit: LiteLLM provider specific params
Here is an example of how to initialize LiteLLMModel
for llama3 using ollama.
Mistral AI develops open-weight large language models, focusing on efficiency, customization, and cost-effective AI solutions.
Instrument LLM calls made using MistralAI's SDK via the MistralAIInstrumentor
MistralAI is a leading provider for state-of-the-art LLMs. The MistralAI SDK can be instrumented using the openinference-instrumentation-mistralai
package.
Set the MISTRAL_API_KEY
environment variable to authenticate calls made using the SDK.
Connect to your Phoenix instance using the register function.
Now that you have tracing setup, all invocations of Mistral (completions, chat completions, embeddings) will be streamed to your running Phoenix for observability and evaluation.
Groq provides ultra-low latency inference for LLMs through its custom-built LPU™ architecture.
Instrument LLM applications built with Groq
Groq provides low latency and lightning-fast inference for AI models. Arize supports instrumenting Groq API calls, including role types such as system, user, and assistant messages, as well as tool use. You can create a free GroqCloud account and generate a Groq API Key here to get started.
Connect to your Phoenix instance using the register function.
A simple Groq application that is now instrumented
Now that you have tracing setup, all invocations of pipelines will be streamed to your running Phoenix for observability and evaluation.
OpenAI provides state-of-the-art LLMs for natural language understanding and generation.
Phoenix provides auto-instrumentation for the OpenAI Python Library.
We have several code samples below on different ways to integrate with OpenAI, based on how you want to use Phoenix.
Add your OpenAI API key as an environment variable:
Use the register function to connect your application to Phoenix:
Now that you have tracing setup, all invocations of OpenAI (completions, chat completions, embeddings) will be streamed to your running Phoenix for observability and evaluation.
Configure and run OpenAI for evals
To authenticate with OpenAI you will need, at a minimum, an API key. The model class will look for it in your environment, or you can pass it via argument as shown above. In addition, you can choose the specific name of the model you want to use and its configuration parameters. The default values specified above are common default values from OpenAI. Quickly instantiate your model as follows:
The code snippet below shows how to initialize OpenAIModel
for Azure:
Azure OpenAI supports specific options:
For full details on Azure OpenAI, check out the OpenAI Documentation
Use Phoenix and OpenAI Agents SDK for powerful multi-agent tracing
We have several code samples below on different ways to integrate with OpenAI, based on how you want to use Phoenix.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Add your OpenAI API key as an environment variable:
Use the register function to connect your application to Phoenix:
Run your agents
code.
View your traces in Phoenix.
This module provides automatic instrumentation for the OpenAI Node.js SDK. which may be used in conjunction with @opentelemetry/sdk-trace-node.
To load the OpenAI instrumentation, specify it in the registerInstrumentations call along with any additional instrumentation you wish to enable.
Instrumentation version >1.0.0 supports both attribute masking and context attribute propagation to spans.
Vertex AI is a fully managed platform by Google Cloud for building, deploying, and scaling machine learning models.
Instrument LLM calls made using VertexAI's SDK via the VertexAIInstrumentor
The VertexAI SDK can be instrumented using the openinference-instrumentation-vertexai
package.
See Google's guide on setting up your environment for the Google Cloud AI Platform. You can also store your Project ID in the CLOUD_ML_PROJECT_ID
environment variable.
Use the register function to connect your application to Phoenix:
Now that you have tracing setup, all invocations of Vertex models will be streamed to your running Phoenix for observability and evaluation.
Configure and run VertexAI for evals
Agno is an open-source Python framework for building lightweight, model-agnostic AI agents with built-in memory, knowledge, tools, and reasoning capabilities
Website: https://www.agno.com/
Phoenix provides seamless observability and tracing for Agno agents through the OpenInference instrumentation package. This integration automatically captures agent interactions, tool usage, reasoning steps, and multi-agent conversations, giving you complete visibility into your Agno applications. Monitor performance, debug issues, and evaluate agent behavior in real-time as your agents execute complex workflows and collaborate in teams.
Agno is a lightweight, high-performance Python framework for building AI agents with tools, memory, and reasoning capabilities. It enables developers to create autonomous agents that can perform complex tasks, access knowledge bases, and collaborate in multi-agent teams. With support for 23+ model providers and lightning-fast performance (~3μs instantiation), Agno is designed for production-ready AI applications.
Model Agnostic: Connect to OpenAI, Anthropic, Google, and 20+ other providers
Lightning Fast: Agents instantiate in ~3μs with minimal memory footprint
Built-in Reasoning: First-class support for chain-of-thought and reasoning models
Multi-Modal: Native support for text, image, audio, and video processing
Agentic RAG: Advanced retrieval-augmented generation with hybrid search
Multi-Agent Teams: Coordinate multiple agents for complex workflows
Production Ready: Pre-built FastAPI routes and monitoring capabilities
Use the register function to connect your application to Phoenix:
Now that you have tracing setup, all invocations of Agno agents will be streamed to Phoenix for observability and evaluation.
AutoGen is an open-source Python framework for orchestrating multi-agent LLM interactions with shared memory and tool integrations to build scalable AI workflows
Website: https://microsoft.github.io/autogen/stable/
AutoGen is an agent framework from Microsoft that allows for complex Agent creation. It is unique in its ability to create multiple agents that work together.
The AutoGen Agent framework allows creation of multiple agents and connection of those agents to work together to accomplish tasks.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Phoenix instruments Autogen by instrumenting the underlying model library it's using. If your agents are set up to call OpenAI, use our OpenAI instrumentor per the example below.
If your agents are using a different model, be sure to instrument that model instead by installing its respective OpenInference library.
Connect to your Phoenix instance using the register function.
From here you can use Autogen as normal, and Phoenix will automatically trace any model calls made.
The Phoenix support is simple in its first incarnation but allows for capturing all of the prompt and responses that occur under the framework between each agent.
The individual prompt and responses are captured directly through OpenAI calls. If you're using a different underlying model provider than OpenAI, instrument your application using the respective instrumentor instead.
BeeAI is an open-source platform that enables developers to discover, run, and compose AI agents from any framework, facilitating the creation of interoperable multi-agent systems
This module provides automatic instrumentation for BeeAI framework. It integrates seamlessly with the @opentelemetry/sdk-trace-node package to collect and export telemetry data.
To instrument your application, import and enable BeeAIInstrumentation
Create the instrumentation.js
file:
Import the library and call the BeeAI framework
For more information on OpenTelemetry Node.js SDK, see the OpenTelemetry Node.js SDK documentation.
CrewAI is an open-source Python framework for orchestrating role-playing, autonomous AI agents into collaborative “crews” and “flows,” combining high-level simplicity with fine-grained control.
Instrument multi agent applications using CrewAI
Sign up for Phoenix:
Install packages:
Set your Phoenix endpoint and API Key:
Launch your local Phoenix instance:
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
CrewAI uses either Langchain or LiteLLM under the hood to call models, depending on the version.
If you're using CrewAI<0.63.0, we recommend installing our openinference-instrumentation-langchain
library to get visibility of LLM calls.
If you're using CrewAI>= 0.63.0, we recommend instead adding our openinference-instrumentation-litellm
library to get visibility of LLM calls.
Connect to your Phoenix instance using the register function.
From here, you can run CrewAI as normal
Now that you have tracing setup, all calls to your Crew will be streamed to your running Phoenix for observability and evaluation.
DSPy is an open-source Python framework for declaratively programming modular LLM pipelines and automatically optimizing prompts and model weights
Instrument and observe your DSPy application via the DSPyInstrumentor
DSPy is a framework for automatically prompting and fine-tuning language models. It provides composable and declarative APIs that allow developers to describe the architecture of their LLM application in the form of a "module" (inspired by PyTorch's nn.Module
). It them compiles these modules using "teleprompters" that optimize the module for a particular task. The term "teleprompter" is meant to evoke "prompting at a distance," and could involve selecting few-shot examples, generating prompts, or fine-tuning language models.
Phoenix makes your DSPy applications observable by visualizing the underlying structure of each call to your compiled DSPy module.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Connect to your Phoenix instance using the register function.
Now run invoke your compiled DSPy module. Your traces should appear inside of Phoenix.
Now that you have tracing setup, all predictions will be streamed to your running Phoenix for observability and evaluation.
Flowise is a low-code platform for building customized chatflows and agentflows.
Website: flowiseai.com
Analyzing and troubleshooting what happens under the hood can be challenging without proper insights. By integrating your Flowise application with Phoenix, you can monitor traces and gain robust observability into your chatflows and agentflows.
Access Configurations: Navigate to settings in your chatflow or agentflow and find configurations.
Connect to Phoenix: Go to the Analyze Chatflow tab and configure your application with Phoenix. Get your API key from your Phoenix instance to create your credentials. Be sure to name your project and confirm that the Phoenix toggle is enabled before saving.
Note: If you are using using an environment that is not Phoenix Cloud, you may need to modify the Endpoint field.
View Traces: In Phoenix, you will find your project under the Projects tab. Click into this to view and analyze traces as you test your application.
Store and Experiment: Optionally, you can also filter traces, store traces in a dataset to run experiments, analyze patterns, and optimize your workflows over time.
You can also reference Flowise documentation here.
Guardrails is an open-source Python framework for adding programmable input/output validators to LLM applications, ensuring safe, structured, and compliant model interactions
Instrument LLM applications that use the Guardrails AI framework
In this example we will instrument a small program that uses the Guardrails AI framework to protect their LLM calls.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Connect to your Phoenix instance using the register function.
From here, you can run Guardrails as normal:
Now that you have tracing setup, all invocations of underlying models used by Guardrails (completions, chat completions, embeddings) will be streamed to your running Phoenix for observability and evaluation. Additionally, Guards will be present as a new span kind in Phoenix.
Haystack is an open-source framework for building scalable semantic search and QA pipelines with document indexing, retrieval, and reader components
Instrument LLM applications built with Haystack
Phoenix provides auto-instrumentation for Haystack
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Use the register function to connect your application to Phoenix:
From here, you can set up your Haystack app as normal:
Now that you have tracing setup, all invocations of pipelines will be streamed to your running Phoenix for observability and evaluation.
Hugging Face smolagents is a minimalist Python library for building powerful AI agents with simple abstractions, tool integrations, and flexible LLM support
How to use the SmolagentsInstrumentor to trace smolagents by Hugging Face
smolagents is a minimalist AI agent framework developed by Hugging Face, designed to simplify the creation and deployment of powerful agents with just a few lines of code. It focuses on simplicity and efficiency, making it easy for developers to leverage large language models (LLMs) for various applications.
Phoenix provides auto-instrumentation, allowing you to track and visualize every step and call made by your agent.
We have several code samples below on different ways to integrate with smolagents, based on how you want to use Phoenix.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Add your HF_TOKEN
as an environment variable:
Connect to your Phoenix instance using the register function.
Create your Hugging Face Model, and at every run, traces will be sent to Phoenix.
Now that you have tracing setup, all invocations and steps of your Agent will be streamed to your running Phoenix for observability and evaluation.
Instructor is a library that helps you define structured output formats for LLMs.
Website: https://python.useinstructor.com/
Instructor tracing
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Be sure you also install the OpenInference library for the underlying model you're using along with Instructor. For example, if you're using OpenAI calls directly, you would also add: openinference-instrumentation-openai
Connect to your Phoenix instance using the register function.
From here you can use instructor as normal.
Now that you have tracing setup, all invocations of your underlying model (completions, chat completions, embeddings) and instructor triggers will be streamed to your running Phoenix for observability and evaluation.
LlamaIndex is an open-source framework that streamlines connecting, ingesting, indexing, and retrieving structured or unstructured data to power efficient, data-aware language model applications.
How to use the python LlamaIndexInstrumentor to trace LlamaIndex
LlamaIndex is a data framework for your LLM application. It's a powerful framework by which you can build an application that leverages RAG (retrieval-augmented generation) to super-charge an LLM with your own data. RAG is an extremely powerful LLM application model because it lets you harness the power of LLMs such as OpenAI's GPT but tuned to your data and use-case.
For LlamaIndex, tracing instrumentation is added via an OpenTelemetry instrumentor aptly named the LlamaIndexInstrumentor
. This callback is what is used to create spans and send them to the Phoenix collector.
Phoenix supports LlamaIndex's latest instrumentation paradigm. This paradigm requires LlamaIndex >= 0.10.43. For legacy support, see below.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login or https://llamatrace.com
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Initialize the LlamaIndexInstrumentor before your application code.
You can now use LlamaIndex as normal, and tracing will be automatically captured and sent to your Phoenix instance.
View your traces in Phoenix:
How to use the python LlamaIndexInstrumentor to trace LlamaIndex Workflows
LlamaIndex Workflows are a subset of the LlamaIndex package specifically designed to support agent development.
Our LlamaIndexInstrumentor automatically captures traces for LlamaIndex Workflows agents. If you've already enabled that instrumentor, you do not need to complete the steps below.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Initialize the LlamaIndexInstrumentor before your application code. This instrumentor will trace both LlamaIndex Workflows calls, as well as calls to the general LlamaIndex package.
By instrumenting LlamaIndex, spans will be created whenever an agent is invoked and will be sent to the Phoenix server for collection.
Now that you have tracing setup, all invocations of chains will be streamed to your running Phoenix for observability and evaluation.
LangChain is an open-source framework for building language model applications with prompt chaining, memory, and external integrations
How to use the python LangChainInstrumentor to trace LangChain
Phoenix has first-class support for LangChain applications.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Use the register function to connect your application to Phoenix:
By instrumenting LangChain, spans will be created whenever a chain is run and will be sent to the Phoenix server for collection.
Now that you have tracing setup, all invocations of chains will be streamed to your running Phoenix for observability and evaluation.
This module provides automatic instrumentation for LangChain.js, more specifically, the @langchain/core module. which may be used in conjunction with @opentelemetry/sdk-trace-node.
To load the LangChain instrumentation, manually instrument the @langchain/core/callbacks/manager
module. The callbacks manager must be manually instrumented due to the non-traditional module structure in @langchain/core
. Additional instrumentations can be registered as usual in the registerInstrumentations function.
Instrumentation version >1.0.0 supports both attribute masking and context attribute propagation to spans.
>1.0.0
✅
✅
✅
>0.2.0
❌
✅
✅
>0.1.0
❌
❌
✅
LangGraph is an open-source framework for building graph-based LLM pipelines with modular nodes and seamless data integrations
Website: https://www.langchain.com/langgraph
Phoenix has first-class support for LangGraph applications.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Install the OpenInference Langchain library before your application code. Our LangChainInstrumentor works for both standard LangChain applications and for LangGraph agents.
Use the register function to connect your application to Phoenix:
By instrumenting LangGraph, spans will be created whenever an agent is invoked and will be sent to the Phoenix server for collection.
Now that you have tracing setup, all invocations of chains will be streamed to your running Phoenix for observability and evaluation.
Langflow is an open-source visual framework that enables developers to rapidly design, prototype, and deploy custom applications powered by large language models (LLMs)
Website: langflow.org
Navigate to the Langflow GitHub repo and pull the project down
Navigate to the repo and create a .env
file with all the Arize Phoenix variables.
You can use the .env.example
as a template to create the .env
file
Add the following environment variable to the .env
file
Note: This Langflow integration is for Phoenix Cloud
Start Docker Desktop, build the images, and run the container (this will take around 10 minutes the first time) Go into your terminal into the Langflow directory and run the following commands
In this example, we'll use Simple Agent for this tutorial
Add your OpenAI Key to the Agent component in Langflow
Go into the Playground and run the Agent
Navigate to your project name (should match the name of of your Langflow Agent name)
https://app.phoenix.arize.com/
AgentExecutor Trace is Arize Phoenix instrumentation to capture what's happening with the LangChain being ran during the Langflow components
The other UUID trace is the native Langflow tracing.
Mastra is an open-source TypeScript AI agent framework designed for building production-ready AI applications with agents, workflows, RAG, and observability
Website: https://mastra.ai/
Install packages:
Initialize OpenTelemetry tracing for your Mastra application:
From here you can use Mastra as normal. All agents, workflows, and tool calls will be automatically traced.
Here is a full project example to get you started:
The rest of this tutorial will assume you are running Phoenix locally on the default localhost:6006
port.
Add the OpenInference telemetry code to your index.js
file. The complete file should now look like this:
The Mastra instrumentation automatically captures:
Agent Executions: Complete agent runs including instructions, model calls, and responses
Workflow Steps: Individual step executions within workflows, including inputs, outputs, and timing
Tool Calls: Function calls made by agents, including parameters and results
LLM Interactions: All model calls with prompts, responses, token usage, and metadata
RAG Operations: Vector searches, document retrievals, and embedding generations
Memory Operations: Agent memory reads and writes
Error Handling: Exceptions and error states in your AI pipeline
Phoenix will capture detailed attributes for each trace:
Agent Information: Agent name, instructions, model configuration
Workflow Context: Workflow name, step IDs, execution flow
Tool Metadata: Tool names, parameters, execution results
Model Details: Model name, provider, token usage, response metadata
Performance Metrics: Execution time, token counts, costs
User Context: Session IDs, user information (if provided)
You can view all of this information in the Phoenix UI to debug issues, optimize performance, and understand your application's behavior.
Anthropic's Model Context Protocol is a standard for connecting AI assistants to the systems where data lives, including content repositories, business tools, and development environments.
Website: modelcontextprotocol.io
Phoenix MCP Server is an implementation of the Model Context Protocol for the Arize Phoenix platform. It provides a unified interface to Phoenix's capabilites.
Phoenix MCP Server supports:
Prompts Management: Create, list, update, and iterate on prompts
Datasets: Explore datasets, and synthesize new examples
Experiments: Pull experiment results and visualize them with the help of an LLM
The MCP server can be used to interact with Prompts, Experiments, and Datasets. It can be used to retrieve information about each item, and can create and update Prompts.
Some good questions to try:
What prompts do I have in Phoenix?
Create a new prompt in Phoenix that classifies user intent
Update my classification prompt in Phoenix with these new options
Summarize the Phoenix experiments run on my agent inputs dataset
Visualize the results of my jailbreak dataset experiments in Phoenix
@arizeai/phoenix-mcp
is open-source! Issues and PRs welcome.
Phoenix provides tracing for MCP clients and servers through OpenInference. This includes the unique capability to trace client to server interactions under a single trace in the correct hierarchy.
The openinference-instrumentation-mcp
instrumentor is unique compared to other OpenInference instrumentors. It does not generate any of its own telemetry. Instead, it enables context propagation between MCP clients and servers to unify traces. You still need generate OpenTelemetry traces in both the client and server to see a unified trace.
Because the MCP instrumentor does not generate its own telemetry, you must use it alongside other instrumentation code to see traces.
The example code below uses OpenAI agents, which you can instrument using:
Now that you have tracing setup, all invocations of your client and server will be streamed to Phoenix for observability and evaluation, and connected in the platform.
Portkey is an AI Gateway and observability platform that provides routing, guardrails, caching, and monitoring for 200+ LLMs with enterprise-grade security and reliability features.
Website: https://portkey.ai/
How to trace Portkey AI Gateway requests with Phoenix for comprehensive LLM observability
Phoenix provides seamless integration with Portkey, the AI Gateway and observability platform that routes to 200+ LLMs with enterprise-grade features including guardrails, caching, and load balancing.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Use the register function to connect your application to Phoenix:
By instrumenting Portkey, spans will be created whenever requests are made through the AI Gateway and will be sent to the Phoenix server for collection.
Now that you have tracing setup, all requests through Portkey's AI Gateway will be streamed to your running Phoenix instance for observability and evaluation. You'll be able to see:
Request/Response Traces: Complete visibility into LLM interactions
Routing Decisions: Which provider was selected and why
Fallback Events: When and why fallbacks were triggered
Cache Performance: Hit/miss rates and response times
Cost Tracking: Token usage and costs across providers
Latency Metrics: Response times for each provider and route
PromptFlow is a framework for designing, orchestrating, testing, and monitoring end-to-end LLM prompt workflows with built-in versioning and analytics
Create flows using Microsoft PromptFlow and send their traces to Phoenix
This integration will allow you to trace Microsoft PromptFlow flows and send their traces intoarize-phoenix
.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at https://app.phoenix.arize.com/login
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your dashboard.
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see Terminal Setup.
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Pull latest Phoenix image from Docker Hub:
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
For more info on using Phoenix with Docker, see Docker.
Install packages:
Launch Phoenix:
Set up the OpenTelemetry endpoint to point to Phoenix and use Prompt flow's setup_exporter_from_environ
to start tracing any further flows and LLM calls.
Proceed with creating Prompt flow flows as usual. See this example notebook for inspiration.
You should see the spans render in Phoenix as shown in the below screenshots.
PydanticAI is a Python agent framework designed to make it less painful to build production-grade applications with Generative AI, built by the team behind Pydantic with type-safe structured outputs
How to use the python PydanticAIInstrumentor to trace PydanticAI agents
Set up tracing using OpenTelemetry and the PydanticAI instrumentation:
Here's a simple example using PydanticAI with automatic tracing:
Now that you have tracing setup, all PydanticAI agent operations will be streamed to your running Phoenix instance for observability and evaluation. You'll be able to see:
Agent interactions: Complete conversations between your application and the AI model
Structured outputs: Pydantic model validation and parsing results
Tool usage: When agents call external tools and their responses
Performance metrics: Response times, token usage, and success rates
Error handling: Validation errors, API failures, and retry attempts
Multi-agent workflows: Complex interactions between multiple agents
The traces will provide detailed insights into your AI agent behaviors, making it easier to debug issues, optimize performance, and ensure reliability in production.
Loading...
Vercel is a cloud platform that simplifies building, deploying, and scaling modern web applications with features like serverless functions, edge caching, and seamless Git integration
This package provides a set of utilities to ingest Vercel AI SDK(>= 3.3) spans into platforms like Arize and Phoenix.
Note: This package requires you to be using the Vercel AI SDK version 3.3 or higher.
You will also need to install OpenTelemetry and Vercel packages to your project.
@arizeai/openinference-vercel
provides a set of utilities to help you ingest Vercel AI SDK spans into platforms and works in conjunction with Vercel's OpenTelemetry support. To get started, you will need to add OpenTelemetry support to your Vercel project according to their guide.
To process your Vercel AI SDK Spans add a OpenInferenceSimpleSpanProcessor
or OpenInferenceBatchSpanProcessor
to your OpenTelemetry configuration.
Note: The
OpenInferenceSpanProcessor
does not handle the exporting of spans so you will need to pass it an exporter as a parameter.
Now enable telemetry in your AI SDK calls by setting the experimental_telemetry
parameter to true
.
For details on Vercel AI SDK telemetry see the Vercel AI SDK Telemetry documentation.
To see an example go to the Next.js OpenAI Telemetry Example in the OpenInference repo.
For more information on Vercel OpenTelemetry support see the Vercel AI SDK Telemetry documentation.
Ensuring the reliability and accuracy of LLM-generated responses is a critical challenge for production AI systems. Poor-quality training data, ambiguous labels, and untrustworthy outputs can degrade model performance and lead to unreliable results.
Cleanlab TLM is a tool that estimates the trustworthiness of an LLM response. It provides a confidence score that helps detect hallucinations, ambiguous responses, and potential misinterpretations. This enables teams to flag unreliable outputs and improve the robustness of their AI systems.
This guide demonstrates how to integrate Cleanlab’s Trustworthy Language Model (TLM) with Phoenix to systematically identify and improve low-quality LLM responses. By leveraging TLM for automated data quality assessment and Phoenix for response analysis, you can build more robust and trustworthy AI applications.
Specifically, this tutorial will walk through:
Evaluating LLM-generated responses for trustworthiness.
Using Cleanlab TLM to score and flag untrustworthy responses.
Leveraging Phoenix for tracing and visualizing response evaluations.
Install Dependencies, Set up API Keys, Obtain LLM Reponses + Trace in Phoenix
Download Trace Dataset
Prep data from trace dataset
Setup TLM & Evaluate each pair
Upload Evals to Phoenix
Check out the full tutorial here:
Ragas is a library that provides robust evaluation metrics for LLM applications, making it easy to assess quality. When integrated with Phoenix, it enriches your experiments with metrics like goal accuracy and tool call accuracy—helping you evaluate performance more effectively and track improvements over time.
This guide will walk you through the process of creating and evaluating agents using Ragas and Arize Phoenix. We'll cover the following steps:
Build a customer support agent with the OpenAI Agents SDK
Trace agent activity to monitor interactions
Generate a benchmark dataset for performance analysis
Evaluate agent performance using Ragas
We will walk through the key steps in the documentation below. Check out the full tutorial here:
Here we've setup a basic agent that can solve math problems. We have a function tool that can solve math equations, and an agent that can use this tool. We'll use the Runner
class to run the agent and get the final output.
Agents can go awry for a variety of reasons. We can use Ragas to evaluate whether the agent responded correctly. Two Ragas measurements help with this:
Tool Call Accuracy - Did our agent choose the right tool with the right arguments?
Agent Goal Accuracy - Did our agent accomplish the stated goal and get to the right outcome?
We'll import both metrics we're measuring from Ragas, and use the multi_turn_ascore(sample)
to get the results. The AgentGoalAccuracyWithReference
metric compares the final output to the reference to see if the goal was accomplished. The ToolCallAccuracy
metric compares the tool call to the reference tool call to see if the tool call was made correctly.
In the notebook, we also define the helper function conversation_to_ragas_sample
which converts the agent messages into a format that Ragas can use.
The following code snippets define our task function and evaluators.
Once we've generated a dataset of questions, we can use our experiments feature to track changes across models, prompts, parameters for the agent.
Finally, we run our experiment and view the results in Phoenix.
MongoDB is a database platform. Their Atlas product is built for GenAI applications.
Pinecone is a vector database that can be used to power RAG in various applications.
Website: pinecone.io
Phoenix can be used to trace and evaluate applications that use Pinecone as a vector database.
Qdrant is an open-source vector database built for high-dimensional vectors and large scale workflows
Website: qdrant.tech
Phoenix can be used to trace and evaluate applications that use Qdrant as a vector database.
Weaviate is an open source, AI-native vector database.
Website: weaviate.io
Phoenix can be used to trace and evaluate applications that use Weaviate as a vector database.
Milvus is an open-source vector database built for GenAI applications.
Website: milvus.io
Phoenix can be used to trace and evaluate applications that use Zilliz or Milvus as a vector database.
Sign up for an Arize Phoenix account at
Your Phoenix API key can be found on the Keys section of your .
For details on customizing a local terminal deployment, see .
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
From the Cursor Settings page, navigate to the MCP section, and click "Add new global MCP server"
Add the following code to your MCP config file:
Replacing:
https://my-phoenix.com with your Phoenix collector endpoint
your-api-key
with your Phoenix API key
After saving your config file, you should see the Phoenix server enabled:
You can access Phoenix prompts, experiments, and datasets through Cursor!
From the Claude Desktop settings window, navigate to the Developer Section, and click "Edit Config"
Open your config file and add the following code:
Replacing:
https://my-phoenix.com with your Phoenix collector endpoint
your-api-key
with your Phoenix API key
Save your file and relaunch Claude Desktop. You should now see your new tools ready for use in Claude!
Add the following code to your MCP config file:
Replacing:
https://my-phoenix.com with your Phoenix collector endpoint
your-api-key
with your Phoenix API key
is a Python agent framework designed to make it less painful to build production-grade applications with Generative AI. Built by the team behind Pydantic, it provides a clean, type-safe way to build AI agents with structured outputs.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
How to use Pydantic Evals with Phoenix to evaluate AI applications using structured evaluation frameworks
Enable Phoenix tracing to capture traces from your application:
First, create some example traces by running your AI application. Here's a simple example:
Export the traces you want to evaluate:
Create a dataset of test cases using Pydantic Evals:
Define evaluators to assess your model's performance:
Create a task that retrieves outputs from your traced data:
For more sophisticated evaluation, add an LLM judge:
Execute the evaluation:
Upload your evaluation results back to Phoenix for visualization:
You can create more complex evaluation workflows by combining multiple evaluators:
Once you have evaluation results uploaded to Phoenix, you can:
View evaluation metrics: See overall performance across different evaluation criteria
Analyze individual cases: Drill down into specific examples that passed or failed
Compare evaluators: Understand how different evaluation methods perform
Track improvements: Monitor evaluation scores over time as you improve your application
Debug failures: Identify patterns in failed evaluations to guide improvements
The Phoenix UI will display your evaluation results with detailed breakdowns, making it easy to understand your AI application's performance and identify areas for improvement.
is an evaluation library that provides preset direct evaluations and LLM Judge evaluations. It can be used to run evaluations over dataframes of cases defined with Pydantic models. This guide shows you how to use Pydantic Evals alongside Arize Phoenix to run evaluations on traces captured from your running application.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See Terminal for more details
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
This will expose the Phoenix on localhost:6006
For details on customizing a local terminal deployment, see .
Set your Phoenix endpoint and API Key:
Pull latest Phoenix image from :
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Set your Phoenix endpoint and API Key:
For more info on using Phoenix with Docker, see .
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.
Sign up for Phoenix:
Sign up for an Arize Phoenix account at
Install packages:
Set your Phoenix endpoint and API Key:
Your Phoenix API key can be found on the Keys section of your .
Launch your local Phoenix instance:
For details on customizing a local terminal deployment, see .
Install packages:
Set your Phoenix endpoint:
See for more details.
Run your containerized instance:
This will expose the Phoenix on localhost:6006
Install packages:
Set your Phoenix endpoint:
Install packages:
Launch Phoenix:
Pull latest Phoenix image from :
For more info on using Phoenix with Docker, see .
By default, notebook instances do not have persistent storage, so your traces will disappear after the notebook is closed. See or use one of the other deployment options to retain traces.