LLM Observability
Arize Phoenix — Open-source LLM Observability & Evals logo

Arize Phoenix — Observabilité LLM et Evals open source

Arize Phoenix est la bibliothèque open source d'observabilité et d'évaluation d'Arize AI. Nativement OpenTelemetry, avec des primitives d'évaluation puissantes — conçue pour les data scientists et ingénieurs ML qui veulent unifier notebooks et production.

Why Phoenix

Phoenix penche vers l'expérimentation et l'éval. Un data scientist peut lancer Phoenix dans un notebook avec phoenix.launch_app(), y envoyer des traces OpenTelemetry depuis un pipeline RAG, faire tourner des évals contre des datasets et itérer dans le même environnement — sans aucun déploiement de serveur. Pour la production, la même bibliothèque se déploie comme un service long-running avec Postgres.

La bibliothèque d'évals est un point fort. Phoenix livre des évaluateurs pré-construits pour l'hallucination, la toxicité, la pertinence, la correction de QA et la précision du retrieval. Chacun est un template de Prompt testé que vous pouvez appliquer à l'échelle d'un dataset en quelques lignes de code. C'est la voie la plus rapide entre « je pense que mon RAG est mauvais » et « voici les requêtes précises sur lesquelles il échoue ».

Par rapport à Langfuse : Phoenix est plus outil de recherche que outil produit. Son UI est fonctionnelle mais moins polish ; sa gestion de Prompts est plus légère ; son focus est de vous aider à diagnostiquer et améliorer plutôt qu'à exploiter un dashboard d'ops production. Beaucoup d'équipes utilisent les deux — Phoenix dans les notebooks pendant le développement, Langfuse en production.

Quick Start — Notebook Launch + OpenAI

launch_app() est le mode notebook-friendly — Phoenix tourne in-process avec un endpoint HTTP pour l'ingestion OTEL et une UI web. Pour la production, déployez Phoenix Server (docker-compose) et faites pointer l'instrumentation dessus. OpenInference est la bibliothèque d'instrumentation OTEL d'Arize — supporte OpenAI, Anthropic, LangChain, LlamaIndex, DSPy, Haystack et LiteLLM d'entrée de jeu.

# pip install 'arize-phoenix[evals]' openinference-instrumentation-openai opentelemetry-sdk
import phoenix as px

# Launch the Phoenix UI locally (notebook or script)
session = px.launch_app()
print(session.url)   # open in browser

# Instrument OpenAI via OpenInference (Arize's OTEL libraries for LLM frameworks)
from openinference.instrumentation.openai import OpenAIInstrumentor
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

provider = TracerProvider()
provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(f"{session.url}/v1/traces")))
trace.set_tracer_provider(provider)
OpenAIInstrumentor().instrument()

from openai import OpenAI
client = OpenAI()

for q in ["Why is the sky blue?", "How do planes fly?", "What is photosynthesis?"]:
    client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": q}],
    )

# Phoenix UI now shows traces with prompt/response/latency/cost per request.
# Now run an eval over the last 10 traces:
from phoenix.evals import HallucinationEvaluator, OpenAIModel, run_evals

trace_df = px.Client().get_spans_dataframe()
hallu_evaluator = HallucinationEvaluator(OpenAIModel(model="gpt-4o-mini"))
scores = run_evals(dataframe=trace_df, evaluators=[hallu_evaluator])
print(scores)

Fonctionnalités clés

Nativement OpenTelemetry

