Skip to main content

Interact with chatgpt and assign different roles

Project description

GPT Roles

Simple PyQT chatbox that connects to a chat session with ChatGPT, along with some extra desktop integration features.

Written as an experiment with Qt and understanding the role of LLMs in virtual assistant applications.

Screenshot of GPT Roles Demo video of GPT Roles

Roleplayer

It has a "roleplaying" root prompt that attempts to make implementing more roles into ChatGPT easier. You can add "roles" to the root prompt, by default there are some roles related to commands and programming.

You can also change the root prompt to something else entirely, there's a list of some prompts that are sourced online, see features.

Command Role

Not fully implemented

- RoleGPT can request web pages or from APIs to answer your questions.
    e.g. get current prices or latest news.
- Provide basic shell commands that will be automatically be run, to find or list files etc
- Instructions to format markdown for the programming features

App Features

Programming related features:

- Run shell or python code in markdown blocks directly in the chat interface
- Edit the markdown blocks in the chat box
- Copy or save markdown blocks to a file

Additional features:

- Easily switch or add more "roles"
- Remove the roleplaying root prompt and set it as you please
- List roles from jailbreakchat.com and set them as the root prompt

Chat related features:

- TODO Shows which messages are in the current prompt chain and can be added/removed
- TODO Show alternate choices and commit to conversation

Installing/Running

From pip

Install the module and install desktop launcher integration:

pip install gptroles && ./install.sh

From source with Poetry
poetry install && poetry run main
Packaged AppImage/PyInstaller

TODO

Development installation

Use the dev.sh script.

# This only needs to be run once
./dev.sh build && ./dev.sh sysinstall && ./dev.sh install

# Then you can run with the install and dev environment matching code
./dev.sh run

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gptroles-0.1.5.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gptroles-0.1.5-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file gptroles-0.1.5.tar.gz.

File metadata

  • Download URL: gptroles-0.1.5.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.10 Linux/5.17.15-1-MANJARO

File hashes

Hashes for gptroles-0.1.5.tar.gz
Algorithm Hash digest
SHA256 34b9efb250b5c81a96e55c860f2c087e694f5dc0f10163779ea9af62d0c1f44a
MD5 988bc87255261667477eae8dd88df2b3
BLAKE2b-256 1fece98eaf9147ea11a27474f65297bd56d4f930359d6133e54d5ff9d90d5a67

See more details on using hashes here.

File details

Details for the file gptroles-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: gptroles-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.10 Linux/5.17.15-1-MANJARO

File hashes

Hashes for gptroles-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c4962f1e745be840a1dc7c0d12baa5a4ddcdb70e8f556ecfe9016fba05f4a277
MD5 3d44ea198119ee90a833d63652a0efd8
BLAKE2b-256 8a698da184eacd365cc1de2dd386af0212d25ab29594ffb06a5d1ba004e239f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page