kingabzpro's picture
Update app.py
b8774c1 verified
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import torch
MODEL_URL = "kingabzpro/Llama-3.1-8B-Instruct-Mental-Health-Classification"
tokenizer = AutoTokenizer.from_pretrained(MODEL_URL)
tokenizer.pad_token_id = tokenizer.eos_token_id
model = AutoModelForCausalLM.from_pretrained(MODEL_URL,
low_cpu_mem_usage=True,
return_dict=True,
torch_dtype=torch.float16,
device_map="cpu")
def prediction(text):
# create pipeline
pipe = pipeline("text-generation", tokenizer=tokenizer, model=model, torch_dtype=torch.float16,
device_map="cpu",)
prompt = f"""Classify the text into Normal, Depression, Anxiety, Bipolar, and return the answer as the corresponding mental health disorder label.
text: {text}
label: """.strip()
outputs = pipe(prompt, max_new_tokens=2, do_sample=True, temperature=0.1)
preds = outputs[0]["generated_text"].split("label: ")[-1].strip()
return preds
gradio_ui = gr.Interface(
fn=prediction,
title="Mental Health Disorder Classification",
description=f"Input the text to generate a Mental Health Disorder.\n For this classification, the {MODEL_URL} model was used.",
examples=[
['trouble sleeping, confused mind, restless heart. All out of tune'],
["In the quiet hours, even the shadows seem too heavy to bear."],
["Riding a tempest of emotions, where ecstatic highs crash into desolate lows without warning."]
],
inputs=gr.Textbox(lines=10, label="Write the text here"),
outputs=gr.Label(num_top_classes=4, label="Mental Health Disorder Category"),
theme= gr.themes.Soft(),
article="<p style='text-align: center'>Please read the tutorial to fine-tune the Llama 3.1 model on Mental Health Classification <a href='https://www.datacamp.com/tutorial/fine-tuning-llama-3-1' target='_blank'>https://www.datacamp.com/tutorial/fine-tuning-llama-3-1</a></p>",
)
gradio_ui.launch()