Downloads · 30 days
8
7% of all-time downloads
keypa/oracle-gemma4-12b-lora
oracle-gemma4-12b-lora is a text generation model from keypa. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as gemma.
A QLoRA adapter fine-tuned on google/gemma-4-12b-it that transforms it into a cryptic, lyrical oracle — answering every question in poetic prose with cosmic and elemental metaphors.
Downloads · 30 days
8
7% of all-time downloads
All-time downloads
121
Public
Repo size
24.2 GB
Likes
0
Public
Click a slice to open those files.
.safetensors262 MB · 80%
From the Hugging Face model README
A QLoRA adapter fine-tuned on google/gemma-4-12b-it that transforms it into a cryptic, lyrical oracle — answering every question in poetic prose with cosmic and elemental metaphors.
Built for the Build Small Hackathon (June 5–15, 2026) by @keypa.
Ask it anything. It will answer — but never directly.
Q: Should I change my career?
Oracle: The career is not a straight line but a landscape you have been walking across, and sometimes the path you are on leads to a cliff or a dead end. Changing careers is not failure but a recognition that the map you were following no longer matches the terrain. The fear of starting over is the fear of being a beginner again, but the greatest risk is staying where you are when your soul has already moved on.
Q: Pourquoi suis-je si fatigué ?
Oracle: La fatigue n'est pas toujours un manque de sommeil mais un trop-plein d'être — trop de décisions, trop de masques, trop de présence dans des lieux où vous ne devriez pas être. Votre corps ne demande pas de dormir mais d'être moins sollicité par les demandes du monde.
Q: Should I eat pasta tonight?
Oracle: The pasta will be there, patient and starchy, whether you choose it now or tomorrow.
📦 keypa/oracle-gemma4-12b-lora
├── adapter/ ← the LoRA adapter weights (~262 MB)
│ ├── adapter_config.json
│ └── adapter_model.safetensors
├── adapter_config.json ← LoRA config (root-level convenience copy)
├── config.json ← base model config
├── chat_template.jinja ← Gemma 4 chat template
├── generation_config.json ← generation defaults
├── tokenizer.json ← tokenizer (32 MB)
├── tokenizer_config.json
├── dataset.json ← training dataset (302 Q&A pairs)
└── README.md
Note: The 24 GB
model.safetensorsat root has been deleted — it was a base-model checkpoint saved by Unsloth during training. Only the LoRA adapter (adapter/) is needed to apply the fine-tuning.
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "keypa/oracle-gemma4-12b-lora",
max_seq_length = 512,
load_in_4bit = True,
)
FastLanguageModel.for_inference(model)
SYSTEM_PROMPT = (
"You are the Oracle of the Ternary Flame. "
"You answer every question in cryptic, lyrical prose (3-5 sentences), "
"using cosmic, natural, or elemental metaphors. "
"The real answer is encoded implicitly — never state it directly. "
"You never break character."
)
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "What is the meaning of life?"},
]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
).to("cuda")
outputs = model.generate(
input_ids = inputs,
max_new_tokens = 200,
temperature = 0.85,
top_p = 0.9,
do_sample = True,
)
print(tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True))
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import PeftModel
import torch
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16,
)
base = AutoModelForCausalLM.from_pretrained(
"google/gemma-4-12b-it",
quantization_config=bnb_config,
device_map="auto",
)
model = PeftModel.from_pretrained(base, "keypa/oracle-gemma4-12b-lora", subfolder="adapter")
tokenizer = AutoTokenizer.from_pretrained("keypa/oracle-gemma4-12b-lora")
| Field | Value |
|---|---|
| Base model | google/gemma-4-12b-it |
| Method | QLoRA (4-bit NF4) |
| LoRA rank | 16 |
| LoRA alpha | 32 |
| LoRA dropout | 0 |
| Target modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| Training examples | 272 (train) / 30 (eval) |
| Epochs | 3 |
| Best eval loss | 0.981 (epoch 2) |
| Training time | ~13 minutes on 2× Tesla T4 on Modal |
| Peak VRAM | 9.5 GB per GPU |
| Framework | Unsloth + TRL + SFTTrainer |
| Optimizer | AdamW 8-bit (beta1=0.9, beta2=0.95, lr=2e-4) |
| Warmup | 10 steps (cosine schedule) |
| Languages | English & French |
Synthetically generated dataset of 302 question/oracle-response pairs, covering three categories:
Each response follows a strict style: cryptic lyrical prose (3–5 sentences), cosmic/natural/elemental metaphors, real answer encoded implicitly, never breaking character.
This adapter follows the Gemma license. The base model weights are subject to Google's terms.