CoolFace
Modelpublic

jamesjk4242/insighta-chatbot-v1

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes5downloads
Model Card

Insighta Chatbot v1

A LoRA adapter for YouTube video learning assistance. Provides concise summaries, timestamped explanations, and actionable connections to users' Mandala Chart goals.

Model Details

  • —Base Model: Qwen3-30B-A3B (MoE, 30B total / 3B active parameters)
  • —Method: QLoRA (4-bit quantization)
  • —LoRA Rank: 16
  • —LoRA Alpha: 16
  • —Target Modules: qproj, kproj, vproj, oproj, gateproj, upproj, down_proj
  • —Language: Korean (96.8%), English (3.2%)
  • —License: Apache 2.0
  • —Developed by: Insighta (James Kim)

What is Insighta?

Insighta is an AI-powered personal knowledge management SaaS that automatically classifies YouTube content into a 9x9 Mandala Chart goal structure. This chatbot serves as an in-app learning assistant that helps users extract insights from videos and connect them to their personal goals.

Training Details

Training Data

  • —Total entries: 18,497 (train) + 4,628 (validation)
  • —Format: ChatML (system / user / assistant)
  • —Layers:
  • —L1: Video-level Q&A (single video context)
  • —L2: Mandala cell application (video + specific goal cell)
  • —L3: Mandala mesh integration (cross-cell connections)
  • —L4: Region-aware responses (player state, notes, active UI region)
  • —Source: Rule-based generation from 1,281 YouTube video rich summaries (v2 format)

System Prompt Structure (SSOT)

Training data and serving use an identical structured key-value format:

[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/paused

Answer Golden Pattern

The model is trained to produce responses in this format:

1. 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)

Training Hyperparameters

ParameterValue
Epochs3 (in progress)
Batch Size2
Gradient Accumulation4
Effective Batch Size8
Learning Rate2e-4
LR SchedulerLinear
OptimizerAdamW 8-bit
Max Sequence Length4096
Weight Decay0.001
Current Checkpoint1200 steps (~Epoch 0.5)
Training Loss at Checkpoint0.23

Compute Infrastructure

  • —Hardware: NVIDIA A100 SXM 80GB (RunPod)
  • —Projected Training Time: ~24h for 3 epochs
  • —Framework: Unsloth 2026.5.2 + PEFT 0.18.1 + TRL 0.24.0 + Transformers 5.5.0

Usage

With Unsloth (Recommended)

python
from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="jamesjk4242/insighta-chatbot-v1",
    max_seq_length=4096,
    load_in_4bit=True,
)
FastLanguageModel.for_inference(model)

messages = [
    {"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"},
    {"role": "user", "content": "What is the key point of this video?"},
]

inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda")
outputs = model.generate(inputs, max_new_tokens=500)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

With vLLM (Serverless Deployment)

bash
# Environment variables for vLLM worker
MODEL=qwen/qwen3-30b-a3b
ENABLE_LORA=true
LORA_MODULES='[{"name":"insighta-chatbot","path":"jamesjk4242/insighta-chatbot-v1"}]'
MAX_MODEL_LENGTH=4096

Important: Disable Thinking Mode

Qwen3's thinking mode must be disabled for this adapter. Append /no_think to the end of the system prompt:

system: "... rules ...\n\n/no_think"

Without this, the model will spend tokens on internal reasoning (<think> blocks) instead of generating the answer directly.

Intended Use

  • —In-app YouTube video learning chatbot for Insighta
  • —Mandala Chart-based goal management with video content connections
  • —Timestamped section summaries and key concept extraction
  • —Action item matching between video insights and personal goals

Limitations

  • —Partial training: Current checkpoint at Epoch 0.5 (step 1200/6939). Full 3-epoch training is in progress.
  • —Timestamp accuracy: May be incomplete due to partial training. Expected to improve with full training.
  • —Korean-optimized: English response quality may be lower.
  • —MoE expert LoRA: Some inference frameworks may have compatibility issues with MoE-specific LoRA adapters (e.g., target_parameters includes mlp.experts.*).
  • —Context dependency: Best results require the structured system prompt format described above. Generic prompts will produce generic responses.

Related Resources

Citation

bibtex
@misc{insighta-chatbot-v1,
  author = {Kim, James},
  title = {Insighta Chatbot v1: YouTube Learning Assistant LoRA Adapter},
  year = {2026},
  publisher = {Hugging Face},
  url = {https://huggingface.co/jamesjk4242/insighta-chatbot-v1}
}

Contact