Git Product home page Git Product logo

mygirlgpt's Introduction

MyGirlGPT - Your Personal AI Girlfriend Running on Your Personal Server

GitHub Repo stars Twitter Follow Twitter Follow

Welcome to the MyGirlGPT repository. This project allows you to build your personalized AI girlfriend with a unique personality, voice, and even selfies. The AI girlfriend runs on your personal server, giving you complete control and privacy.

MyGirlGPT is AI agent deploy on the OpenDAN-Personal-AI-OS

Demo

Click the image below to watch a demo:

Demo Video

Subscribe to updates here: https://twitter.com/SynthIntel2023

Public Telegram Bot

Join us on Telegram to chat with Cherry and be part of the MyGirlGPT community! Click MyGirlGPTCommunity to join.

How to use telegram bot

  • In the group, use @mygirlgpt_bot to talk to Cherry.
  • Want to hear Cherry's voice? Just use the /voice command to switch it on or off.
  • want a selfie? Just send "send me a pic" or "send me your selfie", and it'll be on its way!

chat example

Architecture

The Architecture of Project

Architecture

  • TelegramBot
    • bot: Receive messages from Telegram, and send messages to mygirl.
    • mygirl: Process the message and send it to the LLM Server. If text-to-speech conversion is required, call the TTS Server.
  • LLM Server: As the brain of the AI girlfriend, generates reply messages. If it is determined that a message is required by the user, call the stable diffusion webui API to generate an image.
  • TTS Server: Provide text-to-speech capabilities.
  • text2img Server: Use stable diffusion webui API to provide text2img capabilities.

How to run on your personal server

  1. Start the Stable Diffusion Webui
    Start with the --api argument. If you're deploying the service across multiple devices, you'll also need to add the --listen argument. The SD Webui will now be listening on port 7860.
    You'll have your configuration: SD_ADDRESS='http://stablediffusion:7860', this will be used in the next step.
  2. Start the LLM Server
    Follow the instructions outlined in the How to run LLM Server. Once the server is running.The LLM Server will be running on port 5001.
  3. Start the TTS Server
    Follow the instructions outlined in the How to run TTS Server. Once the server is running, it will be listening on port 6006.
  4. Start the TelegramBot
    You should now have the GPT_SERVER=http://LLM-SERVER:5001 and TTS_SERVER=http://TTS-SREVER:6006.
    Follow the instructions outlined in the How to run TelegramBot to start the bot.
    Now you can have fun chatting with your AI girl!!!

Features

  • Telegram Integration: Connect directly with your AI girlfriend through Telegram, allowing you to send and receive messages seamlessly.
  • Local Large Language Model (LLM): Powered by text-generation-webui with better privacy protection.
  • Personality Customization: Tailor the AI's personality to your preferences, making her a perfect match for you. The model is TehVenom/Pygmalion-Vicuna-1.1-7b
  • Voice Generation: Utilize Bark to generate a voice for your AI model, enhancing the immersive experience.
  • Selfie Generation: Your AI girlfriend is capable of generating photorealistic selfies upon request, powered by Stable Diffusion web UI.

Roadmap

  • Long-Term Memory: Enable MyGirlGPT to "remember" conversations long-term, which will enhance the depth and continuity of your interactions.
  • Video Messages: Your AI girlfriend will be able to send you videos of herself, providing a more immersive and engaging experience.
  • Discord Bot: Connect your AI girlfriend to Discord, expanding the platforms where you can interact with her.
  • LLM for SD prompts: Replacing GPT-3.5 with a local LLM to generate prompts for SD.
  • Switch Personality: Allow users to switch between different personalities for AI girlfriend, providing more variety and customization options for the user experience.

FAQ

  1. Q: How much vram would you recommend to run this locally?

    A: The system requires approximately 36GB VRAM, with 15-17GB for the LLM Server, 7GB for the TTS Server, and 11GB for the stable diffusion webui.

  2. Q: Why cherry refuses but still send pictures?

    A: Sending pictures depends on your message, and for now we won't consider Cherry's opinion. So what you see is her rejecting your request, but you will still receive the photos. Next version, send picture will base on cherry's opition. Once Cherry says no, you will not get the picture. This will make her like human more.

  3. Q: How do we set it up on a server and make it run 24/7 ?

    A: I will write a deployment guide for the project.

  4. Q: Can I run multiple parts of the system across multiple devices? (LLM server in one device, TTS in another and stable diffusion in a web server) is that possible?

    A: Yes you can run multiple parts of the system across multiple devices. Right now I have a A5000 for LLM & TTS, a 3090 for stable diffusion

  5. Q: Can I connect my existing stable diffusion with this? Or require a dedicated instance?

    A: Yes, you can use the exsiting stable diffusion, just make sure to add --api to the args.

Contributing

We welcome pull requests. If you plan to make significant changes, please open an issue first to discuss them.

License

This project is licensed under the MIT License.

Powered by

mygirlgpt's People

Contributors

synthintel0 avatar bluehenggege 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.