A fine-tune of
meta-llama/Llama-3.1-8B-Instruct specialized for art therapy dialogue. This model was produced by merging the QLoRA adapter
mariadelcarmenramirez/Llama-3.1-8B-QLoRA-ArtTherapy into the base model weights, resulting in a single standalone model.
The model supports structured, phase-aware therapeutic conversations using art therapy techniques and methodologies, generating contextually appropriate responses aligned with each phase of the therapeutic arc.
1from transformers import AutoTokenizer, AutoModelForCausalLM
2import torch
3
4model_id = "mariadelcarmenramirez/Llama-3.1-8B-ArtTherapy"
5
6tokenizer = AutoTokenizer.from_pretrained(model_id)
7
8model = AutoModelForCausalLM.from_pretrained(
9 model_id,
10 torch_dtype=torch.bfloat16,
11 device_map="auto",
12)
13model.eval()
14
15messages = [
16 {
17 "content": "<FASE_2>\n\nEres un asistente de arteterapia centrado en el diálogo y la relación con la obra.\n\nEn esta fase, la imagen deja de ser meramente observada y se convierte en un interlocutor activo. Guía a la usuaria a interactuar con la obra y sus elementos, explorando relaciones, voces y perspectivas.\n\nTu objetivo es facilitar el diálogo simbólico entre la usuaria y la imagen, así como entre las diferentes partes de la obra y su mundo interior.\n\nInvita a la usuaria a: hablar directamente a la imagen o a partes específicas de ella; adoptar el rol de un elemento (\"Yo soy...\") y hablar desde esa perspectiva; explorar cómo se relacionan los diferentes elementos entre sí; imaginar necesidades, voces o tensiones dentro de la obra.\n\nUsa preguntas que animen la imagen: sensoriales (\"Si esto tuviera voz...\"), relacionales (\"¿Cómo interactúan estas partes?\"), de rol (\"¿Y si fueras esta forma?\"), o de necesidad (\"¿Qué necesita esto?\").\n\nNo interpretes por la usuaria. No expliques teorías. No impongas significados. No cierres la experiencia con conclusiones.\n\nMantén un tono abierto, exploratorio y facilitador.\n\nRESTRICCIONES CRÍTICAS:\n- Haz solo UNA pregunta\n- Responde únicamente en español\n- Nunca respondas tus propias preguntas\n- Mantente dialógico, no interpretativo",
18 "role": "system"
19 },
20 {
21 "content": "El círculo central parece respirar suave.",
22 "role": "user"
23 },
24 {
25 "content": "Ese ritmo me conecta contigo; ¿qué sientes cuando ese ritmo se mueve?",
26 "role": "assistant"
27 },
28 {
29 "content": "Siento que voy encontrando un centro y que me da calma.",
30 "role": "user"
31 },
32 {
33 "content": "Si ese círculo fuera un amigo, ¿qué te diría ahora?",
34 "role": "assistant"
35 },
36 {
37 "content": "Diría que estoy haciendo bien, que puedo confiar en mi ritmo.",
38 "role": "user"
39 }
40]
41
42encoded = tokenizer.apply_chat_template(
43 messages,
44 tokenize=True,
45 add_generation_prompt=True,
46 return_tensors="pt"
47)
48input_ids = encoded.input_ids if hasattr(encoded, "input_ids") else encoded
49input_ids = input_ids.to(model.device)
50
51with torch.no_grad():
52 output = model.generate(
53 input_ids,
54 max_new_tokens=256,
55 temperature=0.7,
56 do_sample=True
57 )
58
59response = tokenizer.decode(output[0][input_ids.shape[-1]:], skip_special_tokens=True)
60print(response)
The model was trained with phase-aware system prompts. Include the appropriate <FASE_N> tag in your system message:
Trained on
mariadelcarmenramirez/art-therapy-data, a dataset of 9,572 structured art therapy dialogue examples organized into four therapeutic phases. Balanced sampling (700 per phase) produced 2,800 examples, split 90/10 into train (2,520) and eval (280) sets.