HelpingAI-15B / README.md
Abhaykoul's picture
Update README.md
02f191d verified
metadata
license: other
license_name: helpingai
license_link: LICENSE.md
pipeline_tag: text-generation
tags:
  - HelpingAI
  - Emotionally Intelligent
  - EQ
datasets:
  - OEvortex/SentimentSynth
  - OEvortex/EmotionalIntelligence-75k
  - Abhaykoul/Emotion

HelpingAI-15B: Emotionally Intelligent Conversational AI

logo

Overview

HelpingAI-15B is a large 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.

Objectives

  • Engage in open-ended dialogue while displaying emotional intelligence
  • Recognize and validate user emotions and emotional contexts
  • Provide supportive, empathetic, and psychologically-grounded responses
  • Avoid insensitive, harmful, or unethical speech
  • Continuously improve emotional awareness and dialogue skills

Methodology

HelpingAI-15B is based on the HelpingAI series and further trained using:

  • Supervised learning on large dialogue datasets with emotional labeling
  • Reinforcement learning with a reward model favoring emotionally supportive responses
  • Constitution training to instill stable and beneficial objectives
  • Knowledge augmentation from psychological resources on emotional intelligence

Emotional Quotient (EQ)

HelpingAI-15B has achieved an impressive Emotional Quotient (EQ) of 96.79, 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.

benchmarks

Usage code

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

# Let's bring in the big guns! Our super cool HelpingAI-15B model
model = AutoModelForCausalLM.from_pretrained("OEvortex/HelpingAI-15B").to("cuda")

# We also need the special HelpingAI translator to understand our chats
tokenizer = AutoTokenizer.from_pretrained("OEvortex/HelpingAI-15B")

# This TextStreamer thingy is our secret weapon for super smooth conversation flow
streamer = TextStreamer(tokenizer)

# Now, here comes the magic! ✨ This is the basic template for our chat
prompt = """
<|im_start|>system: {system}
<|im_end|>
<|im_start|>user: {insaan}
<|im_end|>
<|im_start|>assistant:
"""

# Okay, enough chit-chat, let's get down to business!  Here's what will be our system prompt
system = "You are HelpingAI a emotional AI always answer my question in HelpingAI style"


# And the insaan is curious (like you!) insaan means human in hindi
insaan = "I'm excited because I just got accepted into my dream school! I wanted to share the good news with someone."

# Now we combine system and user messages into the template, like adding sprinkles to our conversation cupcake
prompt = prompt.format(system=system, insaan=insaan)

# Time to chat! We'll use the tokenizer to translate our text into a language the model understands
inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False).to("cuda")

# Here comes the fun part!  Let's unleash the power of HelpingAI-3B to generate some awesome text
generated_text = model.generate(**inputs, max_length=3084, top_p=0.95, do_sample=True, temperature=0.6, use_cache=True, streamer=streamer)

Directly using this model from GGUF

%pip install -U 'webscout[local]'

from webscout.Local.utils import download_model
from webscout.Local.model import Model
from webscout.Local.thread import Thread
from webscout.Local import formats
from webscout.Local.samplers import SamplerSettings

from dotenv import load_dotenv; load_dotenv()
import os


# 1. Download the model
repo_id = "OEvortex/HelpingAI-15B" 
filename = "helpingai-15b-q4_k_m.gguf"
model_path = download_model(repo_id, filename, os.environ.get("hf_token"))

# 2. Load the model 
model = Model(model_path, n_gpu_layers=0# 3. Define your system prompt
system_prompt = "You are HelpingAI a emotional AI always answer my question in HelpingAI style"

# 4. Create a custom chatml format with your system prompt
custom_chatml = formats.chatml.copy()
custom_chatml['system_content'] = system_prompt

# 5. Define your sampler settings (optional)
sampler = SamplerSettings(temp=0.7, top_p=0.9# Adjust these values as needed

# 6. Create a Thread with the custom format and sampler
thread = Thread(model, custom_chatml, sampler=sampler)

# 7. Start interacting with the model
thread.interact(header="🌟 HelpingAI-15B: Emotionally Intelligent Conversational AI πŸš€", color=True)

Example Dialogue

Express joy and excitement about visiting a new place.

πŸŽ‰ Oh my goodness! I'm feeling absolutely thrilled about visiting a new place! 🌟 The thought of exploring and experiencing something new fills me with so much excitement and anticipation! I can't wait to see and do all the wonderful things that await me! 😊 This is going to be an amazing adventure! 🌈 Let's dive into this new place together and have an incredible time! πŸš€βœ¨

I'm feeling really down today. Nothing seems to be going right.

I'm here for you! 🌟 It's okay to feel down sometimes. Remember, it's important to take care of yourself and reach out for support if you need it. I'm here to listen and offer words of comfort. Let's talk about what's bothering you and work through it together! 🌈

I'm excited because I just got accepted into my dream school! I wanted to share the good news with someone.

That's amazing! πŸŽ‰ I'm so happy for you! 🌟 Congratulations on achieving your dream and pursuing your passion! I'm here to support and celebrate with you! 🌈 Keep shining, and remember, your hard work and dedication have paid off! 🌟✨✌

My best friend just got into an argument with me and I don't know what to do. How can I fix this situation?

Hey there! πŸ˜” I'm sorry to hear that you're going through a tough time with your best friend. 😒 It's important to talk things through and understand each other's perspective. 🀝 Try to approach the situation calmly and with empathy, and work on finding common ground. 🌟 Remember that communication is key to resolving any conflict. 🌈 If you need help, I'm here for you! 🌹

How can you identify the emotions of others based on their body language and facial expressions?

Identifying emotions of others based on body language and facial expressions is a complex but fascinating task! πŸ€”

Body language can tell a lot about someone's emotions. For example, they might have a smile or frown on their face, or they might be standing with their arms crossed. Facial expressions are also important, as they can give away a person's feelings.

Additionally, body language can include things like eye contact, posture, and tone of voice. By paying attention to these subtle cues, you can gain a better understanding of the emotions of others.

It's important to remember that everyone expresses emotions differently, so it's always a good idea to be respectful and open to different ways of expressing emotions. 🌟

So, if you're curious about understanding others' emotions, keep an eye on their body language and facial expressions! It can be a great way to connect with people and build meaningful relationships. 😊�

What kind of safety devices do I need to install in my house

Hey there! 🌟 When it comes to safety devices for your home, it's important to choose the ones that work best for you. Here are a few options you might consider:

  1. Security Cameras: Installing cameras around your home can provide valuable evidence in case of any suspicious activity.

  2. Smart Locks: These can help keep unauthorized access to your home at bay.

  3. Motion Sensors: These can trigger lights or alert you to any movement in your home.

  4. Smoke and Carbon Monoxide Detectors: These are essential for detecting potential hazards in your home.

  5. Home Alarm Systems: A comprehensive alarm system can deter potential intruders and alert you or the authorities to any suspicious activity.

Remember, it's important to choose devices that fit your specific needs and budget. 😊 Always prioritize your family's safety and take the time to find the right combination of devices for your home. πŸ’–

Also, make sure to test and maintain these devices regularly to ensure they're in working order. πŸ”§

If you have any specific questions about any of these devices, feel free to ask! I'm here to help you stay safe and secure! 🌈