UKPLab/Graph2Counsel
Viewer โข Updated โข 760 โข 170 โข 2
Llama-3-8B-Instruct fine-tuned on the Graph2Counsel dataset for mental health counseling dialogue generation. The model generates counselor response to a client dialogue in a multi-turn counseling dialogue.
Base model: meta-llama/Meta-Llama-3-8B-Instruct
Input: A system prompt with a fixed counselor instruction, followed by the dialogue history and the client profile.
Output: The next counselor turn in the therapeutic dialogue.
Training data: Graph2Counsel โ a dataset of synthetic counseling sessions grounded in CPGs derived from real counseling sessions.
Fine-tuning method: QLoRA
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "UKPLab/Llama3-G2C"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
system_prompt = (
"You are a professional counselor. Your task is to generate a natural, empathetic "
"and therapeutic response to the client's most recent utterance while adhering to "
"established psychological techniques. You are provided with the current dialogue "
"history and the client profile. Please be mindful to only generate the counselor "
"response for a single turn, and do not include extra text like \"here is the next "
"counselor utterance\" or \"Here is a possible next utterance\" or anything mentioning "
"or explaining the used technique."
)
history = (
"Counselor: What brings you in today?\n"
"Client: I've been feeling really anxious at work lately. "
"It usually happens when I have to give feedback. "
"I worry my comments won't be taken seriously."
)
profile = (
"Client is a 28-year-old graphic designer who overthinks interactions "
"with colleagues and struggles to articulate her feelings in stressful situations."
)
user_content = f"Dialogue History:\n{history}\nClient Profile:\n{profile}"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_content},
]
input_ids = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
with torch.no_grad():
output = model.generate(
input_ids,
max_new_tokens=256,
do_sample=True,
temperature=0.7,
top_p=0.9,
)
response = tokenizer.decode(output[0][input_ids.shape[-1]:], skip_special_tokens=True)
print(response)
Please cite this model using:
@inproceedings{mandal-etal-2026-graph2counsel,
title = "{G}raph2{C}ounsel: Clinically Grounded Synthetic Counseling Dialogue Generation from Client Psychological Graphs",
author = "Mandal, Aishik and
Arnaout, Hiba and
Ong, Clarissa W. and
Bockhorst, Juliet and
Sheehan, Kate and
Moldow, Rachael and
Chakraborty, Tanmoy and
Gurevych, Iryna",
editor = "Lee, Hung-Yi and
Dev, Sunipa and
Li, Junyi Jessy and
Elliott, Desmond",
booktitle = "Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing",
month = oct,
year = "2026",
address = "Budapest, Hungary",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2026.emnlp-main.85/",
doi = "10.18653/2026.emnlp-main.85",
pages = "1953--2012",
ISBN = "979-8-89176-459-0",
abstract = "Rising demand for mental health support has increased interest in using Large Language Models (LLMs) for counseling, but adapting them to this safety-critical domain is hindered by limited real-world data due to privacy constraints. Synthetic datasets provide a promising alternative, but existing approaches often rely on unstructured or semi-structured text inputs and overlook structural dependencies between a client{'}s cognitive, emotional, and behavioral states, leading to psychologically inconsistent and less realistic interactions. We introduce Graph2Counsel, a framework for generating synthetic counseling sessions grounded in Client Psychological Graphs (CPGs) that encode relationships among clients' thoughts, emotions, and behaviors. Graph2Counsel uses a structured prompting pipeline guided by counselor strategies and CPG, and explores prompting strategies including CoT and Multi-Agent Feedback. It produces 760 sessions from 76 CPGs across diverse client profiles. In expert evaluation, our dataset outperforms prior datasets on specificity, counselor competence, authenticity, conversational flow, and safety (Krippendorff{'}s $\alpha$ = 0.70). Fine-tuning an open-source model on this dataset improves performance on several metrics on CounselingBench and CounselBench, while matching baselines on others. We further introduce Therapy-Eval, a multi-turn evaluation framework, and demonstrate the effectiveness of our fine-tuned model in realistic therapeutic conversations. We make our code, data and fine-tuned model public."
}
For questions or feedback, please contact: aishik.mandal@tu-darmstadt.de
Base model
meta-llama/Meta-Llama-3-8B-Instruct