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."},
)