How to use from
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 "xsanskarx/thinkygemma-4b" \
    --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": "xsanskarx/thinkygemma-4b",
		"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 "xsanskarx/thinkygemma-4b" \
        --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": "xsanskarx/thinkygemma-4b",
		"messages": [
			{
				"role": "user",
				"content": "What is the capital of France?"
			}
		]
	}'
Quick Links

thinkygemma-4b: your average reasoner

Fine-tuned from Gemma-3-4b-pt

📌 Model ID: xsanskarx/thinkygemma-4b
📌 Parameters trained: 1.8 billion
📌 Trained on: 25k rows of verified Chain-of-Thought (CoT) traces from DeepSeek R1 and Qwen QWQ
📌 Next planned step: GRPO 📌 adapters repo: xsanskarx/thinkgemma-4b


Model Description

This is a fine-tuned version of Google's Gemma-3-4b-it, adapted for **structured reasoning / induced reasoning behaviour.

Training Details

  • Hardware: Single NVIDIA H100
  • Training Time: 9 hours
  • Training Method: LoRA fine-tuning (r = 128, alpha = 256)
  • Dataset: 25k CoT traces
  • Base Model: google/gemma-3-4b-it

Setup

from transformers import AutoTokenizer, Gemma3ForConditionalGeneration, TextStreamer
import torch

# Load model and tokenizer
model_id = "xsanskarx/thinkygemma-4b"
model = Gemma3ForConditionalGeneration.from_pretrained(model_id, device_map="auto").eval()
tokenizer = AutoTokenizer.from_pretrained(model_id)

def ask_model(prompt: str, max_tokens=8192, temperature=0.7):
    """
    Function to ask a question to the model and stream the response.
    """
    messages = [
        {"role": "system", "content": "You are an expert math problem solver, think and reason inside <think> tags, enclose all reasoning in <think> tags, verifying logic step by step and then return your final structured answer"},
        {"role": "user", "content": prompt}
    ]

    formatted_prompt = tokenizer.apply_chat_template(messages, tokenize=False)
    inputs = tokenizer(formatted_prompt, return_tensors="pt").to(model.device)

    streamer = TextStreamer(tokenizer, skip_special_tokens=True)
    with torch.inference_mode():
        model.generate(**inputs, max_new_tokens=max_tokens, do_sample=True, temperature=temperature, streamer=streamer)

# Example usage
ask_model("do 2+2")
Downloads last month
4
Safetensors
Model size
5B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for xsanskarx/thinkygemma-4b

Finetuned
(308)
this model
Quantizations
1 model