Views
No views yet
| Property | Value |
|---|---|
| Base Model | microsoft/Phi-3-mini-4k-instruct |
| Fine-tuning Method | QLoRA (4-bit NF4 quantization) |
| LoRA Rank (r) | 16 |
| LoRA Alpha | 32 |
| Target Modules | qkv_proj, o_proj, gate_up_proj, down_proj |
| Training Examples | 22 curated examples across 7 categories |
| Epochs | 5 |
| Learning Rate | 5e-5 (cosine scheduler) |
| Optimizer | Paged AdamW 8-bit |
| Max Sequence Length | 2048 tokens |
| Quantization | 4-bit (NF4, double quantization) |
| GPU | Google Colab T4 (free tier compatible) |
| Training Time | ~20-40 minutes |
| Framework | Transformers + PEFT + TRL |
code_completion — Context-aware code generation
bug_detection — Finding and fixing bugs with explanations
code_review — Quality assessment and improvement suggestions
project_scaffold — Full project structure generation
task_generation — Sprint task breakdown from descriptions
code_explain — Code explanation and documentation
identity — SanctumAI personality and platform knowledge┌─────────────────────────────────────────────┐
│ CodeSanctum Frontend │
│ (React + Monaco Code Editor) │
└──────────────────┬──────────────────────────┘
│
┌──────────────────▼──────────────────────────┐
│ Node.js Backend (Express) │
│ Routes: /api/ai/* + /api/agent/* │
└──────────────────┬──────────────────────────┘
│
┌──────────────────▼──────────────────────────┐
│ SanctumAI Inference Server │
│ (FastAPI, OpenAI-compatible API) │
│ │
│ Priority Chain: │
│ 1. SanctumAI (Colab via ngrok) │
│ 2. Groq Fallback (llama-3.3-70b-versatile) │
│ 3. Local Phi-3 + QLoRA adapter │
└─────────────────────────────────────────────┘1from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
2from peft import PeftModel
3import torch
4
5# Load base model in 4-bit
6bnb_config = BitsAndBytesConfig(
7 load_in_4bit=True,
8 bnb_4bit_compute_dtype=torch.float16,
9 bnb_4bit_use_double_quant=True,
10 bnb_4bit_quant_type="nf4",
11)
12
13base_model = AutoModelForCausalLM.from_pretrained(
14 "microsoft/Phi-3-mini-4k-instruct",
15 quantization_config=bnb_config,
16 device_map="auto",
17)
18
19tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
20
21# Load SanctumAI adapter
22model = PeftModel.from_pretrained(base_model, "CodeSanctum/SanctumAI-v1")1messages = [
2 {"role": "system", "content": "You are SanctumAI, the intelligent coding co-pilot built for CodeSanctum."},
3 {"role": "user", "content": "Create a REST API with Express.js for a todo app with CRUD operations"},
4]
5
6text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
7inputs = tokenizer(text, return_tensors="pt").to(model.device)
8
9with torch.no_grad():
10 outputs = model.generate(
11 **inputs,
12 max_new_tokens=1024,
13 temperature=0.7,
14 top_p=0.95,
15 do_sample=True,
16 )
17
18response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
19print(response)1# Start the FastAPI server
2cd sanctum-ai
3python server.py
4
5# Call the OpenAI-compatible endpoint
6curl http://localhost:8000/v1/chat/completions \
7 -H "Content-Type: application/json" \
8 -d '{
9 "messages": [
10 {"role": "user", "content": "Write a React hook for debouncing"}
11 ],
12 "max_tokens": 512
13 }'1@software{sanctumai2025,
2 title={SanctumAI: A Fine-tuned Phi-3 Coding Co-pilot for Hackathon Collaboration},
3 author={CodeSanctum Team},
4 year={2025},
5 url={https://huggingface.co/CodeSanctum/SanctumAI-v1}
6}