Views
No views yet
run_code + workspace tools).HF_TOKEN to download the base weights.apps/sft).1import os
2import torch
3from peft import PeftModel
4from transformers import AutoModelForImageTextToText, AutoTokenizer, BitsAndBytesConfig
5
6token = os.environ["HF_TOKEN"]
7base_id = "google/gemma-4-E2B-it"
8adapter_id = "nabin2004/AOS-gemma4-manim-sft"
9
10bnb = BitsAndBytesConfig(
11 load_in_4bit=True,
12 bnb_4bit_use_double_quant=True,
13 bnb_4bit_quant_type="nf4",
14 bnb_4bit_compute_dtype=torch.bfloat16,
15)
16
17base = AutoModelForImageTextToText.from_pretrained(
18 base_id,
19 quantization_config=bnb,
20 device_map="auto",
21 torch_dtype=torch.bfloat16,
22 token=token,
23)
24model = PeftModel.from_pretrained(base, adapter_id, token=token)
25tokenizer = AutoTokenizer.from_pretrained(adapter_id, token=token)
26model.eval()1cd apps/sft
2uv run python infer.py \
3 --adapter-dir nabin2004/AOS-gemma4-manim-sft \
4 --prompt "Create a short Manim scene explaining eigenvectors in 2D."1uv run --package sft python apps/sft/infer.py \
2 --adapter-dir nabin2004/AOS-gemma4-manim-sft \
3 --colab \
4 --prompt "Create a short Manim scene explaining eigenvectors in 2D."| File | Description |
|---|---|
adapter_config.json | PEFT LoRA configuration |
adapter_model.safetensors | LoRA weights |
tokenizer_config.json | Training chat template (includes {% generation %} markers) |
1cd apps/sft
2uv run python run.py --colab --epochs 1 --report-to none --push-to-hub1export HF_TOKEN=hf_...
2uv run python upload_adapter.py --adapter-dir ./gemma4-manim-ft