Giter VIP home page Giter VIP logo

emoai's Introduction

EmoAI: Your Virtual Companion

Introduction

Our project - EmoAI - aims to address the growing need for mental health support, mental companionship and social interaction in the wake of challenges like the COVID-19 pandemic. This innovative platform offers users the ability to create virtual friends, leveraging the power of advanced technologies including Large Language Models (LLMs) for chatbot functionality, DALL-E for personalized visual design, and Whisper for audio interaction. Built with a responsive front-end using React.js and a robust Django back-end, EmoAI is not just an app – it's a companion in the digital age.

Features

  • Virtual Friend Creation: Design and interact with your AI-powered virtual friends.
  • Customizable Avatars: Use DALL-E's capabilities to create unique avatars for your virtual friends.
  • Advanced Chatbot Interaction: Engage in meaningful conversations powered by finetuned GPT models & Knowledge Retrieval (Webscraping from X & Quora & 16Personalities).
  • Voice Interaction: Experience natural conversations with Whisper-driven audio functionality. [Under Development]
  • UI & UX: Navigate with a user-friendly, intuitive interface built on React.js.

Getting Started

To get started with EmoAI:

  1. Clone the Repository

  2. Install Dependencies

  • For the front-end (React.js):
    cd EmoAI/frontend
    npm install
    
  • For the back-end (Django):
    cd EmoAI/backend
    pip install -r requirements.txt
    
  1. Running the Application
  • Start the React front-end:
    npm start
    
  • Run the Django back-end:
    python manage.py runserver
    

Presentation Materials

Presentation slides: https://docs.google.com/presentation/d/1ymOvAbh-hP2Ztcd8Nbiiz-M-_oK5v5yTK_iHSk_WFK8/edit?usp=sharing

Video Recording

