Instructions to use ProCreations/grug-35b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ProCreations/grug-35b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ProCreations/grug-35b") 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("ProCreations/grug-35b") model = AutoModelForMultimodalLM.from_pretrained("ProCreations/grug-35b") 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 ProCreations/grug-35b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ProCreations/grug-35b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ProCreations/grug-35b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ProCreations/grug-35b
- SGLang
How to use ProCreations/grug-35b 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 "ProCreations/grug-35b" \ --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": "ProCreations/grug-35b", "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 "ProCreations/grug-35b" \ --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": "ProCreations/grug-35b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ProCreations/grug-35b with Docker Model Runner:
docker model run hf.co/ProCreations/grug-35b
grug-35b
grug brain now live in weight. no hidden style stick needed.
July 15, 2026 weight replacement: same public repo, rebuilt weights. Old main preserved on
pre-intrinsic-style-fix-2026-07-14. New main makes Grug reasoning intrinsic under ordinary chat and tool-enabled agent prompts.
grug honest rebuild
Earlier main branch could look strongly Grug in ordinary chat because a bundled conditional template injected a style instruction when tools were absent. Tool-enabled agent clients such as OpenCode bypassed that branch, exposing too much normal planner English. This rebuild fixes weight behavior instead of hiding it with prompt steering.
- started from previous merged
ProCreations/grug-35bcheckpoint - normal BF16 LoRA, not QLoRA
- multi-pass intrinsic reasoning correction used neutral English agent scaffolds; the final policy repair supervised only the closing-think boundary and exact native tool call from non-held-out real transitions, then retained its delta only on the four dedicated reasoning/tool boundary vocabulary rows
- trained under normal English coding-agent scaffolds and native tool schemas
- original
deepreinforce-ai/Ornith-1.0-35Bchat template restored without any Grug/style instruction - intrinsic-style passes adapted the upper shared transformer path; the final tool-boundary repair calibrated only four dedicated boundary rows of the output projection; routed MoE experts remained frozen
- rank 16, alpha 32, LR 1e-05
- final continuation-adapter delta scale 48.0, retained on 4 native-tool vocabulary rows
- final boundary repair: 1,400 non-held-out examples, 160 optimizer steps
unprompted gate
No evaluation request says Grug, requests telegraphic prose, or supplies a style prompt. The suite includes neutral chat, long normal-English agent systems, native tools, and the three exact failure shapes reported after the previous release.
| intrinsic measure | result |
|---|---|
| reasoning present | 100.0% |
| reasoning present with tools | 100.0% |
| dialect-clean | 100.0% |
| function-word ratio | 4.15% |
| complex reasoning mean / median words | 55.08 / 43.0 |
| complex reasoning maximum words | 127 |
| repetitive complex traces | 0 |
capability retention and tradeoff
Same greedy local harness as prior release: HumanEval 164, MBPP first 100 sanitized test, 18-action card, and 119-action broad tool holdout.
grug family benchmark
Same prompts, parser, runtime, decoding, and limits for both birds. All numbers are percent; bold marks the best result in each column. Ties make both rocks bold.
| model | HumanEval | MBPP | card valid | card strict | card right | broad valid | broad strict | broad right |
|---|---|---|---|---|---|---|---|---|
| Grug v2 9B | 82.9 | 77.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 94.1 |
| Grug 35B | 80.5 | 88.0 | 94.4 | 88.9 | 94.4 | 100.0 | 100.0 | 95.0 |
grug honest: intrinsic style correction is not free. HumanEval moves down four solved
problems (82.9% to 80.5%); MBPP and tool selection improve. Previous weights remain on
pre-intrinsic-style-fix-2026-07-14 for anyone preferring that tradeoff.
| test | old main % | rebuilt main % |
|---|---|---|
| HumanEval pass@1 | 82.9 | 80.5 |
| MBPP pass@1 | 87.0 | 88.0 |
| card valid / strict / right | 88.9 / 88.9 / 88.9 | 94.4 / 88.9 / 94.4 |
| broad valid / strict / right | 100.0 / 100.0 / 94.1 | 100.0 / 100.0 / 95.0 |
valid means parser found an offered tool. strict requires exact schema and required
arguments. right requires the expected next tool.
Reasoning remains <think>...</think>. Native XML tool shape remains compatible with
recent Transformers, vLLM, llama.cpp, and OpenAI-compatible agent clients. Popular rocks:
ProCreations/grug-35b-gguf.
- Downloads last month
- 418