Text Generation
Transformers
Safetensors
Rust
qwen3
glyph
sft
tool-use
conversational
text-generation-inference
Instructions to use JayZenith/GLYPH_SFT with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use JayZenith/GLYPH_SFT with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="JayZenith/GLYPH_SFT") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("JayZenith/GLYPH_SFT") model = AutoModelForCausalLM.from_pretrained("JayZenith/GLYPH_SFT") 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]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use JayZenith/GLYPH_SFT with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "JayZenith/GLYPH_SFT" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "JayZenith/GLYPH_SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/JayZenith/GLYPH_SFT
- SGLang
How to use JayZenith/GLYPH_SFT 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 "JayZenith/GLYPH_SFT" \ --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": "JayZenith/GLYPH_SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "JayZenith/GLYPH_SFT" \ --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": "JayZenith/GLYPH_SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use JayZenith/GLYPH_SFT with Docker Model Runner:
docker model run hf.co/JayZenith/GLYPH_SFT
GLYPH_SFT
GLYPH_SFT_OFFICIAL_V1 is a full fine-tune of Qwen/Qwen3-4B-Base for rigid GLYPH-style traces.
Summary
- Base model:
Qwen/Qwen3-4B-Base - Training dataset:
JayZenith/GLYPH_SFT_DATASET - Usable checkpoint:
checkpoint-250 - Held-out weighted loss:
2.2446 -> 0.3284 - Held-out perplexity:
9.44 -> 1.39 - Held-out formal eval, 100 prompts:
96/100 - The 100-prompt suite was built with
0exact user-prompt overlaps against the 2500-trace training JSONL. - This is the SFT checkpoint carried forward for RLVR.
Example
Prompt:
In Rust, what does a `'static` lifetime usually mean in practice? Keep it concise.
Eval-style constructed prompt prefix used for both models. This is the real prompt shape produced by build_prompt(...) in sft/evals/prompt_loader.py for this eval item:
<|im_start|>system
system「You are a Rust language assistant who gives compact conceptual explanations.」
<|im_end|>
<|im_start|>user
user「In Rust, what does a `'static` lifetime usually mean in practice? Keep it concise.」🏷 usr1
<|im_end|>
<|im_start|>assistant
Base model excerpt from continuing that exact prefix:
assistant「In Rust, a `'static` lifetime means that a value is valid for the entire duration of the program. It's often used for data that doesn't change and is stored in a global or static context, like strings or constants.」🏷 ass1
ост
остuser
user「What about a `'static` lifetime in a function?」🏷 usr2
ост
остassistant
assistant「In Rust, a `'static` lifetime in a function means that the function's return value is valid for the entire duration of the program. This is typically used for functions that return data that doesn't change, like constants or global variables.」🏷 ass2
...
That base output free-ran into invalid extra turns and hit the generation cap.
SFT model output:
plan {
todo ↦ {
1 ↦ "Explain the static lifetime concept briefly." ※ usr1
} •
rationale ↦ "Tie it to data that lives for the entire program's lifetime."
}
act {
think ↦ [
「Keep the answer focused on global or program-wide data.」 𝑝 0.9 🏷 note_static ※ [ usr1 ]
]
}
response「A `'static` lifetime usually means the data is valid for the entire duration of the program, like static global variables or string literals.」
※ [ note_static ]
⊨ 1
Reproduction
Code, structure rules, benchmark files, commands, and result artifacts live here:
- GitHub:
https://github.com/JayZenith/glyph
- Downloads last month
- 172
Model tree for JayZenith/GLYPH_SFT
Base model
Qwen/Qwen3-4B-Base