WritingBench: A Comprehensive Benchmark for Generative Writing
Paper • 2503.05244 • Published • 22
How to use AQuarterMile/WritingBench-Critic-Model-Qwen-7B with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="AQuarterMile/WritingBench-Critic-Model-Qwen-7B")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("AQuarterMile/WritingBench-Critic-Model-Qwen-7B")
model = AutoModelForCausalLM.from_pretrained("AQuarterMile/WritingBench-Critic-Model-Qwen-7B")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use AQuarterMile/WritingBench-Critic-Model-Qwen-7B with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "AQuarterMile/WritingBench-Critic-Model-Qwen-7B"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "AQuarterMile/WritingBench-Critic-Model-Qwen-7B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B
How to use AQuarterMile/WritingBench-Critic-Model-Qwen-7B with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "AQuarterMile/WritingBench-Critic-Model-Qwen-7B" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "AQuarterMile/WritingBench-Critic-Model-Qwen-7B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=<secret>" \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server \
--model-path "AQuarterMile/WritingBench-Critic-Model-Qwen-7B" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "AQuarterMile/WritingBench-Critic-Model-Qwen-7B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use AQuarterMile/WritingBench-Critic-Model-Qwen-7B with Docker Model Runner:
docker model run hf.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("AQuarterMile/WritingBench-Critic-Model-Qwen-7B")
model = AutoModelForCausalLM.from_pretrained("AQuarterMile/WritingBench-Critic-Model-Qwen-7B")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))📃 [Paper] • 🚀 [Github Repo] • 📏 [Critic Model] • ✍️ [Writer-7B] [Writer-32B]
This model is fine-tuned from Qwen/Qwen2.5-7B-Instruct on a 50K SFT dataset for writing evaluation tasks.
For each criterion, the evaluator independently assigns a score on a 10-point scale to a response, providing both a score and a justification.
The following hyperparameters were used during training:
@misc{wu2025writingbench,
title={WritingBench: A Comprehensive Benchmark for Generative Writing},
author={Yuning Wu and Jiahao Mei and Ming Yan and Chenliang Li and Shaopeng Lai and Yuran Ren and Zijia Wang and Ji Zhang and Mengyue Wu and Qin Jin and Fei Huang},
year={2025},
url={https://arxiv.org/abs/2503.05244},
}
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="AQuarterMile/WritingBench-Critic-Model-Qwen-7B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)