Files
compose-anything/src/phoenix
2025-12-09 15:19:11 +08:00
..
2025-12-09 15:19:11 +08:00
2025-12-09 15:19:11 +08:00
2025-12-09 15:19:11 +08:00

Arize Phoenix

English | 中文

Arize Phoenix is an open-source AI observability platform for LLM applications. It provides tracing, evaluation, datasets, and experiments to help you build and improve AI applications.

Services

  • phoenix: The main Phoenix application server with UI and OpenTelemetry collectors.
  • phoenix-db: PostgreSQL database for persistent storage.

Ports

Port Protocol Description
6006 HTTP UI and OTLP HTTP collector (/v1/traces)
4317 gRPC OTLP gRPC collector

Environment Variables

Variable Name Description Default Value
PHOENIX_VERSION Phoenix image version version-12.19.0
PHOENIX_PORT_OVERRIDE Host port for Phoenix UI and HTTP API 6006
PHOENIX_GRPC_PORT_OVERRIDE Host port for OTLP gRPC collector 4317
PHOENIX_ENABLE_PROMETHEUS Enable Prometheus metrics endpoint false
PHOENIX_SECRET Secret for authentication (optional) ""
POSTGRES_VERSION PostgreSQL image version 17.2-alpine3.21
POSTGRES_USER PostgreSQL username postgres
POSTGRES_PASSWORD PostgreSQL password postgres
POSTGRES_DB PostgreSQL database name phoenix

Volumes

  • phoenix_db_data: PostgreSQL data volume for persistent storage.

Getting Started

  1. Copy the example environment file:

    cp .env.example .env
    
  2. (Optional) For production, set a secure password and secret:

    # Generate a secret for authentication
    openssl rand -base64 32
    
  3. Start the services:

    docker compose up -d
    
  4. Access Phoenix UI at http://localhost:6006

Sending Traces

Phoenix supports OpenTelemetry-compatible traces. You can send traces using:

HTTP (OTLP)

Send traces to http://localhost:6006/v1/traces

gRPC (OTLP)

Send traces to localhost:4317

Python Example

from phoenix.otel import register

tracer_provider = register(
    project_name="my-llm-app",
    endpoint="http://localhost:6006/v1/traces",
)

Features

  • Tracing: Capture and visualize LLM application traces with OpenTelemetry support.
  • Evaluation: Run evaluations using built-in or custom evaluators.
  • Datasets: Create and manage datasets for testing and evaluation.
  • Experiments: Run experiments to compare model performance.
  • Playground: Test prompts with different models interactively.

Documentation

For more information, visit the official Phoenix documentation.

Security Notes

  • Change default PostgreSQL password in production.
  • Set PHOENIX_SECRET for authentication if exposing Phoenix publicly.
  • Consider using a reverse proxy with SSL/TLS in production.
  • Regularly backup the PostgreSQL database.