Downloads · 30 days
44
8% of all-time downloads
fesalfayed/gpt-oss-20b-hermes_agent-tool-finetune_16bit
gpt-oss-20b-hermes_agent-tool-finetune_16bit is a text generation model from fesalfayed. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
<p align="center" <img src="assets/banner16bit.png" alt="gpt-oss-20b · Hermes-Agent tool finetune · BF16" width="100%" / </p
Downloads · 30 days
44
8% of all-time downloads
All-time downloads
561
Public
Parameters
20.9B
41.9 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors41.8 GB · 100%
From the Hugging Face model README
Reference checkpoint. Full BF16 weights, ready for vLLM, Transformers, or further quantization.
A tool-use finetune of OpenAI's gpt-oss-20b for Hermes-Agent,
a local agent framework that needs models which call tools reliably, follow
multi-turn instructions, and don't argue with system prompts.
The base model is the 21B-parameter (3.6B active) Mixture-of-Experts release from OpenAI. This finetune preserves the Harmony chat template and the reasoning-effort knob, and improves:
It is not affiliated with NousResearch's Hermes model series. "Hermes-Agent" here refers to the local agent framework only.
pip install -U vllm
vllm serve fesalfayed/gpt-oss-20b-hermes_agent-tool-finetune_16bit \
--max-model-len 8192 \
--gpu-memory-utilization 0.92
OpenAI-compatible endpoint at http://127.0.0.1:8000/v1.
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tok = AutoTokenizer.from_pretrained("fesalfayed/gpt-oss-20b-hermes_agent-tool-finetune_16bit")
model = AutoModelForCausalLM.from_pretrained(
"fesalfayed/gpt-oss-20b-hermes_agent-tool-finetune_16bit",
torch_dtype=torch.bfloat16,
device_map="auto",
)
msgs = [
{"role": "system", "content": "You are a helpful agent. Reasoning: low"},
{"role": "user", "content": "What is 17 * 23?"},
]
inputs = tok.apply_chat_template(msgs, return_tensors="pt", add_generation_prompt=True).to(model.device)
out = model.generate(inputs, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.95)
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
Add a profile in ~/.hermes/config.yaml:
profiles:
gpt-oss-20b-tools:
provider: openai
base_url: http://127.0.0.1:1234/v1 # LM Studio / vLLM / mlx_lm.server
model: fesalfayed/gpt-oss-20b-hermes_agent-tool-finetune_16bit
temperature: 0.7
top_p: 0.95
min_p: 0.1 # important for MoE stability
max_tokens: 8192
tool_choice: auto
Then hermes profile use gpt-oss-20b-tools and the agent loop will route
tool calls through this model.
| Param | Value | Why |
|---|---|---|
| temperature | 0.7 | balanced; drop to 0.2 for strict tool calls |
| top_p | 0.95 | standard nucleus |
| min_p | 0.1 | required for MoE — prevents dead-expert tokens |
| repetition_penalty | 1.0 | the model handles repetition itself |
Harmony reasoning effort: set the system message to Reasoning: low|medium|high.
high is roughly 3-4x more output tokens but noticeably better on multi-step
tool plans.
openai/gpt-oss-20bThe _16bit repo holds the merged BF16 weights. The _4bit, _mlx, and
_gguf repos are quantizations of that checkpoint.
gpt-oss-20b already provides.Apache-2.0, inherited from the base model. No additional restrictions.
@misc{fesalfayed_gptoss20b_hermesagent_2025,
author = {Fayed, Fesal},
title = {gpt-oss-20b Hermes-Agent tool finetune (16bit)},
year = {2025},
url = {https://huggingface.co/fesalfayed/gpt-oss-20b-hermes_agent-tool-finetune_16bit},
}