Text Generation
Transformers
Safetensors
gemma4_unified
image-text-to-text
fine-tuned
qlora
reasoning
compact-reasoning
gemma-4
conversational
Eval Results (legacy)
Instructions to use kai-os/Grug-12B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use kai-os/Grug-12B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="kai-os/Grug-12B") 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)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("kai-os/Grug-12B") model = AutoModelForMultimodalLM.from_pretrained("kai-os/Grug-12B", 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=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use kai-os/Grug-12B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "kai-os/Grug-12B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "kai-os/Grug-12B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/kai-os/Grug-12B
- SGLang
How to use kai-os/Grug-12B 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 "kai-os/Grug-12B" \ --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": "kai-os/Grug-12B", "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 "kai-os/Grug-12B" \ --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": "kai-os/Grug-12B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use kai-os/Grug-12B with Docker Model Runner:
docker model run hf.co/kai-os/Grug-12B
Update Grug 12B banner
Browse files- .gitattributes +1 -0
- README.md +12 -1
- banner.png +3 -0
.gitattributes
CHANGED
|
@@ -35,3 +35,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
logo.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
logo.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
banner.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -42,7 +42,7 @@ model-index:
|
|
| 42 |
name: Grug-12B average generated tokens
|
| 43 |
---
|
| 44 |
|
| 45 |
-

|
| 46 |
|
| 47 |
# Grug 12B
|
| 48 |
|
|
|
|
| 68 |
The data pipeline started from a recent, filtered reasoning pool and converted
|
| 69 |
verbose traces into compact traces before SFT packing.
|
| 70 |
|
| 71 |
+
Source gate:
|
| 72 |
+
|
| 73 |
+
- Run date: June 30, 2026.
|
| 74 |
+
- Default freshness cutoff: 45 days. Sources older than May 16, 2026 were
|
| 75 |
+
rejected unless manually allowed.
|
| 76 |
+
- Allowed train licenses: MIT, Apache-2.0, CC-BY-4.0, CC0-1.0.
|
| 77 |
+
- Hard reject terms included OpenAI, ChatGPT, GPT-5, Claude, Anthropic, Opus,
|
| 78 |
+
Sonnet, and Gemini.
|
| 79 |
+
- Soft-risk sources marked as synthetic/distill were manually reviewed or
|
| 80 |
+
rejected depending on provenance and license.
|
| 81 |
+
|
| 82 |
Final verified source mix:
|
| 83 |
|
| 84 |
| Source | License | Domain | Verified rows |
|
banner.png
ADDED
|
Git LFS Details
|