Skip to main content

Documentation Index

Fetch the complete documentation index at: https://arizeai-433a7140.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Available in arize-phoenix 15.4.0+ Phoenix Playground and the Prompts library now support provider tools — built-in, vendor-hosted capabilities like web search, code execution, computer use, and grounding. Paste any provider’s tool JSON into the Playground and Phoenix stores and round-trips it verbatim, so your prompt runs against the underlying provider exactly as defined. Provider tools sit alongside Phoenix’s existing portable function tools: function tools stay normalized and provider-agnostic; provider tools preserve provider-specific JSON for capabilities only that vendor offers.

What Phoenix forwards

Phoenix doesn’t maintain a hardcoded list of supported provider tools — anything the underlying provider SDK accepts is round-tripped as-is. Examples that have been verified end-to-end against the playground:
ProviderExamples verified in Phoenix
Anthropicweb_search, code_execution, computer_use
OpenAI Responses APIweb_search, file_search, code_interpreter, computer_use_preview, tool_search
Google Geminigoogle_search grounding
Amazon Bedrockprovider-specific tool blocks are forwarded verbatim
If a provider ships a new built-in tool, it works in Phoenix immediately — no library update required. Mismatches surface as errors from the provider SDK at request time.

Using provider tools

In the Playground — open the tool editor, switch to JSON mode, and paste the provider’s tool definition. Phoenix detects the shape automatically: function-tool shapes are stored as function tools; everything else is stored as a provider tool. “Open in Playground” on a captured trace — replays the exact tool payload that hit the model, including any provider tools that were active. Mix with function tools — function tools and provider tools coexist on the same prompt version. Switching the provider or API type drops attached provider tools (since the JSON is provider-specific), while function tools survive provider changes.

SDK prompt export

Both the Python and TypeScript clients preserve provider tools when exporting prompts:
from phoenix.client import Client

client = Client()
prompt = client.prompts.get(name="my-research-prompt")

# Provider tools are included in the formatted prompt
openai_messages = prompt.format(formatter="openai")
# openai_messages["tools"] contains both function tools and provider tools
import { getPrompt } from "@arizeai/phoenix-client/prompts";

const prompt = await getPrompt({ name: "my-research-prompt" });
const formatted = prompt.format({ formatter: "openai" });
// formatted.tools includes provider tools verbatim