GithubHelp home page GithubHelp logo

higorpo / girlfriendgpt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eniascailliau/girlfriendgpt

0.0 0.0 0.0 3.33 MB

Girlfriend GPT is a Python project to build your own AI girlfriend using ChatGPT4.0

Home Page: https://gptgirlfriend.online

Python 97.59% CSS 0.64% HTML 1.78%

girlfriendgpt's Introduction

GirlfriendGPT - Your personal AI companion

Welcome to the GirlfriendGPT repository. This is a starter project to help you build your personalized AI companion with a unique personality, voice, and even SELFIES!

Demo

Click the image below for a demo:

Demo Video

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

Features

  • Custom Voice: Utilize EleventLabs to create a unique voice for your AI model.
  • Connected to Telegram: Directly send and receive messages from your AI companion via Telegram.
  • Personality: Customize the AI's personality according to your preferences.
  • Selfies: AI is capable of generating SELFIES when asked.

Getting started

To run your companion locally:

pip install -r requirements.txt
python main.py 

To deploy your companion & connect it to Telegram:

pip install -r requirements.txt
python deploy.py 

You will need to fetch a Telegram key to connect your companion to Telegram. This guide will show you how.

Roadmap

  • Memories: Soon, the AI will have the capability to remember past interactions, improving conversational context and depth.
  • Photorealistic selfies

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

๐Ÿ‘€ Add a personality!
Do you have a unique personality in mind for our AI model, GirlfriendGPT? Great! Here's a step-by-step guide on how to add it.

Step 1: Define Your Personality

First, you'll need to define your personality. This is done by creating a new Python file in the src/personalities directory.

For example, if your personality is named "jane", you would create a file called jane.py. Inside this file, you would define the characteristics and behaviors that embody "jane". This could include her speaking style, responses to certain inputs, or any other defining features you envision.

Step 2: Update init.py

Once you've created and fleshed out your personality file, it's time to make our codebase aware of it. Open init.py in the src/personalities directory.

Import your new personality at the top of the file and add your personality to the all list:

from .luna import luna
from .sacha import sacha
from .lucas import lucas  # This is your new personality

__all__ = [
    "sacha",
    "luna",
    "lucas",  # Add your personality here
    "get_personality"
]

Lastly, add your personality to the get_personality() function:

def get_personality(name: str):
    try:
        return {
            "luna": luna,
            "sacha": sacha,
            "lucas": lucas  # Add your personality here
        }[name]
    except Exception:
        raise Exception("The personality you selected does not exist!")

And that's it! Now, whenever the get_personality function is called with the name of your personality, it will return the behaviors and characteristics defined in your personality file.

Step 3: Test and Submit

Before you submit your new personality, please test it to ensure everything works as expected. If all is well, submit a Pull Request with your changes, and be sure to include the title "{name} - {description}" where {name} is your personality's name, and {description} is a brief explanation of the personality.

Good luck, and we can't wait to meet your new GirlfriendGPT personality!

License

This project is licensed under the MIT License.

girlfriendgpt's People

Contributors

sirsquall avatar waptik avatar amrrs 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.