marctheshark/meditation-planner-qwen2.5-3b-lora
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
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
Output Format
The model outputs structured JSON session plans with these fields:
title,intention— session framingduration_minutes,goal,modality,experience_level,tone,intensity— echo of request parameterssetup— posture, props, environment notessafety_notes— relevant cautions (empty if none needed)stages[]— ordered session stages, each withname,minutes,purpose,instructions,breath_pattern,pacing_notesclosing_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.
