xingyaoww commited on
Commit
d4004a2
·
verified ·
1 Parent(s): af6377d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +49 -50
README.md CHANGED
@@ -1,69 +1,68 @@
 
 
 
 
 
 
 
1
  # OpenHands Critic 4B v1.0
2
 
3
- A 4B parameter critic model for evaluating AI agent trajectories, trained to predict task success from behavioral rubrics.
 
 
 
 
 
 
 
4
 
5
  ## Model Details
6
 
7
- - **Base Model**: Qwen3-4B
8
- - **Training**: Full parameter fine-tuning with BCE loss
9
  - **Context Length**: Trained on 64K, supports up to 256K tokens
10
  - **Task**: Multi-label classification (26 labels: 25 rubric features + 1 success prediction)
11
 
12
- ## Paper
13
-
14
- This model is described in the paper: **"Rubric-Supervised Critics for Sparse Agent Feedback"**
15
-
16
- ### Key Results (Mixed-Outcome Subset)
17
- - **+15.9 points** Best@8 improvement over random selection (73.8% vs 57.9%)
18
- - **0.83 MRR** - correct trajectory typically ranked first
19
- - **83% compute reduction** via adaptive rollout (1.36 attempts vs 8)
 
 
 
 
 
 
 
 
20
 
21
  ## Usage
22
 
23
- This model is designed for use with vLLM's classification API:
24
-
25
- ```python
26
- from openai import OpenAI
27
 
28
- client = OpenAI(
29
- base_url="YOUR_VLLM_SERVER_URL/v1",
30
- api_key="YOUR_API_KEY"
31
- )
32
 
33
- # Format your trajectory as a conversation
34
- messages = [
35
- {"role": "system", "content": "You are evaluating an AI agent's task attempt..."},
36
- {"role": "user", "content": "Task: ..."},
37
- {"role": "assistant", "content": "Agent actions..."}
38
- ]
39
 
40
- # Get classification scores
41
- response = client.classifications.create(
42
- model="openhands-critic-4b-v1.0",
43
- messages=messages
44
- )
45
-
46
- # The model outputs probabilities for 26 labels:
47
- # - Labels 0-24: Rubric features (behavioral indicators)
48
- # - Label 25: Success prediction (primary output for ranking)
49
- ```
50
-
51
- ## Training Data
52
-
53
- Trained on 154K segments from:
54
- - Production agent conversations (150K segments)
55
- - SWE-Gym benchmark trajectories (4K segments)
56
-
57
- ## License
58
-
59
- Please refer to the Qwen3 license for base model terms.
60
 
61
  ## Citation
62
 
63
  ```bibtex
64
- @article{openhands2025critic,
65
- title={Rubric-Supervised Critics for Sparse Agent Feedback},
66
- author={OpenHands Team},
67
- year={2025}
 
 
 
 
68
  }
69
- ```
 
1
+ ---
2
+ license: mit
3
+ base_model:
4
+ - Qwen/Qwen3-4B
5
+ pipeline_tag: text-classification
6
+ ---
7
+
8
  # OpenHands Critic 4B v1.0
9
 
10
+ A 4B parameter critic model for evaluating AI agent trajectories, trained to predict behavioral rubrics and task success.
11
+
12
+ ## Related Links
13
+
14
+ - Paper: https://arxiv.org/abs/2603.03800
15
+ - Rubrics (definitions & prompts): https://github.com/OpenHands/critic-rubrics
16
+ - Docs (Use it in OpenHands Software Agent SDK): https://docs.openhands.dev/sdk/guides/critic
17
+ - Docs (Use it in OpenHands CLI): https://docs.openhands.dev/openhands/usage/cli/critic
18
 
19
  ## Model Details
20
 
21
+ - **Base Model**: Qwen/Qwen3-4B
22
+ - **Training**: Full-parameter fine-tuning with BCE loss
23
  - **Context Length**: Trained on 64K, supports up to 256K tokens
24
  - **Task**: Multi-label classification (26 labels: 25 rubric features + 1 success prediction)
25
 
26
+ ## Serving (vLLM Classification API)
27
+
28
+ We serve this model using vLLM’s classification task:
29
+
30
+ ```bash
31
+ vllm serve <MODEL_PATH> \
32
+ --host 0.0.0.0 \
33
+ --port 8000 \
34
+ --api-key <API_KEY> \
35
+ --served-model-name <MODEL_NAME> \
36
+ --task classify \
37
+ --max-model-len 262144 \
38
+ --dtype bfloat16 \
39
+ --trust-remote-code \
40
+ --enable-prefix-caching
41
+ ```
42
 
43
  ## Usage
44
 
45
+ We recommend using the **OpenHands SDK** for inference instead of calling the vLLM classification endpoint directly.
 
 
 
46
 
47
+ Follow the SDK guide: https://docs.openhands.dev/sdk/guides/critic
 
 
 
48
 
49
+ In particular, reuse the SDK client implementation here (it already handles formatting and API calls): https://github.com/OpenHands/software-agent-sdk/blob/main/openhands-sdk/openhands/sdk/critic/impl/api/critic.py
 
 
 
 
 
50
 
51
+ At a high level, you will:
52
+ 1. Start a critic server (see **Serving** section above)
53
+ 2. Configure the SDK to point to your critic endpoint + API key
54
+ 3. Call the SDK critic to score trajectories (returns rubric probabilities + success score)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
  ## Citation
57
 
58
  ```bibtex
59
+ @misc{wang2026rubricsupervisedcriticsparserealworld,
60
+ title={A Rubric-Supervised Critic from Sparse Real-World Outcomes},
61
+ author={Xingyao Wang and Valerie Chen and Heng Ji and Graham Neubig},
62
+ year={2026},
63
+ eprint={2603.03800},
64
+ archivePrefix={arXiv},
65
+ primaryClass={cs.AI},
66
+ url={https://arxiv.org/abs/2603.03800},
67
  }
68
+ ```