Skip to content

Commit b7adc6f

Browse files
committed
Align with the current version on GitHub
1 parent fc369d4 commit b7adc6f

8 files changed

Lines changed: 96 additions & 46 deletions

File tree

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
[![PyPI](https://img.shields.io/badge/pypi-v0.2.0-blue?logo=pypi)](https://pypi.org/project/py-openjudge/)
1717
[![Documentation](https://img.shields.io/badge/docs-online-blue?logo=readthedocs&logoColor=white)](https://modelscope.github.io/OpenJudge/)
1818

19-
[📖 Documentation](https://modelscope.github.io/OpenJudge/) | [🤝 Contributing](./docs/community/contributing.md) | [中文](./README_zh.md)
19+
[📖 Documentation](https://modelscope.github.io/OpenJudge/) | [🤝 Contributing](https://modelscope.github.io/OpenJudge/community/contributing/) | [中文](./README_zh.md)
2020

2121
</div>
2222

@@ -89,15 +89,15 @@ Access **50+ production-ready graders** featuring a comprehensive taxonomy, rigo
8989
</tr>
9090
</table>
9191

92-
- 🌐 **Multi-Scenario Coverage:** Extensive support for diverse domains including Agent, text, code, math, and multimodal tasks. 👉 [Explore Supported Scenarios](./docs/built_in_graders/overview.md)
93-
- 🔄 **Holistic Agent Evaluation:** Beyond final outcomes, we assess the entire lifecycle—including trajectories, Memory, Reflection, and Tool Use. 👉 [Agent Lifecycle Evaluation](./docs/built_in_graders/agent_graders.md)
92+
- 🌐 **Multi-Scenario Coverage:** Extensive support for diverse domains including Agent, text, code, math, and multimodal tasks. 👉 [Explore Supported Scenarios](https://modelscope.github.io/OpenJudge/built_in_graders/overview/)
93+
- 🔄 **Holistic Agent Evaluation:** Beyond final outcomes, we assess the entire lifecycle—including trajectories, Memory, Reflection, and Tool Use. 👉 [Agent Lifecycle Evaluation](https://modelscope.github.io/OpenJudge/built_in_graders/agent_graders/)
9494
-**Quality Assurance:** Every grader comes with benchmark datasets and pytest integration for validation. 👉 [View Benchmark Datasets](https://huggingface.co/datasets/agentscope-ai/OpenJudge)
9595

9696

9797
### 🛠️ Flexible Grader Building Methods
9898
Choose the build method that fits your requirements:
99-
* **Customization:** Easily extend or modify pre-defined graders to fit your specific needs. 👉 [Custom Grader Development Guide](./docs/building_graders/create_custom_graders.md)
100-
* **Data-Driven Rubrics:** Have a few examples but no clear rules? Use our tools to automatically generate white-box evaluation criteria (Rubrics) based on your data.👉 [Automatic Rubric Generation Tutorial](./docs/building_graders/generate_graders_from_data.md)
99+
* **Customization:** Easily extend or modify pre-defined graders to fit your specific needs. 👉 [Custom Grader Development Guide](https://modelscope.github.io/OpenJudge/building_graders/create_custom_graders/)
100+
* **Data-Driven Rubrics:** Have a few examples but no clear rules? Use our tools to automatically generate white-box evaluation criteria (Rubrics) based on your data.👉 [Automatic Rubric Generation Tutorial](https://modelscope.github.io/OpenJudge/building_graders/generate_graders_from_data/)
101101
* **Training Judge Models ( Coming Soon🚀):** For high-scale and specialized scenarios, we are developing the capability to train dedicated Judge models. Support for SFT, Bradley-Terry models, and Reinforcement Learning workflows is on the way to help you build high-performance, domain-specific graders.
102102

103103

@@ -122,7 +122,7 @@ We're actively building seamless connectors for mainstream observability platfor
122122
pip install py-openjudge
123123
```
124124

125-
> 💡 More installation methods can be found in the [Quickstart Guide](./docs/get_started/quickstart.md).
125+
> 💡 More installation methods can be found in the [Quickstart Guide](https://modelscope.github.io/OpenJudge/get_started/quickstart/#installation).
126126
127127
---
128128

@@ -156,7 +156,7 @@ if __name__ == "__main__":
156156
asyncio.run(main())
157157
```
158158

159-
> 📚 Complete Quickstart can be found in the [Quickstart Guide](./docs/get_started/quickstart.md).
159+
> 📚 Complete Quickstart can be found in the [Quickstart Guide](https://modelscope.github.io/OpenJudge/get_started/quickstart/).
160160
161161
---
162162

@@ -184,7 +184,7 @@ We love your input! We want to make contributing to OpenJudge as easy and transp
184184
> **📝 Improving Docs** — Clearer explanations or better examples are always welcome
185185
> **💡 Proposing Features** — Have ideas for new integrations? Let's discuss!
186186
187-
📖 See full [Contributing Guidelines](./docs/community/contributing.md) for coding standards and PR process.
187+
📖 See full [Contributing Guidelines](https://modelscope.github.io/OpenJudge/community/contributing/) for coding standards and PR process.
188188

189189
---
190190

@@ -204,7 +204,7 @@ pip install rm-gallery
204204

205205
We preserved the source code of **v0.1.7 (the latest v0.1.x release)** in the [`v0.1.7-legacy` branch](https://github.com/modelscope/OpenJudge/tree/v0.1.7-legacy).
206206

207-
- **Migrate to v0.2.0 (recommended)**: follow the **[Installation](#-installation)** section above, then walk through **[Quickstart](#-quickstart)** (or the full [Quickstart Guide](./docs/get_started/quickstart.md)) to update your imports / usage.
207+
- **Migrate to v0.2.0 (recommended)**: follow the **[Installation](#-installation)** section above, then walk through **[Quickstart](#-quickstart)** (or the full [Quickstart Guide](https://modelscope.github.io/OpenJudge/get_started/quickstart/)) to update your imports / usage.
208208

209209
If you run into migration issues, please [open an issue](https://github.com/modelscope/OpenJudge/issues) with your minimal repro and current version.
210210

README_zh.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
[![PyPI](https://img.shields.io/badge/pypi-v0.2.0-blue?logo=pypi)](https://pypi.org/project/py-openjudge/)
1717
[![Documentation](https://img.shields.io/badge/docs-online-blue?logo=readthedocs&logoColor=white)](https://modelscope.github.io/OpenJudge/)
1818

19-
[📖 文档](https://modelscope.github.io/OpenJudge/) | [🤝 贡献指南](./docs/community/contributing.md) | [English](./README.md)
19+
[📖 文档](https://modelscope.github.io/OpenJudge/) | [🤝 贡献指南](https://modelscope.github.io/OpenJudge/community/contributing/) | [English](./README.md)
2020

2121
</div>
2222

@@ -89,15 +89,15 @@ OpenJudge 将评估指标和奖励信号统一为标准化的 **Grader** 接口
8989
</tr>
9090
</table>
9191

92-
- 🌐 **多场景覆盖:** 广泛支持包括智能体、文本、代码、数学和多模态任务在内的多种领域。→ [探索支持的场景](./docs/built_in_graders/overview.md)
93-
- 🔄 **全面的智能体评估:** 不仅评估最终结果,我们还评估整个生命周期——包括轨迹、记忆、反思和工具使用。→ [智能体生命周期评估](./docs/built_in_graders/agent_graders.md)
92+
- 🌐 **多场景覆盖:** 广泛支持包括智能体、文本、代码、数学和多模态任务在内的多种领域。→ [探索支持的场景](https://modelscope.github.io/OpenJudge/built_in_graders/overview/)
93+
- 🔄 **全面的智能体评估:** 不仅评估最终结果,我们还评估整个生命周期——包括轨迹、记忆、反思和工具使用。→ [智能体生命周期评估](https://modelscope.github.io/OpenJudge/built_in_graders/agent_graders/)
9494
-**质量保证:** 每个评分器都配有基准数据集和 pytest 集成用于验证。→ [查看基准数据集](https://huggingface.co/datasets/agentscope-ai/OpenJudge)
9595

9696

9797
### 🛠️ 灵活的评分器构建方法
9898
选择适合您需求的构建方法:
99-
* **自定义:** 轻松扩展或修改预定义的评分器以满足您的特定需求。👉 [自定义评分器开发指南](./docs/building_graders/create_custom_graders.md)
100-
* **数据驱动的评分标准:** 有一些示例但没有明确规则?使用我们的工具根据您的数据自动生成白盒评估标准(Rubrics)。👉 [自动评分标准生成教程](./docs/building_graders/generate_graders_from_data.md)
99+
* **自定义:** 轻松扩展或修改预定义的评分器以满足您的特定需求。👉 [自定义评分器开发指南](https://modelscope.github.io/OpenJudge/building_graders/create_custom_graders/)
100+
* **数据驱动的评分标准:** 有一些示例但没有明确规则?使用我们的工具根据您的数据自动生成白盒评估标准(Rubrics)。👉 [自动评分标准生成教程](https://modelscope.github.io/OpenJudge/building_graders/generate_graders_from_data/)
101101
* **训练评判模型(即将推出🚀):** 对于大规模和专业化场景,我们正在开发训练专用评判模型的能力。SFT、Bradley-Terry 模型和强化学习工作流的支持即将推出,帮助您构建高性能、领域特定的评分器。
102102

103103

@@ -122,7 +122,7 @@ OpenJudge 将评估指标和奖励信号统一为标准化的 **Grader** 接口
122122
pip install py-openjudge
123123
```
124124

125-
> 💡 更多安装方法可在 [快速开始指南](./docs/get_started/quickstart.md) 中找到。
125+
> 💡 更多安装方法可在 [快速开始指南](https://modelscope.github.io/OpenJudge/get_started/quickstart/) 中找到。
126126
127127
---
128128

@@ -156,7 +156,7 @@ if __name__ == "__main__":
156156
asyncio.run(main())
157157
```
158158

159-
> 📚 完整的快速开始内容可在 [快速开始指南](./docs/get_started/quickstart.md) 中找到。
159+
> 📚 完整的快速开始内容可在 [快速开始指南](https://modelscope.github.io/OpenJudge/get_started/quickstart/) 中找到。
160160
161161
---
162162

@@ -184,7 +184,7 @@ if __name__ == "__main__":
184184
> **📝 改进文档** — 更清晰的解释或更好的示例总是受欢迎的
185185
> **💡 提议新功能** — 有新集成的想法?让我们讨论!
186186
187-
📖 查看完整的 [贡献指南](./docs/community/contributing.md) 了解编码标准和 PR 流程。
187+
📖 查看完整的 [贡献指南](https://modelscope.github.io/OpenJudge/community/contributing/) 了解编码标准和 PR 流程。
188188

189189
---
190190

@@ -202,7 +202,7 @@ pip install rm-gallery
202202

203203
我们在 [`v0.1.7-legacy` 分支](https://github.com/modelscope/OpenJudge/tree/v0.1.7-legacy) 中保留了 **v0.1.7(最新的 v0.1.x 版本)** 的源代码。
204204

205-
- **迁移到 v0.2.0(推荐)**:按照上方的 **[安装](#-安装)** 章节操作,然后浏览 **[快速开始](#-快速开始)**(或完整的 [快速开始指南](./docs/get_started/quickstart.md))来更新您的导入/用法。
205+
- **迁移到 v0.2.0(推荐)**:按照上方的 **[安装](#-安装)** 章节操作,然后浏览 **[快速开始](#-快速开始)**(或完整的 [快速开始指南](https://modelscope.github.io/OpenJudge/get_started/quickstart/))来更新您的导入/用法。
206206

207207
如果您遇到迁移问题,请 [提交 issue](https://github.com/modelscope/OpenJudge/issues) 并附上您的最小复现代码和当前版本。
208208

docs/get_started/core_concepts.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Flexible [data mapping](#data-mapping) ensures your existing data formats can be
5050

5151
Based on your evaluation purpose, you can choose the appropriate assessment approach:
5252

53-
- **Code-Based graders**: For objective, quantitative evaluations using the [FunctionGrader](../../openjudge/graders/function_grader.py), these graders use predefined functions or algorithms to compute scores. These graders are deterministic and fast, ideal for metrics like exact match, format validation, or simple checks. This approach is best suited for quantitative analysis where you need consistent, reproducible results based on mathematical or logical operations.
53+
- **Code-Based graders**: For objective, quantitative evaluations using the [FunctionGrader](https://github.com/modelscope/OpenJudge/blob/main/openjudge/graders/function_grader.py), these graders use predefined functions or algorithms to compute scores. These graders are deterministic and fast, ideal for metrics like exact match, format validation, or simple checks. This approach is best suited for quantitative analysis where you need consistent, reproducible results based on mathematical or logical operations.
5454

5555
```python
5656
# A simple function grader that checks if response contains reference answer
@@ -60,7 +60,7 @@ def contains_reference(response, reference):
6060
contains_grader = FunctionGrader(contains_reference)
6161
```
6262

63-
- **LLM-Based graders**: For subjective, qualitative evaluations using the [LLMGrader](../../openjudge/graders/llm_grader.py), these graders leverage large language models to perform sophisticated evaluations. These graders can assess complex qualities like helpfulness, safety, or coherence by using natural language understanding. This approach is best suited for qualitative analysis where nuanced understanding is required, such as evaluating the helpfulness of responses, detecting subtle hallucinations, or assessing the quality of creative content.
63+
- **LLM-Based graders**: For subjective, qualitative evaluations using the [LLMGrader](https://github.com/modelscope/OpenJudge/blob/main/openjudge/graders/llm_grader.py), these graders leverage large language models to perform sophisticated evaluations. These graders can assess complex qualities like helpfulness, safety, or coherence by using natural language understanding. This approach is best suited for qualitative analysis where nuanced understanding is required, such as evaluating the helpfulness of responses, detecting subtle hallucinations, or assessing the quality of creative content.
6464

6565
```python
6666
# An LLM grader that evaluates helpfulness of responses
@@ -71,9 +71,9 @@ helpfulness_grader = HelpfulnessGrader(model=OpenAIChatModel("qwen3-32b"))
7171

7272
Based on the evaluation purpose, you can choose the appropriate evaluation mode. Each mode produces specific output types:
7373

74-
- **Pointwise evaluation**: Assesses individual samples independently, generating a score for each input-output pair. This approach is suitable for quantitative assessment of individual responses, producing a [GraderScore](../../openjudge/graders/schema.py) for each sample.
74+
- **Pointwise evaluation**: Assesses individual samples independently, generating a score for each input-output pair. This approach is suitable for quantitative assessment of individual responses, producing a [GraderScore](https://github.com/modelscope/OpenJudge/blob/main/openjudge/graders/schema.py) for each sample.
7575

76-
- **Listwise evaluation**: Ranks multiple samples relative to each other, comparing several responses to the same query. This approach generates relative rankings rather than absolute scores, producing a [GraderRank](../../openjudge/graders/schema.py) that indicates the relative quality of responses.
76+
- **Listwise evaluation**: Ranks multiple samples relative to each other, comparing several responses to the same query. This approach generates relative rankings rather than absolute scores, producing a [GraderRank](https://github.com/modelscope/OpenJudge/blob/main/openjudge/graders/schema.py) that indicates the relative quality of responses.
7777

7878
### Understanding Results
7979

@@ -121,7 +121,7 @@ For detailed instructions on creating custom graders, please refer to the [Build
121121

122122
## How Runners Use Graders
123123

124-
The [GradingRunner](../../openjudge/runner/grading_runner.py) is the central execution engine of OpenJudge that orchestrates the evaluation process across multiple graders. It acts as the conductor of an orchestra, coordinating all the different graders to create a harmonious evaluation process. The GradingRunner is specifically designed to serve Graders by providing the infrastructure they need to operate efficiently and effectively. It serves Graders by providing execution orchestration, data mapping services, concurrency management, result aggregation, and resource optimization to execute graders concurrently and maximize throughput.
124+
The [GradingRunner](https://github.com/modelscope/OpenJudge/blob/main/openjudge/runner/grading_runner.py) is the central execution engine of OpenJudge that orchestrates the evaluation process across multiple graders. It acts as the conductor of an orchestra, coordinating all the different graders to create a harmonious evaluation process. The GradingRunner is specifically designed to serve Graders by providing the infrastructure they need to operate efficiently and effectively. It serves Graders by providing execution orchestration, data mapping services, concurrency management, result aggregation, and resource optimization to execute graders concurrently and maximize throughput.
125125

126126
To better understand how Runners use Graders, let's look at a complete configuration example:
127127

@@ -188,7 +188,7 @@ Types of mappers include:
188188

189189
#### Aggregation Configuration
190190

191-
After running multiple graders, you might want to combine their results into a single score. The [aggregator submodule](../../openjudge/runner/aggregator/) provides components that take multiple grader results and combine them into a unified result:
191+
After running multiple graders, you might want to combine their results into a single score. The [aggregator submodule](https://github.com/modelscope/OpenJudge/tree/main/openjudge/runner/aggregator/) provides components that take multiple grader results and combine them into a unified result:
192192

193193
- **WeightedSumAggregator**: Combining results using weighted averages. In our example, we assign 60% weight to helpfulness and 40% to relevance: `WeightedSumAggregator(weights={"helpfulness": 0.6, "relevance": 0.4})`
194194
- **MaxAggregator**: Taking the maximum score among all graders
@@ -208,11 +208,11 @@ Concurrency control enables efficient processing of large datasets while maintai
208208

209209
## How to Analyze Grader
210210

211-
After running evaluations with the **GradingRunner**, you can use the [analyzer module](../../openjudge/analyzer/) to process the results and gain deeper insights. Analyzers are optional components that help you understand your evaluation results better and assess the quality of your graders.
211+
After running evaluations with the **GradingRunner**, you can use the [analyzer module](https://github.com/modelscope/OpenJudge/tree/main/openjudge/analyzer/) to process the results and gain deeper insights. Analyzers are optional components that help you understand your evaluation results better and assess the quality of your graders.
212212

213213
Types of analyzers include:
214-
- **Statistical analyzers**: Compute statistics on evaluation results (e.g., [DistributionAnalyzer](../../openjudge/analyzer/statistical/distribution_analyzer.py)) to understand score distributions and identify potential issues with grader consistency
215-
- **Validation analyzers**: Compare evaluation results with reference labels (e.g., [AccuracyAnalyzer](../../openjudge/analyzer/validation/accuracy_analyzer.py), [F1ScoreAnalyzer](../../openjudge/analyzer/validation/f1_score_analyzer.py)) to measure how well your graders correlate with known ground truth
214+
- **Statistical analyzers**: Compute statistics on evaluation results (e.g., [DistributionAnalyzer](https://github.com/modelscope/OpenJudge/blob/main/openjudge/analyzer/statistical/distribution_analyzer.py)) to understand score distributions and identify potential issues with grader consistency
215+
- **Validation analyzers**: Compare evaluation results with reference labels (e.g., [AccuracyAnalyzer](https://github.com/modelscope/OpenJudge/blob/main/openjudge/analyzer/validation/accuracy_analyzer.py), [F1ScoreAnalyzer](https://github.com/modelscope/OpenJudge/blob/main/openjudge/analyzer/validation/f1_score_analyzer.py)) to measure how well your graders correlate with known ground truth
216216

217217
These analyzers help you:
218218
- Evaluate the effectiveness of your graders by comparing their outputs to known standards

docs/requirements.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# MkDocs and theme
2+
mkdocs==1.6.1
3+
mkdocs-shadcn==0.9.5
4+
5+
# Plugins
6+
mkdocstrings==0.30.1
7+
mkdocstrings-python==1.18.2
8+
9+
# Markdown extensions (pymdownx is included in pymdown-extensions)
10+
pymdown-extensions==10.16.1
11+
12+

0 commit comments

Comments
 (0)