Ingère les traces OTEL de tout framework instrumenté via OpenInference (la bibliothèque OTEL spécifique LLM d'Arize). Interopère avec Jaeger, Tempo et les collectors OTEL génériques.

Évaluateurs pré-construits

Hallucination, toxicité, pertinence, correction de QA, précision de retrieval, génération de code — évaluateurs LLM-as-judge avec Prompts testés. Application sur des datasets de traces en une ligne.

Workflows de datasets

Curation de datasets depuis les traces de production, tagging d'exemples, replay sur de nouveaux Prompts ou modèles, diff des résultats. Boucle serrée entre « bug en production » et « dataset d'évaluation corrigé ».

Diagnostics embeddings + RAG

Visualisation UMAP des embeddings, métriques spécifiques RAG (pertinence du contexte, pertinence de la réponse, groundedness). Particulièrement fort pour debugger les pipelines de retrieval.

Notebook-first

launch_app() fait tourner Phoenix dans un notebook ; la même bibliothèque tourne en serveur de production avec Postgres. Friction minimale entre recherche et production.

OSS + sœur commerciale

Phoenix OSS est sous licence Elastic License 2.0. Pour l'entreprise, Arize AX est l'offre managée payante avec accès par rôles, fonctionnalités équipes et analytique plus poussée.

Comparaison

 Primary StrengthDeploymentEval LibraryAudience
Arize Phoenixcelui-ciEval + embedding diagnosticsNotebook + self-hostStrongest (pre-built evaluators)Data scientists / ML engineers
LangfuseProduction ops + prompt mgmtCloud + self-hostLLM-as-judge frameworkProduction engineers
HeliconeZero-code integrationCloud + self-hostBasicFull-stack teams
TraceloopOTEL evangelismAgent + backendVia integrationsOTEL users

Cas d'usage

01. Debug RAG

Quand la qualité du retrieval est le problème, les métriques RAG de Phoenix (pertinence du contexte, groundedness) + la visualisation UMAP des embeddings isolent si l'enjeu vient du chunking, des embeddings ou du Prompt de génération.

02. Recherche ML / Data Science

Équipes où le travail LLM vit dans les notebooks — expérimentation sur les Prompts, évals sur datasets held-out, comparaison de versions de modèle. Le design notebook-first de Phoenix colle au workflow.

03. Parité production + dev

Même instrumentation, même UI Phoenix, en dev comme en production. Réduit le classique « ça marche sur mon laptop, mystère en prod » des applis LLM.

Tarification et licence

Phoenix : Elastic License 2.0 — utilisation gratuite (y compris à des fins commerciales) ; restrictions sur la revente en tant que service hébergé. Ensemble fonctionnel complet disponible en self-host.

Arize AX : offre managée entreprise d'Arize AI. Ajoute SSO, gestion d'équipes, support entreprise, analytique plus poussée, dashboards enrichis. Tarification au volume — contactez les sales d'Arize.

Réalité des coûts : Phoenix self-hosted est gratuit pour le compute ; vous payez le Postgres qu'il nécessite plus vos propres appels LLM d'éval. Pour les équipes déjà équipées en OTEL, le coût marginal est faible.

Assets associés sur TokRepo

Questions fréquentes

Phoenix ou Langfuse — lequel est mieux ?+

Des paris différents. Phoenix est plus fort sur la bibliothèque d'évals et les diagnostics d'embeddings ; Langfuse est plus fort sur l'UX d'ops production et la gestion de Prompts. Les équipes orientées research / évals préfèrent souvent Phoenix ; les équipes ingénierie production préfèrent souvent Langfuse. Beaucoup de boîtes utilisent les deux.

Phoenix est-il vraiment compatible OpenTelemetry ?+

Oui. Phoenix est un backend OTEL — il accepte OTLP en HTTP/gRPC. La bibliothèque OpenInference (par Arize) ajoute une instrumentation spécifique LLM par-dessus les conventions OTEL de base. Vous pouvez mélanger des traces Phoenix avec des traces OTEL génériques d'autres sources.

Puis-je utiliser Phoenix avec LangChain ?+

Oui. pip install openinference-instrumentation-langchain ; appelez LangChainInstrumentor().instrument() une fois au démarrage. Tous les composants LangChain (chains, Agents, retrievers) émettent des spans OTEL structurés vers Phoenix.

Faut-il déployer Phoenix Server pour une petite appli ?+

Non. En dev, px.launch_app() lance un serveur in-process dans votre notebook. Pour la production, déployez Phoenix Server avec Postgres — les configs docker-compose sont dans le repo.

L'Elastic License est-elle un problème pour un usage commercial ?+

Pour la plupart des utilisateurs commerciaux, non — vous pouvez faire tourner Phoenix en production dans votre entreprise sans problème. La restriction de licence cible la revente en SaaS concurrent d'Arize. Faites valider par votre équipe juridique si vous construisez un produit plateforme.

Comparer les alternatives