É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 :
%pip install arize-phoenix-evals
Quick start
Pour appeler directement un évaluateur Phoenix :
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():
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 ? |
|---|---|
La sortie contient-elle des informations fabriquées absentes du contexte ? | |
Le contexte récupéré est-il pertinent par rapport à la query d'entrée ? | |
La sortie contient-elle un contenu toxique ou nuisible ? | |
La réponse est-elle exacte par rapport au matériel de référence ? | |
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 :
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."},
)