OpenJudge 是一个统一框架,旨在通过全面评估和质量奖励来提升 LLM 和 Agent 应用效果。
💡 评估和奖励信号是应用的基石。全面评估能够系统分析不足之处以推动快速迭代,而高质量奖励则为高级优化和微调提供必要的基础。
OpenJudge 将评估指标和奖励信号统一为标准化的 Grader 接口,提供预构建的评分器、灵活的自定义能力以及无缝的框架集成。
访问 50+ 生产就绪的评分器,具有全面的分类体系,经过严格验证以确保可靠性能。
|
关注点: 语义质量、功能正确性、结构合规性 核心评分器:
|
关注点: 智能体生命周期、工具调用、记忆、计划可行性、轨迹质量 核心评分器:
|
关注点: 图文一致性、视觉生成质量、图像有用性 核心评分器:
|
- 🌐 多场景覆盖: 广泛支持包括智能体、文本、代码、数学和多模态任务在内的多种领域。→ 探索支持的场景
- 🔄 全面的智能体评估: 不仅评估最终结果,我们还评估整个生命周期——包括轨迹、记忆、反思和工具使用。→ 智能体生命周期评估
- ✅ 质量保证: 每个评分器都配有基准数据集和 pytest 集成用于验证。→ 查看基准数据集
选择适合您需求的构建方法:
- 自定义: 轻松扩展或修改预定义的评分器以满足您的特定需求。👉 自定义评分器开发指南
- 数据驱动的评分标准: 有一些示例但没有明确规则?使用我们的工具根据您的数据自动生成白盒评估标准(Rubrics)。👉 自动评分标准生成教程
- 训练评判模型(即将推出🚀): 对于大规模和专业化场景,我们正在开发训练专用评判模型的能力。SFT、Bradley-Terry 模型和强化学习工作流的支持即将推出,帮助您构建高性能、领域特定的评分器。
我们正在积极构建与主流可观测性平台和训练框架的无缝连接器。敬请期待!→ 查看 集成
-
2025-12-26 - 在 PyPI 上发布 OpenJudge v0.2.0 - 重大更新! 此版本通过在奖励构建之上添加对多样化评估场景的强大支持,扩展了我们的核心能力。通过统一奖励和评估信号,OpenJudge v0.2.0 提供了一种更全面的方法来优化应用性能和卓越性。→ 迁移指南
-
2025-10-20 - Auto-Rubric: Learning to Extract Generalizable Criteria for Reward Modeling - 我们发布了一篇关于学习可泛化奖励标准以实现稳健建模的新论文。
-
2025-10-17 - Taming the Judge: Deconflicting AI Feedback for Stable Reinforcement Learning - 我们介绍了对齐评判反馈和提高强化学习稳定性的技术。
-
2025-07-09 - 在 PyPI 上发布 OpenJudge v0.1.0
pip install py-openjudge💡 更多安装方法可在 快速开始指南 中找到。
import asyncio
from openjudge.models import OpenAIChatModel
from openjudge.graders.common.relevance import RelevanceGrader
async def main():
# 1️⃣ 创建模型客户端
model = OpenAIChatModel(model="qwen3-32b")
# 2️⃣ 初始化评分器
grader = RelevanceGrader(model=model)
# 3️⃣ 准备数据
data = {
"query": "什么是机器学习?",
"response": "机器学习是人工智能的一个子集,使计算机能够从数据中学习。",
}
# 4️⃣ 评估
result = await grader.aevaluate(**data)
print(f"分数: {result.score}") # 分数: 5
print(f"原因: {result.reason}")
if __name__ == "__main__":
asyncio.run(main())📚 完整的快速开始内容可在 快速开始指南 中找到。
无缝连接 OpenJudge 与主流可观测性和训练平台,更多集成即将推出:
| 类别 | 状态 | 平台 |
|---|---|---|
| 可观测性 | 🟡 进行中 | LangSmith、LangFuse、Arize Phoenix |
| 训练 | 🔵 计划中 | verl、Trinity-RFT |
💬 有您希望我们优先支持的框架吗?提交 Issue!
我们欢迎您的贡献!我们希望让参与 OpenJudge 的贡献尽可能简单和透明。
🎨 添加新评分器 — 有领域特定的评估逻辑?与社区分享吧! 🐛 报告 Bug — 发现问题?通过 提交 issue 帮助我们修复 📝 改进文档 — 更清晰的解释或更好的示例总是受欢迎的 💡 提议新功能 — 有新集成的想法?让我们讨论!
📖 查看完整的 贡献指南 了解编码标准和 PR 流程。
欢迎加入 OpenJudge 钉钉交流群,与我们一起讨论:
OpenJudge 之前以旧包名
rm-gallery(v0.1.x)发布。从 v0.2.0 开始,它以py-openjudge发布,Python 导入命名空间为openjudge。
OpenJudge v0.2.0 与 v0.1.x 不向后兼容。 如果您目前正在使用 v0.1.x,请选择以下路径之一:
- 继续使用 v0.1.x(旧版):继续使用旧包
pip install rm-gallery我们在 v0.1.7-legacy 分支 中保留了 v0.1.7(最新的 v0.1.x 版本) 的源代码。
如果您遇到迁移问题,请 提交 issue 并附上您的最小复现代码和当前版本。
如果您在研究中使用 OpenJudge,请引用:
@software{
title = {OpenJudge: A Unified Framework for Holistic Evaluation and Quality Rewards},
author = {The OpenJudge Team},
url = {https://github.com/modelscope/OpenJudge},
month = {07},
year = {2025}
}由 OpenJudge 团队用 ❤️ 打造
⭐ 给我们 Star · 🐛 报告 Bug · 💡 提议功能
