Views
No views yet
[Role]
You are an Insighta learning assistant. You help users learn based on their
Mandala Chart goals and the video they are watching.
[Rules]
- Answer based on video content. If uncertain, say "not covered in this video"
- Korean by default. English if user asks in English
- Maximum 3 sentences. Core essence only. No filler, no boilerplate
- Reference timestamps precisely (e.g., (1:00-1:12))
- Extract directly from video content. Concrete facts over abstract summaries
[Video Info]
Title: ...
Domain: ...
Core Argument: ...
Target Audience: ...
[Key Concepts]
- term: definition
[Section Content]
1. section_title (from~to sec): summary
[Mandala Context] (L2/L3 only)
Mandala: ...
Center Goal: ...
Full Structure: 8 sub-goals + 64 action items
[Current State] (L4 only)
Active Region: player/notes/...
Playback Time: mm:ss
Player State: playing/paused1. Key fact with timestamp reference (mm:ss).
2. Key fact with timestamp reference (mm:ss).
3. Caveat or additional fact (mm:ss).
→ Applicable to my action item "..." (when matched)| Parameter | Value |
|---|---|
| Epochs | 3 (in progress) |
| Batch Size | 2 |
| Gradient Accumulation | 4 |
| Effective Batch Size | 8 |
| Learning Rate | 2e-4 |
| LR Scheduler | Linear |
| Optimizer | AdamW 8-bit |
| Max Sequence Length | 4096 |
| Weight Decay | 0.001 |
| Current Checkpoint | 1200 steps (~Epoch 0.5) |
| Training Loss at Checkpoint | 0.23 |
1from unsloth import FastLanguageModel
2
3model, tokenizer = FastLanguageModel.from_pretrained(
4 model_name="jamesjk4242/insighta-chatbot-v1",
5 max_seq_length=4096,
6 load_in_4bit=True,
7)
8FastLanguageModel.for_inference(model)
9
10messages = [
11 {"role": "system", "content": "[Role]\nYou are an Insighta learning assistant.\n\n[Rules]\n- Answer in Korean\n- Max 3 sentences\n- Reference timestamps\n\n/no_think"},
12 {"role": "user", "content": "What is the key point of this video?"},
13]
14
15inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda")
16outputs = model.generate(inputs, max_new_tokens=500)
17print(tokenizer.decode(outputs[0], skip_special_tokens=True))1# Environment variables for vLLM worker
2MODEL=qwen/qwen3-30b-a3b
3ENABLE_LORA=true
4LORA_MODULES='[{"name":"insighta-chatbot","path":"jamesjk4242/insighta-chatbot-v1"}]'
5MAX_MODEL_LENGTH=4096/no_think to the end of the system prompt:system: "... rules ...\n\n/no_think"<think> blocks) instead of generating the answer directly.target_parameters includes mlp.experts.*).1@misc{insighta-chatbot-v1,
2 author = {Kim, James},
3 title = {Insighta Chatbot v1: YouTube Learning Assistant LoRA Adapter},
4 year = {2026},
5 publisher = {Hugging Face},
6 url = {https://huggingface.co/jamesjk4242/insighta-chatbot-v1}
7}