Watch our Video Overview (https://github.com/Rundstedtzz/EmoAI/assets/63605514/ef820f25-8c09-451e-96ca-df6cdeae4d78) for a brief overview of EmoAI and its features.

Model Card for EmoAI

GPT-3.5 gpt-3.5-turbo-1106 [New Model]

  • Description: GPT-3.5 is a state-of-the-art language model by OpenAI that can generate human-like text. It has been fine-tuned to offer better performance for specific use cases and can handle tasks with a high degree of complexity.
  • Uses: In EmoAI, GPT-3.5 is used to power conversational capabilities, providing interactive and responsive dialogue with users.
  • Sources: The model is provided by OpenAI, with fine-tuning capabilities allowing developers to customize the model for their specific applications
  • Permissions: Data sent in and out of the fine-tuning API is owned by the customer and is not used by OpenAI to train other models
  • Code: OpenAI provides API access to GPT-3.5, with comprehensive documentation and examples for developers to integrate the model into their applications

GPT-4 gpt-4-1106-preview [New Model]

  • Description: GPT-4 is OpenAI’s latest multimodal model capable of accepting both text and image inputs and producing text outputs. It shows human-level performance on various benchmarks and exhibits improved factuality and steerability over its predecessors
  • Uses: GPT-4 enhances the conversational aspect of EmoAI with improved reasoning, nuanced understanding, and creative responses to complex instructions
  • Sources: This model is available through OpenAI's API, with initial text input capability released via ChatGPT and a waitlist for broader access
  • Permissions: OpenAI provides usage guidelines and emphasizes the importance of using the model outputs carefully, especially in high-stakes contexts
  • Code: OpenAI provides guidelines and frameworks for developers to use GPT-4 safely and effectively in their applications

DALL-E 3 [New Model]

  • Description: DALL-E 3 is an AI system that generates images from textual prompts, improving on the previous version by enhancing image quality and caption fidelity
  • Uses: It is used in EmoAI to create visual representations of the virtual companions, allowing users to visualize their AI friends.
  • Sources: OpenAI has developed and provided DALL-E 3, including its external evaluations and risk mitigations
  • Permissions: Information regarding permissions would be in line with OpenAI’s policies, emphasizing ethical use and risk reduction.
  • Code: OpenAI shares resources and code to enable developers to integrate DALL-E 3 into their projects

Whisper-1

  • Description: Whisper is an automatic speech recognition system that approaches human-level robustness and accuracy, trained on a vast and diverse dataset
  • Uses: In EmoAI, Whisper is utilized for transcribing user speech, enabling voice-to-text capabilities for interacting with virtual companions
  • Sources: OpenAI has trained Whisper and provides open-source access to the models and inference code
  • Permissions: The open-sourcing of Whisper encourages its use for building applications and further research on robust speech processing
  • Code: OpenAI provides the architecture and code, which includes an encoder-decoder Transformer model, for developers to implement Whisper in their applications

Text-to-Speech (TTS) Model tts-1-hd-1106 [New Model]

  • Description: A high-definition text-to-speech model capable of converting text into lifelike spoken audio.
  • Uses: This model is used in EmoAI to provide voice responses from virtual companions, enhancing the user experience with natural-sounding speech.
  • Sources: [New Model]
  • Permissions: [New Model]
  • Code: [New Model]

Data Card for EmoAI's MBTI and Social Media Dataset

MBTI Knowledge Data

  • Description: This dataset consists of information related to the Myers-Briggs Type Indicator (MBTI) personality framework, scraped from publicly available educational and informational websites such as 16 Personalities website.
  • Source: Publicly available websites offering MBTI-related content.
  • Volume: 16 personalities * 8 sections (128 lines of JSON)
  • Fields: MBTI types, descriptions, characteristics, potential career paths, and interpersonal relationships.
  • Usage: To fine-tune the GPT-3.5 model or as knowledge base for GPT 4 model for personality type-based conversational behavior and to serve as a reference for personality-aligned responses.
  • Permissions: Data scraped in compliance with the terms of service and public domain status of the source websites.

Social Media Interaction Data

  • Description: A dataset composed of user-generated content from social media platforms such as Twitter and Quora, focusing on topics related to personal experiences, opinions, and discussions for different MBTI personality types.
  • Source: Public posts from Twitter and Quora (Developer API calls).
  • Volume: 1500 posts per free developer account
  • Fields: Post content, user interactions, hashtags, and metadata related to the posts.
  • Usage: Employed as a knowledge base for retrieval by the GPT-4 model or fine-tune GPT 3.5 to inform and enrich the AI's conversational context and relevance.
  • Permissions: Collected following the API terms of service and public data policies of the respective platforms.

Ethical Considerations

  • Privacy: All personal information is anonymized and that the data usage complies with privacy laws and regulations.
  • Bias Mitigation: Steps have been implemented to identify and mitigate biases in the data, aiming to provide balanced and fair content.
  • Data Handling: Secure storage and handling practices are in place to protect the integrity and confidentiality of user data.

Critical Analysis

Impact of the Project

EmoAI has the potential to significantly impact mental health by providing a readily available source of companionship and support. This technology bridges the gap for those who may be isolated or unable to access traditional support structures. By providing a non-judgmental, always-available AI friend, EmoAI can help reduce the weight of loneliness and may encourage individuals to take further steps in their mental health journey, potentially acting as a catalyst for seeking professional mental health services.

What EmoAI Reveals or Suggests

Through user interactions, EmoAI can collect data that shed a light on prevalent mental health challenges and the types of support users seek from virtual companions. These insights could be invaluable for mental health professionals, allowing them to tailor their services to meet the evolving needs revealed by EmoAI interaction patterns. Additionally, it suggests the importance of emotional intelligence in AI development, underlining the role AI can play in promoting mental well-being.

The Next Step

  • AI virtual communities (AI towns)
  • Audio feature
  • Better UI & UX
  • Feedbacks from users
  • Social Media Posts for fine-tuning (more-real-life-like-interactions)
  • Each MBTI type with one fine-tuned model
  • A new page for Conversation logs & continue chat with friends
  • More around data security & ethical concerns

The goal is to create an AI companion that not only understands but resonates with the emotional states of users from diverse linguistic backgrounds, ultimately making mental health support more universally accessible.

Contributing

We welcome contributions to EmoAI! Whether it's improving the code, fixing bugs, or enhancing documentation, your help makes a big difference. Please read our CONTRIBUTING.md for guidelines on how to contribute.

License

This project is licensed under the MIT License.

Contact

For any queries or suggestions, feel free to contact us at [email protected] or [email protected].

Resource Links

For further information, see the following resources:

emoai's People

Contributors

rundstedtzz avatar

Stargazers

Designran avatar Bingxie911 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.