Aller au contenu principal

Évaluateurs Arize Phoenix

Arize Phoenix est un cadre d'observabilité et d'évaluation LLM open source d'Arize AI. MLflow s'intègre à Phoenix afin que vous puissiez utiliser les évaluateurs Phoenix comme évaluateurs pour des tâches telles que la détection d'hallucinations, l'évaluation de la pertinence et l'identification de la toxicité.

Exigences​

Installez le package arize-phoenix-evals :

Python
%pip install arize-phoenix-evals

Quick start​

Pour appeler directement un évaluateur Phoenix :

Python
from mlflow.genai.scorers.phoenix import Hallucination

scorer = Hallucination(model="databricks:/databricks-gpt-5-mini")
feedback = scorer(
inputs="What is the capital of France?",
outputs="Paris is the capital of France.",
expectations={"context": "France is a country in Europe. Its capital is Paris."},
)

print(feedback.value) # "factual" or "hallucinated"
print(feedback.metadata["score"]) # Numeric score

Pour appeler les scorers Phoenix à l’aide de mlflow.genai.evaluate():

Python
import mlflow
from mlflow.genai.scorers.phoenix import Hallucination, Relevance

eval_dataset = [
{
"inputs": {"query": "What is MLflow?"},
"outputs": "MLflow is an open-source AI engineering platform for agents and LLMs.",
"expectations": {
"context": "MLflow is an ML platform for experiment tracking and model deployment."
},
},
{
"inputs": {"query": "How do I track experiments?"},
"outputs": "You can use mlflow.start_run() to begin tracking experiments.",
"expectations": {
"context": "MLflow provides APIs like mlflow.start_run() for experiment tracking."
},
},
]

results = mlflow.genai.evaluate(
data=eval_dataset,
scorers=[
Hallucination(model="databricks:/databricks-gpt-5-mini"),
Relevance(model="databricks:/databricks-gpt-5-mini"),
],
)

Évaluateurs Phoenix disponibles​

Évaluateur

Qu'est-ce que cela évalue ?

Hallucination

La sortie contient-elle des informations fabriquées absentes du contexte ?

Relevance

Le contexte récupéré est-il pertinent par rapport à la query d'entrée ?

Toxicity

La sortie contient-elle un contenu toxique ou nuisible ?

QA

La réponse est-elle exacte par rapport au matériel de référence ?

Summarization

Le résumé est-il exact et complet ?

Évaluateur

Qu'est-ce que cela évalue ?

Hallucination

La sortie contient-elle des informations fabriquées absentes du contexte ?

Relevance

Le contexte récupéré est-il pertinent par rapport à la query d'entrée ?

Toxicity

La sortie contient-elle un contenu toxique ou nuisible ?

QA

La réponse est-elle exacte par rapport au matériel de référence ?

Summarization

Le résumé est-il exact et complet ?

Créez un évaluateur par nom​

Vous pouvez créer dynamiquement un évaluateur à l'aide de get_scorer en passant le nom de la métrique sous forme de chaîne :

Python
from mlflow.genai.scorers.phoenix import get_scorer

scorer = get_scorer(
metric_name="Hallucination",
model="databricks:/databricks-gpt-5-mini",
)
feedback = scorer(
inputs="What is MLflow?",
outputs="MLflow is a platform for ML workflows.",
expectations={"context": "MLflow is an ML platform."},
)