Update README.md
Browse files
README.md
CHANGED
@@ -1,199 +1,111 @@
|
|
1 |
---
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
## Model Details
|
13 |
-
|
14 |
-
### Model Description
|
15 |
-
|
16 |
-
<!-- Provide a longer summary of what this model is. -->
|
17 |
-
|
18 |
-
This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
|
19 |
-
|
20 |
-
- **Developed by:** [More Information Needed]
|
21 |
-
- **Funded by [optional]:** [More Information Needed]
|
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 |
-
### Model Sources [optional]
|
29 |
-
|
30 |
-
<!-- Provide the basic links for the model. -->
|
31 |
-
|
32 |
-
- **Repository:** [More Information Needed]
|
33 |
-
- **Paper [optional]:** [More Information Needed]
|
34 |
-
- **Demo [optional]:** [More Information Needed]
|
35 |
-
|
36 |
-
## Uses
|
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 |
-
### Direct Use
|
41 |
-
|
42 |
-
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
43 |
-
|
44 |
-
[More Information Needed]
|
45 |
-
|
46 |
-
### Downstream Use [optional]
|
47 |
-
|
48 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
49 |
-
|
50 |
-
[More Information Needed]
|
51 |
-
|
52 |
-
### Out-of-Scope Use
|
53 |
-
|
54 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
55 |
-
|
56 |
-
[More Information Needed]
|
57 |
-
|
58 |
-
## Bias, Risks, and Limitations
|
59 |
-
|
60 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
61 |
-
|
62 |
-
[More Information Needed]
|
63 |
-
|
64 |
-
### Recommendations
|
65 |
-
|
66 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
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 |
-
|
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 |
-
|
144 |
|
145 |
-
|
146 |
|
147 |
-
|
148 |
-
-
|
149 |
-
- **Cloud Provider:** [More Information Needed]
|
150 |
-
- **Compute Region:** [More Information Needed]
|
151 |
-
- **Carbon Emitted:** [More Information Needed]
|
152 |
|
153 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
|
157 |
-
|
|
|
158 |
|
159 |
-
|
|
|
|
|
|
|
160 |
|
161 |
-
|
|
|
162 |
|
163 |
-
|
|
|
164 |
|
165 |
-
|
|
|
166 |
|
167 |
-
|
|
|
|
|
|
|
|
|
168 |
|
169 |
-
|
|
|
170 |
|
171 |
-
|
|
|
172 |
|
173 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
-
|
|
|
176 |
|
177 |
-
|
|
|
178 |
|
179 |
-
|
|
|
180 |
|
181 |
-
|
|
|
182 |
|
183 |
-
|
|
|
184 |
|
185 |
-
|
|
|
|
|
|
|
186 |
|
187 |
-
[
|
188 |
|
189 |
-
|
190 |
|
191 |
-
|
|
|
|
|
192 |
|
193 |
-
|
194 |
|
195 |
-
|
196 |
|
197 |
-
|
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 |
+
- Coding
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
+
# HelpingAI-3B-coder: Emotionally Intelligent Conversational AI with Coding Capabilities
|
15 |
|
16 |
+
![logo](https://huggingface.co/OEvortex/HelpingAI-3B/resolve/main/HelpingAI.png)
|
17 |
|
18 |
+
## Overview
|
19 |
+
HelpingAI-3B-coder is a large language model designed for emotionally intelligent conversational interactions and coding assistance. It is trained to engage users with empathy, understanding, and supportive dialogue across a wide range of topics and contexts, while also providing reliable coding support. The model aims to be a supportive AI companion that can attune to users' emotional states, communicative needs, and coding requirements.
|
|
|
|
|
|
|
20 |
|
21 |
+
## Objectives
|
22 |
+
- Engage in open-ended dialogue while displaying emotional intelligence
|
23 |
+
- Recognize and validate user emotions and emotional contexts
|
24 |
+
- Provide supportive, empathetic, and psychologically-grounded responses
|
25 |
+
- Avoid insensitive, harmful, or unethical speech
|
26 |
+
- Assist users with coding tasks and programming-related queries
|
27 |
+
- Continuously improve emotional awareness, dialogue skills, and coding capabilities
|
28 |
|
29 |
+
## Methodology
|
30 |
+
HelpingAI-3B-coder 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 |
+
- Coding datasets to enhance programming support
|
36 |
|
37 |
+
## Emotional Quotient (EQ)
|
38 |
+
HelpingAI-3B-coder has achieved an impressive Emotional Quotient (EQ), surpassing almost all 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.
|
39 |
|
40 |
+
## Usage Code
|
41 |
+
```python
|
42 |
+
import torch
|
43 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
|
44 |
|
45 |
+
# Load the HelpingAI-3B-coder model
|
46 |
+
model = AutoModelForCausalLM.from_pretrained("OEvortex/HelpingAI-3B-coder", trust_remote_code=True).to("cuda")
|
47 |
|
48 |
+
# Load the tokenizer
|
49 |
+
tokenizer = AutoTokenizer.from_pretrained("OEvortex/HelpingAI-3B-coder", trust_remote_code=True)
|
50 |
|
51 |
+
# Initialize TextStreamer for smooth conversation flow
|
52 |
+
streamer = TextStreamer(tokenizer)
|
53 |
|
54 |
+
# Define the chat input
|
55 |
+
chat = [
|
56 |
+
{ "role": "system", "content": "You are HelpingAI, an emotionally intelligent AI. Always respond in the HelpingAI style. Provide concise and to-the-point answers." },
|
57 |
+
{ "role": "user", "content": "Can you help me write a Python function to reverse a string?" }
|
58 |
+
]
|
59 |
|
60 |
+
# Apply the chat template
|
61 |
+
chat_text = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
|
62 |
|
63 |
+
# Tokenize the text
|
64 |
+
inputs = tokenizer(chat_text, return_tensors="pt", return_attention_mask=False).to("cuda")
|
65 |
|
66 |
+
# Generate text
|
67 |
+
generated_text = model.generate(
|
68 |
+
**inputs,
|
69 |
+
max_length=500,
|
70 |
+
top_p=0.95,
|
71 |
+
do_sample=True,
|
72 |
+
temperature=0.7,
|
73 |
+
use_cache=True,
|
74 |
+
eos_token_id=tokenizer.eos_token_id,
|
75 |
+
streamer=streamer
|
76 |
+
)
|
77 |
|
78 |
+
# # Decode the generated text
|
79 |
+
# output_text = tokenizer.decode(generated_text[0], skip_special_tokens=True)
|
80 |
|
81 |
+
# # Print the generated text
|
82 |
+
# print(output_text)
|
83 |
|
84 |
+
# System:
|
85 |
+
# You are HelpingAI, an emotional AI that always answers questions in HelpingAI style and always be to the point and answer as short as possible.
|
86 |
|
87 |
+
# Question:
|
88 |
+
# Can you help me write a Python function to reverse a string?
|
89 |
|
90 |
+
# Answer:
|
91 |
+
# Sure! Here's a Python function that reverses a string:
|
92 |
|
93 |
+
# ```python
|
94 |
+
# def reverse_string(input_string):
|
95 |
+
# return input_string[::-1]
|
96 |
+
# ```
|
97 |
|
98 |
+
# This function uses slicing with a negative step to reverse the input string. The `[::-1]` syntax reverses the string by starting from the end and going backwards.
|
99 |
|
100 |
+
# You can use this function like this:
|
101 |
|
102 |
+
# ```python
|
103 |
+
# print(reverse_string("Hello, World!"))
|
104 |
+
# ```
|
105 |
|
106 |
+
# This will output: `!dlroW,olleH`
|
107 |
|
108 |
+
# I hope this helps! Let me know if you have any other questions.
|
109 |
|
110 |
+
```
|
111 |
|
|