LuminAI / README.md
alvinwongster's picture
Update README.md
2964325 verified
---
language:
- en
base_model:
- HuggingFaceTB/SmolLM2-360M-Instruct
---
# LuminAi
![cover image](https://huggingface.co/alvinwongster/LuminAI/resolve/main/asset/LuminAI_logo.png)
## Model Description
**Lumin.AI** is a supportive AI assistant designed to provide immediate emotional support to individuals outside of regular consulting hours. It acts as a supplementary tool for patients and therapists, ensuring that mental health care is more accessible and responsive to users' needs
## Model Demo
![Demo](https://huggingface.co/alvinwongster/LuminAI/resolve/main/asset/demo_2.gif)
![Demo](https://huggingface.co/alvinwongster/LuminAI/resolve/main/asset/demo_1.gif)
## Model Dataset
The chatbot has been trained using [conversational data](https://huggingface.co/alvinwongster/LuminAI/tree/main/dataset), which is supposed to mimick the patient and the therapist. 5 topics where chosen, and 100 conversations from each of these topics were gathered:
- General
- Relationships
- Insecurities
- Victim Mentality
- Self-Improvement
## How to use
```bash
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("alvinwongster/LuminAI")
model = AutoModelForCausalLM.from_pretrained("alvinwongster/LuminAI")
prompt = "What is depression?"
full_prompt = f"User: {prompt}\nBot:"
inputs = tokenizer(full_prompt, return_tensors="pt")
inputs = {key: val.to(device) for key, val in inputs.items()}
outputs = model.generate(
**inputs,
max_new_tokens=650,
repetition_penalty=1.3,
no_repeat_ngram_size=3,
temperature=0.8,
top_p=0.9,
top_k=50
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
if "Bot:" in response:
response = response.split("Bot:")[-1].strip()
print(response)
```
## Model Metrics
To evaluate the chatbot's performance based on our use case, the following weighted metrics system was used:
- Empathy Score (40%):
- Measures how well the chatbot responds with empathy.
- Human-Likeness Score (20%):
- Assesses how natural and human-like the responses feel.
- BERTScore (30%):
- Evaluates semantic similarity between chatbot replies and therapist responses. Split equally between F1, Recall and Precision
- Time taken (10%)
- Time taken to generate a response, a shorter time optimizes user experience
|Metrics |GPT |Llama|LuminAI|
|--------------------|:---:|:---:|:-----:|
|Empathy Score |0.8 |0.79 |0.79 |
|Human Likeness |0.27 |0.45 |0.5 |
|BERTScore F1 |0.45 |0.48 |0.51 |
|BERTScore Recall |0.51 |0.53 |0.55 |
|BERTScore Precision |0.41 |0.44 |0.47 |
|Time Taken |89.65|15.85|39.42 |
|Total Score |0.54 |0.65 |0.63 |
## Github Link
Visit [here](https://github.com/alvinnnnnnnnnn/MentalHealth-LLM) for more information on how I trained the model
Try the product [here](https://luminai-chatbot.streamlit.app/)!