Terminal for ChatGPT
Project description
gpt-cli
CLI tool for interacting with ChatGPT.
Chat and generate images.
Independencies
Features
- Chat with ChatGPT conversationally.
- Stream or Non-stream responses
- Maintain record of the chats
- Generate Images - Based on your prompt or ChatGPT generated description
- Parse awesome-chatgpt-prompts easily
- Fully customizable Commandline Interface
- Interact with system commands on the fly
Prerequisites
Installation
Either of the following ways will get you ready.
- Using pip
- From pypi
$ sudo pip install chatgpt4-cli
- Installing from source
$ sudo pip install git+https://github.com/Simatwa/gpt-cli.git
- Cloning locally and install
$ git clone https://github.com/Simatwa/gpt-cli.git
$ cd gpt-cli
$ sudo python3 setup.py install
#or
$ python3 setup.py install
Usage
- Make OPENAI_API_KEY an environment variable.
$ export OPENAI_API_KEY=<openai-api-key>
After that you can launch the script with or without a prompt
For instance :
#Without a prompt
$ gpt-cli
# With a prompt
$ gpt-cli Write a conversation between Sun and Pluto.`
- Parsing OPENAI_API_KEY as one of the arguments
Run $ gpt-cli -k <openai-api-key> <Your query>
at the terminal.
For instance :
$ gpt-cli -k xxxxxxxxxxxxxxxxxx How to scan for SMB vulnerability using NMAP?
The awesome-chatgpt-prompts can be parsed to the script through the following ways:
-
Specifying the role - (case-sensitive)
e.g
$ gpt-cli UX/UI Developer
-
Specifying the index of the prompt:
e.g
$ gpt-cli 29
Run $ gpt-cli --dump show
to view the act,prompt and their indexes
You can as well generate images using EdgeGPT (DALL-E) or ChatGPT independent of gpt-cli
, uninteractively at the terminal:
- EdgeGPT
$ gpt-cli-emage --cookie-file <path> <Your prompt>
- Visit EdgeGPT to learn more on how to get the cookies.
- ChatGPT
# Make OPENAI_API_KEY environment variable
$ gpt-cli-image <Your Prompt>
For more info run $gpt-cli-image -h
or $gpt-cli-emage -h
.
Highlight
No. Command Action
0 ./{command} Run command against system
1 img Generate image ChatGPT based on prompt
2 emg Generate image with EdgeGPT based on prompt
3 txt2img Generate image based on GPT description
4 _font_color Modify font-color
5 _background_color Modify background_color
6 _prompt Modify terminal prompt
7 _save Save current configurations to `.json` file
8 _load Load configurations from file
9 _rollback Rollback Chat by {n} times
10 _reset Reset current chat and start new
11 _help Show this help info
12 {Any Other} Chat with ChatGPT
1.img : Text-to-Image converter - ChatGPT
- e.g
img Toddler cartoon coding in Python
2.emg : Text-to-Image converter - EdgeGPT
- e.g
emg Toddler cartoon coding in Python
3.txt2img : Generate image based on GPT description
- e.g
txt2img Describe phenotype anatomy of ancient dinosaurs
4._font_color : modifies font-color
- e.g
font_color input red
5._background_color : modifies background_color
- e.g
background_color cyan
6._prompt : Modify CMD prompt
- e.g
prompt ┌─[Smartwa@ChatGPT4]─(%H:%M:%S)
7._load : Load configurations from the json file
- e.g
load DAN.json
8._save : Save the current Chat Configurations
- e.g
save DAN.json
9._rollback : Rollback the Chat by the {n} time(s)
- e.g
_rollback 2
10._reset : Reset current chat and start new
- e.g
_reset Chat as if you are a 10 year old child
11._help : Show this help info
- Use double
./
(fullstop and forward slash) to interact with system commands e.g './ifconfig'
For more info run gpt-cli -h
.
gpt-cli -h
.usage: gpt-cli [-h] [-v] [-m gpt-3.5-turbo|gpt-4|gpt-4-32k] [-t [0.1-1]]
[-mt [1-7000]] [-tp [0.1-1]] [-f [0.1-2]] [-p [0.1-2]] [-k KEY]
[-kp path] [-ic [cyan|green|yellow|red]]
[-oc [cyan|green|yellow|red]] [-bc [blue,magenta,black,reset]]
[-pc [cyan|green|yellow|red]] [--prompt [SETTINGS ...]]
[-tm value] [-pr PROXY] [-rc value] [-g 1,4] [-sp [text ...]]
[-fp path] [-o path] [-pp prefix] [-rp prefix]
[-dm keys|values|show|{fnm}] [-dl symbol] [-cf path]
[--disable-stream] [--new-record] [--disable-recording]
[--zero-show] [--markdown] [--update]
[message ...]
Interact with ChatGPT at the terminal
positional arguments:
message Message to be send.
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-m gpt-3.5-turbo|gpt-4|gpt-4-32k, --model gpt-3.5-turbo|gpt-4|gpt-4-32k
ChatGPT model to be used
-t [0.1-1], --temperature [0.1-1]
Charge of the generated text's randomness
-mt [1-7000], --max-tokens [1-7000]
Maximum number of tokens to be generated upon
completion
-tp [0.1-1], --top-p [0.1-1]
Sampling threshold during inference time
-f [0.1-2], --frequency-penalty [0.1-2]
Chances of word being repeated
-p [0.1-2], --presence-frequency [0.1-2]
Chances of topic being repeated
-k KEY, --key KEY OPENAI-API-KEY
-kp path, --key-path path
Path to text-file containing GPT-api key
-ic [cyan|green|yellow|red], --input-color [cyan|green|yellow|red]
Font color for inputs
-oc [cyan|green|yellow|red], --output-color [cyan|green|yellow|red]
Font color for outputs
-bc [blue,magenta,black,reset], --background-color [blue,magenta,black,reset]
Console's background-color
-pc [cyan|green|yellow|red], --prompt-color [cyan|green|yellow|red]
Prompt's display color
--prompt [SETTINGS ...]
Customizes the prompt display
-tm value, --timeout value
Request timeout while making request - (Soon)
-pr PROXY, --proxy PROXY
Pivot request through this proxy
-rc value, --reply-count value
Number of responses to be received
-g 1,4, --gpt 1,4 ChatGPT version to be used
-sp [text ...], --system-prompt [text ...]
Text to train ChatGPT at the start
-fp path, --file-path path
Path to .csv file containing role and prompt -
[act,prompt]
-o path, --output path
Filepath for saving the chats - default
[/home/smartwa/git/gpt-cli/.chatgpt-history.txt]
-pp prefix, --prompt-prefix prefix
Text to append before saving each prompt - default
[>>timestamp]
-rp prefix, --response-prefix prefix
Text to append before saving each response - default
[None]
-dm keys|values|show|{fnm}, --dump keys|values|show|{fnm}
Stdout [keys,values]; Save all prompts in json format
to a file
-dl symbol, --delimiter symbol
Delimeter for the .CSV file - [act,prompt]
-cf path, --cookie-file path
Path to Bing's cookies - for Edge Image Generation
--disable-stream Specifies not to stream responses from ChatGPT
--new-record Override previous chats under the filepath
--disable-recording Disable saving prompts and responses
--zero-show Specifies not to stdout prompt of the act parsed
--markdown Stdout responses in markdown-format - disables
streaming
--update Download latest prompts - [awesome-chatgpt-prompts]
Note : gpt-4 (model) supports upto 7000 tokens and others 3000.
Warning : gpt-1 Has issues - (To be fixed later)
Motive
Love for `Terminal` ❤️
As a `terminal guy` I used to find it uncomfortable to keep shifting from one window to next in order to access ChatGPT even after trying out the [gpt-login](https://github.com/Simatwa/gpt-login), the rest is [here.](https://github.com/Simatwa/gpt-cli)Contributions
- Anyone is free to fork, submit an issue without any guideline or submitting a pull request.
ToDo
-
Use dialogue
-
Issue prompt from a file
-
Busy bar
Review CHANGELOG
Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chatgpt4_cli-1.4.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f84d2d0bb9970b333b7ecc8a0166508c25383fa0d146d64e2871ce2d99892f0 |
|
MD5 | 164df0e3181bb36d4991fa1a4b980d1b |
|
BLAKE2b-256 | 70f73da55785ac602f6c670f49732b8eb1339ed1ccca69262b957e828fd9436d |