## 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](doc/screenshot.png)
![Demo video of GPT Roles](doc/demo.webm)
#### 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
```shell
poetry install && poetry run main
```
###### Packaged AppImage/PyInstaller
`TODO`
###### Development installation
Use the `dev.sh` script.
```shell
# 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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/blipk/gptroles",
"name": "gptroles",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "gptroles,ChatGPT,GPT,LLM,ML",
"author": "Blipk A.D.",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/1f/ec/e98eaf9147ea11a27474f65297bd56d4f930359d6133e54d5ff9d90d5a67/gptroles-0.1.5.tar.gz",
"platform": null,
"description": "\n## GPT Roles\nSimple PyQT chatbox that connects to a chat session with ChatGPT, along with some extra desktop integration features.\n\nWritten as an experiment with Qt and understanding the role of LLMs in virtual assistant applications.\n\n![Screenshot of GPT Roles](doc/screenshot.png)\n![Demo video of GPT Roles](doc/demo.webm)\n\n#### Roleplayer\nIt has a \"roleplaying\" root prompt that attempts to make implementing more roles into ChatGPT easier.\nYou can add \"roles\" to the root prompt, by default there are some roles related to commands and programming.\n\nYou can also change the root prompt to something else entirely, there's a list of some prompts that are sourced online, see features.\n\n###### Command Role\n\nNot fully implemented\n\n - RoleGPT can request web pages or from APIs to answer your questions.\n e.g. get current prices or latest news.\n - Provide basic shell commands that will be automatically be run, to find or list files etc\n - Instructions to format markdown for the programming features\n\n#### App Features\n\nProgramming related features:\n\n - Run shell or python code in markdown blocks directly in the chat interface\n - Edit the markdown blocks in the chat box\n - Copy or save markdown blocks to a file\n\nAdditional features:\n\n - Easily switch or add more \"roles\"\n - Remove the roleplaying root prompt and set it as you please\n - List roles from jailbreakchat.com and set them as the root prompt\n\nChat related features:\n\n - TODO Shows which messages are in the current prompt chain and can be added/removed\n - TODO Show alternate choices and commit to conversation\n\n\n#### Installing/Running\n\n###### From pip\nInstall the module and install desktop launcher integration:\n\n`pip install gptroles && ./install.sh`\n\n\n###### From source with Poetry\n```shell\npoetry install && poetry run main\n```\n\n###### Packaged AppImage/PyInstaller\n\n`TODO`\n\n###### Development installation\n\nUse the `dev.sh` script.\n\n```shell\n# This only needs to be run once\n./dev.sh build && ./dev.sh sysinstall && ./dev.sh install\n\n# Then you can run with the install and dev environment matching code\n./dev.sh run\n```",
"bugtrack_url": null,
"license": "MIT",
"summary": "Interact with chatgpt and assign different roles",
"version": "0.1.5",
"split_keywords": [
"gptroles",
"chatgpt",
"gpt",
"llm",
"ml"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8a698da184eacd365cc1de2dd386af0212d25ab29594ffb06a5d1ba004e239f4",
"md5": "3d44ea198119ee90a833d63652a0efd8",
"sha256": "c4962f1e745be840a1dc7c0d12baa5a4ddcdb70e8f556ecfe9016fba05f4a277"
},
"downloads": -1,
"filename": "gptroles-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3d44ea198119ee90a833d63652a0efd8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 1297320,
"upload_time": "2023-04-23T16:30:52",
"upload_time_iso_8601": "2023-04-23T16:30:52.071460Z",
"url": "https://files.pythonhosted.org/packages/8a/69/8da184eacd365cc1de2dd386af0212d25ab29594ffb06a5d1ba004e239f4/gptroles-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1fece98eaf9147ea11a27474f65297bd56d4f930359d6133e54d5ff9d90d5a67",
"md5": "988bc87255261667477eae8dd88df2b3",
"sha256": "34b9efb250b5c81a96e55c860f2c087e694f5dc0f10163779ea9af62d0c1f44a"
},
"downloads": -1,
"filename": "gptroles-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "988bc87255261667477eae8dd88df2b3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 1285415,
"upload_time": "2023-04-23T16:30:58",
"upload_time_iso_8601": "2023-04-23T16:30:58.062043Z",
"url": "https://files.pythonhosted.org/packages/1f/ec/e98eaf9147ea11a27474f65297bd56d4f930359d6133e54d5ff9d90d5a67/gptroles-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-23 16:30:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "blipk",
"github_project": "gptroles",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "gptroles"
}