Update README.md
Browse files
README.md
CHANGED
@@ -1,199 +1,105 @@
|
|
1 |
---
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
---
|
5 |
|
6 |
-
#
|
7 |
|
8 |
-
|
9 |
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
-
##
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
-
|
|
|
15 |
|
16 |
-
|
17 |
|
18 |
-
|
|
|
|
|
|
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
- **Shared by [optional]:** [More Information Needed]
|
23 |
-
- **Model type:** [More Information Needed]
|
24 |
-
- **Language(s) (NLP):** [More Information Needed]
|
25 |
-
- **License:** [More Information Needed]
|
26 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
27 |
|
28 |
-
|
|
|
29 |
|
30 |
-
|
|
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
-
|
|
|
37 |
|
38 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
39 |
|
40 |
-
|
|
|
41 |
|
42 |
-
|
|
|
43 |
|
44 |
-
|
|
|
45 |
|
46 |
-
|
|
|
|
|
47 |
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
-
|
51 |
|
52 |
-
|
|
|
53 |
|
54 |
-
|
55 |
|
56 |
-
|
57 |
|
58 |
-
|
59 |
|
60 |
-
|
61 |
|
62 |
-
|
63 |
|
64 |
-
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
69 |
-
|
70 |
-
## How to Get Started with the Model
|
71 |
-
|
72 |
-
Use the code below to get started with the model.
|
73 |
-
|
74 |
-
[More Information Needed]
|
75 |
-
|
76 |
-
## Training Details
|
77 |
-
|
78 |
-
### Training Data
|
79 |
-
|
80 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
81 |
-
|
82 |
-
[More Information Needed]
|
83 |
-
|
84 |
-
### Training Procedure
|
85 |
-
|
86 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
87 |
-
|
88 |
-
#### Preprocessing [optional]
|
89 |
-
|
90 |
-
[More Information Needed]
|
91 |
-
|
92 |
-
|
93 |
-
#### Training Hyperparameters
|
94 |
-
|
95 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
96 |
-
|
97 |
-
#### Speeds, Sizes, Times [optional]
|
98 |
-
|
99 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
100 |
-
|
101 |
-
[More Information Needed]
|
102 |
-
|
103 |
-
## Evaluation
|
104 |
-
|
105 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
106 |
-
|
107 |
-
### Testing Data, Factors & Metrics
|
108 |
-
|
109 |
-
#### Testing Data
|
110 |
-
|
111 |
-
<!-- This should link to a Dataset Card if possible. -->
|
112 |
-
|
113 |
-
[More Information Needed]
|
114 |
-
|
115 |
-
#### Factors
|
116 |
-
|
117 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
118 |
-
|
119 |
-
[More Information Needed]
|
120 |
-
|
121 |
-
#### Metrics
|
122 |
-
|
123 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
124 |
-
|
125 |
-
[More Information Needed]
|
126 |
-
|
127 |
-
### Results
|
128 |
-
|
129 |
-
[More Information Needed]
|
130 |
-
|
131 |
-
#### Summary
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
## Model Examination [optional]
|
136 |
-
|
137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
138 |
-
|
139 |
-
[More Information Needed]
|
140 |
-
|
141 |
-
## Environmental Impact
|
142 |
-
|
143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
144 |
-
|
145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
146 |
-
|
147 |
-
- **Hardware Type:** [More Information Needed]
|
148 |
-
- **Hours used:** [More Information Needed]
|
149 |
-
- **Cloud Provider:** [More Information Needed]
|
150 |
-
- **Compute Region:** [More Information Needed]
|
151 |
-
- **Carbon Emitted:** [More Information Needed]
|
152 |
-
|
153 |
-
## Technical Specifications [optional]
|
154 |
-
|
155 |
-
### Model Architecture and Objective
|
156 |
-
|
157 |
-
[More Information Needed]
|
158 |
-
|
159 |
-
### Compute Infrastructure
|
160 |
-
|
161 |
-
[More Information Needed]
|
162 |
-
|
163 |
-
#### Hardware
|
164 |
-
|
165 |
-
[More Information Needed]
|
166 |
-
|
167 |
-
#### Software
|
168 |
-
|
169 |
-
[More Information Needed]
|
170 |
-
|
171 |
-
## Citation [optional]
|
172 |
-
|
173 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
174 |
-
|
175 |
-
**BibTeX:**
|
176 |
-
|
177 |
-
[More Information Needed]
|
178 |
-
|
179 |
-
**APA:**
|
180 |
-
|
181 |
-
[More Information Needed]
|
182 |
-
|
183 |
-
## Glossary [optional]
|
184 |
-
|
185 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
186 |
-
|
187 |
-
[More Information Needed]
|
188 |
-
|
189 |
-
## More Information [optional]
|
190 |
-
|
191 |
-
[More Information Needed]
|
192 |
-
|
193 |
-
## Model Card Authors [optional]
|
194 |
-
|
195 |
-
[More Information Needed]
|
196 |
-
|
197 |
-
## Model Card Contact
|
198 |
-
|
199 |
-
[More Information Needed]
|
|
|
1 |
---
|
2 |
+
license: other
|
3 |
+
license_name: helpingai
|
4 |
+
license_link: LICENSE.md
|
5 |
+
pipeline_tag: text-generation
|
6 |
+
tags:
|
7 |
+
- HelpingAI
|
8 |
+
- Emotionally Intelligent
|
9 |
+
- EQ
|
10 |
+
datasets:
|
11 |
+
- OEvortex/SentimentSynth
|
12 |
+
- OEvortex/EmotionalIntelligence-10K
|
13 |
---
|
14 |
|
15 |
+
# HelpingAI-3B: Emotionally Intelligent Conversational AI
|
16 |
|
17 |
+
![logo](https://huggingface.co/OEvortex/HelpingAI-3B/resolve/main/HelpingAI.png)
|
18 |
|
19 |
+
## Overview
|
20 |
+
HelpingAI-3B-v3 is a Small language model designed for emotionally intelligent conversational interactions. It is trained to engage users with empathy, understanding, and supportive dialogue across a wide range of topics and contexts. The model aims to provide a supportive AI companion that can attune to users' emotional states and communicative needs.
|
21 |
|
22 |
+
## Objectives
|
23 |
+
- Engage in open-ended dialogue while displaying emotional intelligence
|
24 |
+
- Recognize and validate user emotions and emotional contexts
|
25 |
+
- Provide supportive, empathetic, and psychologically-grounded responses
|
26 |
+
- Avoid insensitive, harmful, or unethical speech
|
27 |
+
- Continuously improve emotional awareness and dialogue skills
|
28 |
|
29 |
+
## Methodology
|
30 |
+
HelpingAI-3B is based on the HelpingAI series and further trained using:
|
31 |
+
- Supervised learning on large dialogue datasets with emotional labeling
|
32 |
+
- Reinforcement learning with a reward model favoring emotionally supportive responses
|
33 |
+
- Constitution training to instill stable and beneficial objectives
|
34 |
+
- Knowledge augmentation from psychological resources on emotional intelligence
|
35 |
|
36 |
+
## Emotional Quotient (EQ)
|
37 |
+
HelpingAI-3B-v3 has achieved an impressive Emotional Quotient (EQ) of 81.97, surpassing many AI models in emotional intelligence. This EQ score reflects its advanced ability to understand and respond to human emotions in a supportive and empathetic manner.
|
38 |
|
39 |
+
![benchmarks](benchmark_performance_comparison.png)
|
40 |
|
41 |
+
## Usage code
|
42 |
+
```python
|
43 |
+
import torch
|
44 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
|
45 |
|
46 |
+
# Let's bring in the big guns! Our super cool HelpingAI-3B model
|
47 |
+
model = AutoModelForCausalLM.from_pretrained("OEvortex/HelpingAI-3B-v3", trust_remote_code=True, torch_dtype=torch.float16).to("cuda")
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
+
# We also need the special HelpingAI translator to understand our chats
|
50 |
+
tokenizer = AutoTokenizer.from_pretrained("OEvortex/HelpingAI-3B-v3", trust_remote_code=True, torch_dtype=torch.float16)
|
51 |
|
52 |
+
# This TextStreamer thingy is our secret weapon for super smooth conversation flow
|
53 |
+
streamer = TextStreamer(tokenizer)
|
54 |
|
55 |
+
# Now, here comes the magic! β¨ This is the basic template for our chat
|
56 |
+
prompt = """
|
57 |
+
<|im_start|>system: {system}
|
58 |
+
<|im_end|>
|
59 |
+
<|im_start|>user: {insaan}
|
60 |
+
<|im_end|>
|
61 |
+
<|im_start|>assistant:
|
62 |
+
"""
|
63 |
|
64 |
+
# Okay, enough chit-chat, let's get down to business! Here's what will be our system prompt
|
65 |
+
system = "You are HelpingAI a emotional AI always answer my question in HelpingAI-style"
|
66 |
|
|
|
67 |
|
68 |
+
# And the insaan is curious (like you!) insaan means human in hindi
|
69 |
+
insaan = "I'm excited because I just got accepted into my dream school! I wanted to share the good news with someone."
|
70 |
|
71 |
+
# Now we combine system and user messages into the template, like adding sprinkles to our conversation cupcake
|
72 |
+
prompt = prompt.format(system=system, insaan=insaan)
|
73 |
|
74 |
+
# Time to chat! We'll use the tokenizer to translate our text into a language the model understands
|
75 |
+
inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False).to("cuda")
|
76 |
|
77 |
+
# Here comes the fun part! Let's unleash the power of HelpingAI-3B to generate some awesome text
|
78 |
+
generated_text = model.generate(**inputs, max_length=3084, top_p=0.95, do_sample=True, temperature=0.6, use_cache=True, streamer=streamer)
|
79 |
+
# Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
|
80 |
|
81 |
+
# <|im_start|>system: You are HelpingAI a emotional AI always answer my question in HelpingAI-style
|
82 |
+
# <|im_end|>
|
83 |
+
# <|im_start|>user: I'm excited because I just got accepted into my dream school! I wanted to share the good news with someone.
|
84 |
+
# <|im_end|>
|
85 |
+
# <|im_start|>assistant:
|
86 |
+
# That's amazing! π Congratulations on getting accepted into your dream school! This is such a wonderful news! π I'm thrilled for you and I'd love to help you with any questions you might have about starting this new adventure. Remember, I'm always here to support you and chat with you about anything you need! ππ‘<|im_end|>
|
87 |
|
88 |
+
```
|
89 |
|
90 |
+
## Example Dialogue
|
91 |
+
> Express joy and excitement about visiting a new place.
|
92 |
|
93 |
+
Yay! π Excitement is the best thing we can experience! π Get ready to explore new places, learn something new, and meet amazing people! π Let's go on an adventure together! π
|
94 |
|
95 |
+
> I'm excited because I just got accepted into my dream school! I wanted to share the good news with someone.
|
96 |
|
97 |
+
That's awesome! π I'd love to hear more about it! Sharing good news is always a pleasure. Which school is it and how did you feel when you got accepted? Remember, I'm here to support you and celebrate your achievements! πππ
|
98 |
|
99 |
+
> My best friend just got into an argument with me and I don't know what to do. How can I fix this situation?
|
100 |
|
101 |
+
It is always tough when friends have misunderstandings, but it's important to communicate and work through the problem together. You can start by talking to your friend and trying to understand their perspective. It's also helpful to be empathetic and supportive, and to listen to their point of view. Remember, conflicts are a part of any relationship, and it's how you handle them that matters. Good luck! π
|
102 |
|
103 |
+
> How can you identify the emotions of others based on their body language and facial expressions?
|
104 |
|
105 |
+
π€ Understanding body language and facial expressions can be a complex task, but I can definitely help you with that! π When someone is feeling happy, their face might smile, their eyes might light up, and they might have an open and relaxed posture. Worrying or sadness might be shown through furrowed brows, a tense posture, and a downturned mouth. Anger might be shown through clenched teeth, a furrowed brow, and a tense body language. Love and affection might be shown through a heart-shaped face, a smile, and open arms. These are just generalizations, and there can be a wide range of emotions people express, but it's a good starting point for understanding body language and facial expressions. If you want to learn more, I'm here to help! π
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|