Skills2026年5月8日·1 分钟阅读

Phoenix Evals — LLM-as-Judge Library with Built-in Templates

Phoenix Evals runs LLM-as-judge on traces or datasets. Pre-built templates: hallucination, relevance, toxicity, QA. Outputs scored DataFrames.

Agent 就绪

这个资产可以被 Agent 直接读取和安装

TokRepo 同时提供通用 CLI 命令、安装契约、metadata JSON、按适配器生成的安装计划和原始内容链接,方便 Agent 判断适配度、风险和下一步动作。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:New
入口
Asset
通用 CLI 安装命令
npx tokrepo install 91b1b2a3-8be3-42c3-9366-c71fe29ed30d

简介

Phoenix Evals 在 trace 或数据集上跑 LLM-as-judge 评估 —— 用经过实战的 prompt 模板给输出打分:幻觉、retrieval 相关性、QA 正确性、毒性、摘要质量、代码可读性。返回 pandas DataFrame;merge 回 span 在 UI 里筛差的。适合发版前 prompt 回归测试、找出 agent 运行最差的 5%、从生产 trace 建人工策划的数据集。兼容 OpenAI、Anthropic、Bedrock、VertexAI、任何能做 judge 的模型。装机时间 5 分钟。


快速评估 —— 幻觉 + 相关性

import pandas as pd
from phoenix.evals import (
    HallucinationEvaluator, RelevanceEvaluator, OpenAIModel, run_evals,
)

df = pd.DataFrame({
    "input": ["谁是美国第一任总统?"] * 3,
    "reference": ["乔治·华盛顿是美国第一任总统,任期 1789–1797。"] * 3,
    "output": [
        "乔治·华盛顿是美国第一任总统。",        # 对
        "托马斯·杰斐逊是美国第一任总统。",       # 幻觉
        "乔治·华盛顿是美国第三任总统。",        # 事实错
    ],
})

judge = OpenAIModel(model="gpt-4o", temperature=0.0)
hallucination_evals, relevance_evals = run_evals(
    dataframe=df,
    evaluators=[HallucinationEvaluator(judge), RelevanceEvaluator(judge)],
    provide_explanation=True,
)

print(hallucination_evals[["label", "score", "explanation"]])

在生产 trace 上跑

import phoenix as px
from phoenix.evals import HallucinationEvaluator, OpenAIModel

# 拉最近 24 小时的 trace
spans_df = px.Client().query_spans("my-rag-app", project_name="my-rag-app")

# 把 span 列适配到 eval 输入
spans_df = spans_df.rename(columns={
    "attributes.input.value": "input",
    "attributes.output.value": "output",
    "attributes.retrieval.documents": "reference",
})

(evals_df,) = run_evals(spans_df, [HallucinationEvaluator(OpenAIModel("gpt-4o"))])

# 评分回灌 Phoenix UI
px.Client().log_evaluations(SpanEvaluations(eval_name="hallucination", dataframe=evals_df))

内置评估器模板

评估器 分数 判什么
HallucinationEvaluator factual / hallucinated 输出有 reference 支撑吗?
RelevanceEvaluator relevant / unrelated 拉到的 chunk 跟 query 配吗?
QAEvaluator correct / incorrect 答案跟 ground-truth 配吗?
ToxicityEvaluator toxic / non-toxic 仇恨、骚扰、暴力
SummarizationEvaluator good / poor 摘要忠实覆盖原文吗?
CodeReadabilityEvaluator readable / unreadable 生成代码干净 idiomatic 吗?

FAQ

Q: 为啥用更小的 LLM 当 judge? A: 成本。gpt-4o-mini 判 1 万条 ~2 美元,gpt-4o ~30 美元。事实评估上 mini 跟 gpt-4o 大约 90% 一致。仅在分歧解决跑里用 gpt-4o。

Q: 能写自定义 evaluator 吗? A: 能 —— 继承 LLMEvaluator,提供带 {input} / {output} / {reference} 占位符的 prompt 模板,再给一个允许标签 rail。框架处理 batching、重试、解析。

Q: 生产环境能用它做门禁吗? A: 当冒烟测试用,别当门禁。LLM judge 在标准任务上跟人类大约 85-92% 一致。用 eval 把候选筛出来给人复核,别静默阻塞发版。


🙏

来源与感谢

Built by Arize AI. Licensed under Apache-2.0.

Arize-ai/phoenix — ⭐ 4,500+

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产