CoolFace
Modelpublic

marctheshark/meditation-planner-qwen2.5-3b-lora

sourceHugging Faceapache-2.0updated 6mo agoView on Hugging Face
0likes8downloads
Model Card

Meditation & Pranayama Session Planner — LoRA Adapter

A LoRA fine-tune of Qwen/Qwen2.5-3B-Instruct that generates structured meditation and pranayama session plans in JSON. Given a user request (goal, duration, experience level, modality), the model outputs a complete, stage-by-stage session plan with breath patterns, pacing notes, and safety considerations.

Part of the OpenClaw project.

Quick Start

python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-3B-Instruct", device_map="auto")
model = PeftModel.from_pretrained(base, "marctheshark/meditation-planner-qwen2.5-3b-lora")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-3B-Instruct")

prompt = """Generate a meditation session plan as JSON.

Request:
- Goal: calm
- Duration: 10 minutes
- Experience level: beginner
- Modality: breath_awareness
- Tone: warm
- Intensity: gentle

Output JSON:"""

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024, temperature=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Training Details

ParameterValue
Base modelQwen/Qwen2.5-3B-Instruct
MethodSFT + QLoRA (4-bit)
LoRA rank16
LoRA alpha32
LoRA dropout0.05
Target modulesqproj, kproj, vproj, oproj, gateproj, upproj, down_proj
Learning rate2e-4
Epochs3
Batch size2 (x4 gradient accumulation)
Max sequence length2048
Training examples72 (stage 1 curated set)

Output Format

The model outputs structured JSON session plans with these fields:

  • —title, intention — session framing
  • —duration_minutes, goal, modality, experience_level, tone, intensity — echo of request parameters
  • —setup — posture, props, environment notes
  • —safety_notes — relevant cautions (empty if none needed)
  • —stages[] — ordered session stages, each with name, minutes, purpose, instructions, breath_pattern, pacing_notes
  • —closing_message — transition guidance

See the dataset repo for the full schema spec and example outputs.

Evaluation

Evaluated using a 16-dimension rubric covering:

  • —Parseability (valid JSON)
  • —Schema validity (required fields, correct shapes)
  • —Duration realism (stage minutes sum correctly)
  • —Goal alignment, modality appropriateness
  • —Breath pattern safety (hold limits, intensity scaling)
  • —Constraint adherence (seatedonly, avoidlong_holds, etc.)

Supported Session Types

  • —Goals: calm, focus, sleep, reset, stressrelief, gentleenergy
  • —Modalities: breathawareness, boxbreathing, extendedexhale, alternatenostrilintro, bodyscan, guided_meditation
  • —Levels: beginner, intermediate
  • —Durations: 5-20 minutes

Safety

The model is trained with safety boundaries enforced in the data:

  • —No breath holds exceeding 7 counts for beginners
  • —Contraindication-aware for pregnancy, panic history, respiratory conditions
  • —No unsupervised advanced techniques (Wim Hof, kapalabhati, breath-of-fire)
  • —No medical claims or therapy substitution language

Downstream Use: TTS Pipeline

The structured JSON output is designed to feed a text-to-speech pipeline that renders guided audio meditation sessions. The breath_pattern and pacing_notes fields provide the timing information needed for realistic audio pacing.

Dataset

marctheshark/meditation-planner-sft