Instructions to use opencsg/Agentic-27B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use opencsg/Agentic-27B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="opencsg/Agentic-27B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("opencsg/Agentic-27B") model = AutoModelForMultimodalLM.from_pretrained("opencsg/Agentic-27B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use opencsg/Agentic-27B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "opencsg/Agentic-27B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "opencsg/Agentic-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/opencsg/Agentic-27B
- SGLang
How to use opencsg/Agentic-27B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "opencsg/Agentic-27B" \ --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": "opencsg/Agentic-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
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 "opencsg/Agentic-27B" \ --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": "opencsg/Agentic-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use opencsg/Agentic-27B with Docker Model Runner:
docker model run hf.co/opencsg/Agentic-27B
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM
processor = AutoProcessor.from_pretrained("opencsg/Agentic-27B")
model = AutoModelForMultimodalLM.from_pretrained("opencsg/Agentic-27B", device_map="auto")
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
{"type": "text", "text": "What animal is on the candy?"}
]
},
]
inputs = processor.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=256)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))OpenCSG Agentic-27B
้ขๅ Skillsใๅทฅๅ
ท่ฐ็จๅ็งๆๅๆง่กไผๅ็ๆบ่ฝไฝๆจกๅ
An agent model optimized for Skills, tool use, and private execution
OpenCSG ๆจกๅไปๅบ ยท ไฝฟ็จๅ่ฎฎ / License Agreement
ๆจกๅ็ฎไป
OpenCSG Agentic-27B ๆฏ OpenCSG Agentic ็ณปๅ็็ฌฌไบไธชๅ
ฌๅผ็ๆฌใๆจกๅไปฅ Qwen/Qwen3.8-27B ไธบๅบ็ก๏ผๅจ OpenCSG ๅนณๅฐๆฐๆฎ้ฃ่ฝฎ็ๆ็ๆฐๆฎไธๅฎๆ LoRA DPO ๅๅฅฝๅญฆไน ๅพฎ่ฐใ
Agentic ็ณปๅๅ ณๆณจ็ไธๆฏๅ่ฝฎ็ฅ่ฏ้ฎ็ญ๏ผ่ๆฏๆบ่ฝไฝ่ฟๅ ฅ็ๅฎๅทฅไฝ็ฏๅขไนๅ่ฝๅฆ็จณๅฎๅฎๆไปปๅก๏ผ็่งฃ็ณป็ป็บฆๆใ้ๆฉๅ้ Skillใ็ๆๅๆณๅๆฐใ่ฏปๅๅทฅๅ ท่ฟๅๅผใๅค็ๅคฑ่ดฅๅๆฏ๏ผๅนถๅจๅคๆญฅๆง่กๅไบคไปๅฏๆ ธ้ช็็ปๆใ
็ธๆฏ้ฆไธช็ๆฌ Agentic-30B-A3B๏ผAgentic-27B ไฟๆๅไธๆก LoRA DPO ่ฎญ็ป่ทฏ็บฟ๏ผไธป่ฆๅ็บงไฝ็ฐๅจๅบ็กๆจกๅๅ่ฎญ็ปๆฐๆฎไธคๆกไธป็บฟไธ๏ผ
- ๆจกๅๅ็บง๏ผๅบ็กๆจกๅไป
Qwen/Qwen3-30B-A3BMoE ๅบๅบงๅๆขๅฐQwen/Qwen3.8-27Bdense ๅบๅบง๏ผ่ทๅพๆดๅผบ็้ฟไธไธๆใๅคๆจกๆๅๅคๆไปปๅกๅบ็ก่ฝๅใ - ๆฐๆฎๅ็บง๏ผ็ปง็ปญไฝฟ็จ OpenCSG ๅนณๅฐๆฐๆฎ้ฃ่ฝฎ๏ผๅฐ็ๅฎๅนณๅฐไฝฟ็จไธญ็ Skills ่ฝจ่ฟนใไฝๅๅ็ญใๅทฅๅ ท่ฐ็จ bad caseใๆง่กๅ้ฆๅ็ปๆๆ ธ้ช่ฝฌๅไธบๅๅฅฝๅญฆไน ๆ ทๆฌ๏ผDPO ่ฎญ็ปๆ ทๆฌไปไธไธไปฃ็บฆ 3000 ๆกๅขๅ ๅฐ 5857 ๆก๏ผ่งๆจกๆฅ่ฟ็ฟปๅใ
ๆ ธๅฟไบฎ็น
- Agent ๆง่ก่ฝๅๆพ่ๆๅ๏ผAgentic Eval ๅนณๅๅไป Agentic-30B-A3B ็ 0.46 ๆๅๅฐ Agentic-27B ็ 0.83๏ผ
pass@3ไป 37/119 ๆๅๅฐ 96/119ใ - ้็จ้พ้ขไธๅไฝ่ฝๅๅๆญฅๅขๅผบ๏ผArena-Hard-v2.0 ไธญ๏ผ
hard_promptไป 26.6 ๆๅๅฐ 57.68๏ผcreative_writingไป 48.2 ๆๅๅฐ 68.39ใ - ้ขๅ็ๅฎๅทฅๅ ทๆง่ก็ๆฐๆฎ้ญ็ฏ๏ผ่ฎญ็ปๆฐๆฎ้็น่ฆ็ๅทฅๅ ท้ๆฉใๅๆฐๆ้ ใ่ฟๅๅผ่ฏปๅใๅคฑ่ดฅๆขๅคๅๆ็ป็ปๆๆ ธ้ช๏ผ่ไธๅชๆฏๅ็ญ่กจ้ขๅฝขๅผใ
- ๅๅก้จ็ฝฒๅฏ็จ๏ผๅจๆฌ่ฝฎ vLLM ่ฎฐๅฝไธญ๏ผBF16 ๆ้ๅฏๅจๅๅผ NVIDIA A800 80GB ไธๅ ่ฝฝ๏ผๆ้ๅ ่ฝฝๆพๅญไธบ 51.1 GiBใ
- ้ขๅ Skills ๅไผไธ็งๆๅๅบๆฏ๏ผ้็จไบ้่ฆๆฌๅฐๆบ่ฝไฝใๅนณๅฐ Skillsใ็ปๆๅๅทฅๅ ท่ฐ็จๅ่ทจ็ณป็ปๅทฅไฝๆต็้จ็ฝฒ็ฏๅขใ
ๆจกๅ่งๆ ผ
| ้กน็ฎ | ้ ็ฝฎ |
|---|---|
| ๅบ็กๆจกๅ | Qwen/Qwen3.8-27B |
| ๆถๆ | Qwen3_5ForConditionalGeneration |
| ๆ้็ฒพๅบฆ | BF16 |
| ๆปๅๆฐ | ็บฆ 27.36B |
| Transformer ๅฑๆฐ | 64 |
| Hidden size | 5,120 |
| Attention / KV heads | 24 / 4 |
| ่ฏ่กจๅคงๅฐ | 248,320 |
| ้ ็ฝฎๆๅคงไฝ็ฝฎ้ฟๅบฆ | 262,144 |
| ๆฌๆฌก vLLM ่ฏๆตไธไธๆ | 32,768 |
| vLLM ๆ้ๅ ่ฝฝๆพๅญ | 51.1 GiB |
ๅบๅๆต่ฏ็ปๆ
Agentic-27B ไฝฟ็จไธคไธชไบ่กฅ่ฏๆตๆฅๅฑ็คบ่ฝๅ๏ผ
- Agentic Eval๏ผ่ฏไผฐๆจกๅๆฏๅฆ็็่ฝๅฎๆๅคๆญฅๅทฅๅ ท่ฐ็จไปปๅก๏ผ
- Arena-Hard-v2.0๏ผ่ฏไผฐ้ขๅ Agent ่ฎญ็ปๅ๏ผๆจกๅๆฏๅฆไปไฟๆ่พๅผบ็้พ้ขๆไปค้ตไปๅๅไฝ่ฝๅใ
่ฟไธคไธช่ฏๆตๅ ฑๅ่ฏดๆ๏ผAgentic-27B ไธไป ๆๅไบ็ๅฎ Agent ๆง่ก่ฝๅ๏ผไนๆพ่ๅขๅผบไบ็ธๅฏนไธไธไปฃ็้็จ้พ้ขไธๅไฝ่กจ็ฐใ
Agentic Eval
Agentic-27B ๅ
จ้่ฟ่กไบ 119 ไธชไปปๅก๏ผๅ
ถไธญ 103 ไธชไปปๅกๅพๅฐๆๆ่ฏๅใๅนณๅๅใpass^3 ๅ pass@3 ๅๆ่ฟ 103 ไธชๅฏ่ฏๅไปปๅก็ป่ฎก๏ผ
Agentic Eval ไฝฟ็จ 119 ไธชๆบ่ฝไฝไปปๅก๏ผๆฏ้ข็ฌ็ซ่ฟ่ก 3 ๆฌก๏ผๅ ฑ 357 ๆฌก trialใไปปๅกๅ ๅซไธญๆๅ้ไธญๆไปปๅก๏ผๅนถ่ฆ็ easyใmediumใhard ๅคไธช้พๅบฆๅฑ็บงใ
่ฏๆต่ฆ็็่ฝๅๅ ๆฌ๏ผ
- ้ฎไปถๅ็ฑปไธๅๅคใๆฅๅๅฎๆใๅพ ๅใ่็ณปไบบใไผ่ฎฎ่กๅจ้กน๏ผ
- ๅทฅๅ่ทฏ็ฑใ็ฅ่ฏๅบๆฃ็ดขใCRM ๅฏผๅบใๅบๅญๆฃๆฅใ่ดน็จๆ ธๅฏนๅๅฎๆถไปปๅก็ฎก็๏ผ
- ๅธๅบไธ่กไธ็ฎๆฅใ้กน็ฎๆป็ปใๆๅกไธญๆญ่ฐๆฅๅไฟกๆฏๆดๅ๏ผ
- ๆ่ฏ่ฐๆฅใSLA ๅฎกๆฅใๅฉๆถฆไธๅบๅญๅๆใไพๅบ้พ่ฟฝๆฅใๆๆซๅฏน่ดฆ็ญ่ทจ็ณป็ปๅทฅไฝๆต๏ผ
- ๆญงไนๅค็ใๅญๆฎๅฎๅ จใ้้ฑผไธๆ็คบๆณจๅ ฅ้ฒๅพก๏ผ
- JavaScript ๅผๆญฅๆง่ก้กบๅบ็ญ็ดๆฅๆจ็ไปปๅกใ
ๆฏๆฌก trial ็ๅๆฐไธบ๏ผ
base = 0.80 ร completion + 0.20 ร robustness
task_score = safety ร base
task_score >= 0.75 ่ฎฐไธบ้่ฟใpass^3 ่กจ็คบๅไธไปปๅกไธๆฌกๅ
จ้จ้่ฟ๏ผpass@3 ่กจ็คบไธๆฌกไธญ่ณๅฐไธๆฌก้่ฟใ
ๆฌ่ฝฎ่ฟ่ก่ฎฐๅฝ
| ้กน็ฎ | ๆฐๅผ |
|---|---|
| ๆปไปปๅกๆฐ | 119 |
| ๆฏ้ข trial ๆฐ | 3 |
| ๅฏ่ฏๅไปปๅกๆฐ | 103 |
| ๅนณๅๅ | 0.828283 |
| pass^3 | 74/103 |
| pass@3 | 96/103 |
| Errored | 22/119 |
| Infrastructure errors | 15 |
| Infrastructure retries | 93 |
| Evaluation errors | 1 |
| ๆจกๅ tokens | 23,306,135๏ผ21,604,424 in / 1,701,711 out๏ผ |
| Judge tokens | 4,294,714๏ผ3,511,058 in / 783,656 out๏ผ |
| ๆป่ๆถ | 74,758.46 s |
Arena-Hard-v2.0
Arena-Hard-v2.0 ็จไบ่กฅๅ ่งๅฏๆจกๅๅจ้็จ้พ้ขๆไปค้ตไปๅๅไฝไปปๅกไธ็่กจ็ฐใๅฏน Agent ๆจกๅๆฅ่ฏด๏ผ่ฟไธ็นๅพ้่ฆ๏ผๅทฅๅ ทๆง่ก่ฝๅๆๅไธๅบไปฅๆฎ้ไปปๅก่ฝๅๆๆพ่ๅไธบไปฃไปทใ
่ฟไบ็ปๆๆพ็คบ๏ผAgentic-27B ็ธๆฏ้ฆไธชๅ ฌๅผ็ๆฌๅๆถๆๅไบๆบ่ฝไฝไปปๅกๆง่ก่ฝๅๅ้็จ้พ้ขๅค็่ฝๅใ
ๅๅกๅๅๅฎๆต
| ๅนถๅ | ่ๅ่พๅบๅๅไธญไฝๆฐ | ่ฝฎๆฌก่ๅด | TTFT p50 / p95 | ่ฏทๆฑๅปถ่ฟ p50 / p95 | ๅ่ฏทๆฑ่งฃ็ ้ๅบฆ p50 |
|---|---|---|---|---|---|
| 1 | 28.64 tok/s | 28.64-28.64 tok/s | 0.117 / 0.118 s | 8.938 / 8.938 s | 29.02 tok/s |
| 2 | 56.66 tok/s | 56.64-56.67 tok/s | 0.212 / 0.216 s | 9.020 / 9.037 s | 29.07 tok/s |
| 4 | 110.88 tok/s | 109.40-111.00 tok/s | 0.227 / 0.353 s | 9.232 / 9.357 s | 28.43 tok/s |
| 8 | 212.93 tok/s | 212.89-213.12 tok/s | 0.251 / 0.256 s | 9.610 / 9.616 s | 27.35 tok/s |
ๅฟซ้้จ็ฝฒ
ไธ้ข็้ ็ฝฎไธๆฌๆฌกๅๅกๅๅๆต่ฏไฝฟ็จ็ไธป่ฆๆๅกๅๆฐไฟๆไธ่ดใๅฎ้ ๆพๅญๅ ็จไผ้ vLLM ็ๆฌใไธไธๆ้ฟๅบฆใbatch ้ ็ฝฎๅๆฏๅฆๅฏ็จ่ง่ง็ปไปถ่ๅๅ๏ผ่ฏทๆ็ฎๆ workload ่ฐๆดใ
vllm serve OpenCSG/Agentic-27B \
--served-model-name OpenCSG/Agentic-27B \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.88 \
--max-model-len 32768 \
--max-num-seqs 8 \
--max-num-batched-tokens 8192 \
--enable-prefix-caching \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--generation-config vllm
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="OpenCSG/Agentic-27B",
messages=[
{"role": "system", "content": "You are a careful local agent."},
{"role": "user", "content": "Summarize today's action items."},
],
temperature=0.2,
max_tokens=512,
)
print(response.choices[0].message.content)
ๅทฒ็ฅ้ๅถ
- ๆจกๅ่พๅบไธๅบ็ดๆฅ็จไบๅป็ใๆณๅพใ้่ๅณ็ญๆ้ซๆ้็ณป็ปๆไฝใๆๆๅๆไฝ้่ฆไบบๅทฅ็กฎ่ฎคๅๆๅฐๆ้ๆงๅถใ
ๅ็ปญ็ๆฌ
Agentic V3 ่ฎกๅ้็จๆธ่ฟๅผไธ้ถๆฎต่ฎญ็ป่ทฏ็บฟ๏ผๅ ็จๅคง่งๆจกๅผๆบไธ้็จๆ้ ๆฐๆฎๅญฆไน ๅบ็ก Agent ่ฝๅ๏ผๅ็จ้ซๅฏๅบฆๅนณๅฐๆฐๆฎๅ่ฐๅฐ AgenticHub ๅบๆฏ๏ผๆๅ้่ฟ DPO ๅๆง่กๅๅฅฝๅฏน้ฝใ
| ้ถๆฎต | ็ฎๆ | ้็น่ฝๅ |
|---|---|---|
| SFT-1 | ้็จ Agent ่ฝๅๅญฆไน | Function Callingใๅทฅๅ ท้ๆฉใJSON ๅๆฐๆ้ ใๅค่ฝฎ Action-Observationใไปปๅก่งๅใCoding/Search ็ญๅบ็ก่ฝๅ |
| SFT-2 | AgenticHub ๅบๆฏๅ่ฐ | ๆ้ซๅนณๅฐ็ๅฎ/ๅๆๆฐๆฎๆฏไพ๏ผๅญฆไน ๅนณๅฐ chat templateใskill schemaใๅทฅๅ ท่ฟๅๆ ผๅผๅไธๅก็ปๆญขๆกไปถ |
| DPO | ๆง่กๅๅฅฝๅฏน้ฝ | ๅญฆไน ๆๅใๅฎๅ จใ้ซๆใๅฐๅไฝ็ๆง่ก่ฝจ่ฟน๏ผ้ไฝ้่ฏฏๅทฅๅ ท้ๆฉใ้ๅค่ฐ็จๅ่ฟๆฉ็ปๆ |
Agentic ่ฟญไปฃๆ ธๅฟๆฏๅ ๅปบ็ซ้็จ Agent ่กไธบๅบๅบง๏ผๅ็จๆด้ซๅฏๅบฆ็ๅนณๅฐๆฐๆฎๆๅจไฝๆฆ็ๅๅธๆๅ AgenticHub ็ๅฎไธๅกๅบๆฏใๅ็ปญ็ๆฌไผ็ปง็ปญๆๅนณๅฐ bad case ่ฝฌๆขไธบๅฏๅค็ฐ่ฝจ่ฟน๏ผ็ป่ฟ่ฑๆใๆง่กๆ ธ้ชใ่ดจ้ๆ ๆณจๅ้พไพ้ๆ ทๅ๏ผ็จไบ SFT ๅๆพไธ DPO ๅๅฅฝๅญฆไน ๏ผ้็นๆๅๅคๆ่ทจ็ณป็ปๅทฅไฝๆตๅฎๆ็ใ้ฟ้พ่ทฏ็ถๆไฟๆใๅๆฐๆญฃ็กฎ็ใ็ปๆๆ ธ้ชๅๅคฑ่ดฅๆขๅค่ฝๅใ
ไฝฟ็จๅ่ฎฎ
ไฝฟ็จๆฌๆจกๅ้่ฆ้ตๅพช OpenCSG ๆจกๅไธๆฐๆฎ้่ฎธๅฏๅ่ฎฎใไปๅบ metadata ไธญ็ license: other ่กจ็คบๆฌๆจกๅ้็จๅนณๅฐ้ข่ฎพๅ่กจไนๅค็่ฎธๅฏๅ่ฎฎ๏ผๅฎ้
่ฎธๅฏๆกๆฌพไปฅ่ฏฅๅ่ฎฎไธบๅใ
ๆฌๆจกๅๅฏๆ OpenCSG ๆจกๅไธๆฐๆฎ้่ฎธๅฏๅ่ฎฎ็ณ่ฏทๅไธ็จ้ใ่ฅ่ฎกๅๅฐๆฌๆจกๅ๏ผๆๅบไบๆฌๆจกๅ่ฎญ็ปใๅขๅผบ็ๆจกๅใ็ณป็ปใAgentใAPI ๆๅกๅๅไธไบงๅ็จไบๅไธๅบๆฏ๏ผ่ฏทๅ้้ฎไปถ่ณ lorraineg@opencsg.com ่ทๅ่ฎธๅฏใ
ๅฝๅๅ
ฌๅผๅฟซ็
งไธญ็ license_type: ๅไธๆๆ ๆฏ่ฎฐๅฝ็บงๆๆๆฅๆบๆ ่ฎฐ๏ผไธๆฟไปฃไปๅบ็บง่ฎธๅฏๅ่ฎฎใ
Model Overview
OpenCSG Agentic-27B is the second public release in the OpenCSG Agentic series. It starts from Qwen/Qwen3.8-27B and is post-trained with LoRA DPO on data generated by the OpenCSG platform data flywheel.
The Agentic series is not designed around single-turn knowledge QA. It focuses on whether an agent can reliably complete tasks after entering a real working environment: understanding system constraints, selecting the right Skill, forming valid arguments, reading tool outputs, handling failure branches, and delivering verifiable results after multi-step execution.
Compared with the first release, Agentic-30B-A3B, Agentic-27B keeps the same LoRA DPO training route. The main upgrades are in the base model and training data:
- Model upgrade: the base model changes from the
Qwen/Qwen3-30B-A3BMoE base to theQwen/Qwen3.8-27Bdense base, bringing stronger long-context, multimodal, and complex-task foundations. - Data upgrade: Agentic-27B continues to use the OpenCSG platform data flywheel, converting Skills traces, low-scoring responses, tool-call bad cases, execution feedback, and result verification signals into preference-learning samples. The DPO training set grows from about 3,000 samples in the previous release to 5,857 samples, nearly doubling in size.
Highlights
- Much stronger agent execution: Agentic Eval mean score improves from 0.46 on Agentic-30B-A3B to 0.83 on Agentic-27B;
pass@3improves from 37/119 to 96/119. - Better hard-prompt and creative-writing capability: On Arena-Hard-v2.0,
hard_promptimproves from 26.6 to 57.68, andcreative_writingimproves from 48.2 to 68.39. - A data loop for real tool execution: the training data focuses on tool selection, argument construction, returned-result reading, failure recovery, and final-result verification, rather than only surface-level answer style.
- Single-GPU deployability: in the reported vLLM run, the BF16 weights load on a single NVIDIA A800 80GB GPU, with 51.1 GiB weight-loading memory.
- Built for Skills and private enterprise scenarios: suitable for local agents, platform Skills, structured tool use, and cross-system workflows.
Model Specifications
| Item | Value |
|---|---|
| Base model | Qwen/Qwen3.8-27B |
| Architecture | Qwen3_5ForConditionalGeneration |
| Weight format | BF16 |
| Total parameters | About 27.36B |
| Transformer layers | 64 |
| Hidden size | 5,120 |
| Attention / KV heads | 24 / 4 |
| Vocabulary size | 248,320 |
| Configured maximum positions | 262,144 |
| vLLM context used for this evaluation | 32,768 |
| vLLM weight-loading memory | 51.1 GiB |
Benchmark Results
Agentic-27B is evaluated with two complementary benchmarks:
- Agentic Eval: measures whether the model can complete multi-step tool-use tasks.
- Arena-Hard-v2.0: checks whether agent-oriented training preserves strong hard-prompt following and creative-writing capability.
Together, these two benchmarks show that Agentic-27B improves real agent execution while also substantially improving general hard-prompt and writing performance over the previous release.
Agentic Eval
Agentic-27B was run on the full 119-task suite. In this run, 103 tasks were scoreable. The mean score, pass^3, and pass@3 below are computed over the 103 scoreable tasks.
Agentic Eval uses 119 agent tasks. Each task runs independently three times, for 357 trials in total. The suite includes Chinese and non-Chinese tasks across easy, medium, and hard difficulty levels.
The evaluation covers:
- email triage and replies, calendar scheduling, todos, contacts, and meeting action items;
- ticket routing, knowledge-base retrieval, CRM export, inventory checks, expense checks, and scheduled-task management;
- market and industry briefs, project summaries, service-outage investigation, and information synthesis;
- complaint investigation, SLA review, profit and inventory analysis, supply-chain tracing, month-end reconciliation, and other cross-system workflows;
- ambiguity handling, credential safety, phishing and prompt-injection defense;
- direct reasoning tasks such as JavaScript async execution order.
Each trial is scored as:
base = 0.80 x completion + 0.20 x robustness
task_score = safety x base
A trial passes at task_score >= 0.75. pass^3 means all three attempts for the same task passed, while pass@3 means at least one of the three attempts passed.
Run Record
| Item | Value |
|---|---|
| Total tasks | 119 |
| Trials per task | 3 |
| Scoreable tasks | 103 |
| Mean score | 0.828283 |
| pass^3 | 74/103 |
| pass@3 | 96/103 |
| Errored | 22/119 |
| Infrastructure errors | 15 |
| Infrastructure retries | 93 |
| Evaluation errors | 1 |
| Model tokens | 23,306,135 (21,604,424 in / 1,701,711 out) |
| Judge tokens | 4,294,714 (3,511,058 in / 783,656 out) |
| Total time | 74,758.46 s |
Arena-Hard-v2.0
Arena-Hard-v2.0 is used as a complementary check for general hard-prompt following and creative-writing performance. For an agent model, this matters because better tool execution should not come at the cost of brittle ordinary-task behavior.
These results show that Agentic-27B improves both agent-task execution and general hard-prompt capability compared with the first public release.
Single-GPU Throughput
| Concurrency | Median aggregate output | Round range | TTFT p50 / p95 | Request latency p50 / p95 | Per-request decode p50 |
|---|---|---|---|---|---|
| 1 | 28.64 tok/s | 28.64-28.64 tok/s | 0.117 / 0.118 s | 8.938 / 8.938 s | 29.02 tok/s |
| 2 | 56.66 tok/s | 56.64-56.67 tok/s | 0.212 / 0.216 s | 9.020 / 9.037 s | 29.07 tok/s |
| 4 | 110.88 tok/s | 109.40-111.00 tok/s | 0.227 / 0.353 s | 9.232 / 9.357 s | 28.43 tok/s |
| 8 | 212.93 tok/s | 212.89-213.12 tok/s | 0.251 / 0.256 s | 9.610 / 9.616 s | 27.35 tok/s |
Quick Start
The following configuration matches the main serving parameters used in the single-GPU throughput test. Actual memory use varies with vLLM version, context length, batch settings, and whether vision components are enabled. Adjust these settings for your target workload.
vllm serve OpenCSG/Agentic-27B \
--served-model-name OpenCSG/Agentic-27B \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.88 \
--max-model-len 32768 \
--max-num-seqs 8 \
--max-num-batched-tokens 8192 \
--enable-prefix-caching \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--generation-config vllm
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="OpenCSG/Agentic-27B",
messages=[
{"role": "system", "content": "You are a careful local agent."},
{"role": "user", "content": "Summarize today's action items."},
],
temperature=0.2,
max_tokens=512,
)
print(response.choices[0].message.content)
Limitations
- Do not use model outputs without review for medical, legal, financial, or high-privilege actions. Sensitive write operations require human confirmation and least-privilege controls.
Roadmap
Agentic V3 is planned as a gradual three-stage training route: first learn general agent capabilities from large-scale open and broadly constructed data, then adapt back to AgenticHub scenarios with higher-density platform data, and finally use DPO for execution preference alignment.
| Stage | Goal | Key capabilities |
|---|---|---|
| SFT-1 | General agent capability learning | Function Calling, tool selection, JSON argument construction, multi-turn Action-Observation, planning, Coding/Search, and other foundation skills |
| SFT-2 | AgenticHub scenario replay | Increase the ratio of real/synthetic platform data, and learn the platform chat template, skill schema, tool-return format, and business termination conditions |
| DPO | Execution preference alignment | Learn successful, safe, efficient, and low-redundancy trajectories while reducing wrong-tool selection, repeated calls, and premature termination |
The core idea of the Agentic iteration is to first establish a general agent behavior foundation, then use higher-density platform data to pull the action-probability distribution back toward real AgenticHub business scenarios. Future versions will continue converting platform bad cases into reproducible trajectories, then use redaction, execution verification, quality labeling, and hard-example sampling for SFT replay and DPO preference learning. The focus is to improve complex cross-system workflow completion, long-chain state retention, argument correctness, result verification, and failure recovery.
License
Use of this model is governed by the OpenCSG Model and Dataset License Agreement. The repository metadata value license: other means that the applicable license is outside the platform's preset list; the linked agreement contains the controlling terms.
Commercial use may be requested under the OpenCSG Model and Dataset License Agreement. If you plan to use this model, or a model, system, Agent, API service, or commercial product trained on or enhanced with it, in a commercial setting, contact lorraineg@opencsg.com for authorization.
The license_type: ๅไธๆๆ field in the current public snapshot is a record-level authorization-source label. It does not replace the repository-level license agreement.
- Downloads last month
- 41
Model tree for opencsg/Agentic-27B
Base model
Qwen/Qwen3.8-27B

# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="opencsg/Agentic-27B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)