Interact with ChatGPT and Bard at the terminal.
Project description
gpt-cli
CLI tool for interacting with ChatGPT and Bard.
Generate images with BingImageCreator and ChatGPT's DALL-E models.
Features
- Chat with ChatGPT and Bard conversationally.
- Let ChatGPT and Bard chat to each other.
- Generate Images (DALL-E & BingImageCreator)- Based on your prompt or GPT generated description.
- Stream or Non-stream responses.
- Maintain record of the chats.
- Parse awesome-chatgpt-prompts easily.
- Fully customizable Commandline Interface.
- Interact with system commands on the fly.
Prerequisites
-
Bing cookies - optional
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
pip install .
#or
sudo pip 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@GPT-CLI]─(%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.bard : Specifies to use bard GPT
- e.g
bard Explain the composite concept in business
12.gpt4 : Specifies to use ChatGPT in case --bard
was made default
- e.g
gpt4 How do you make?
13._help : Show this help info
- Use
./
(fullstop and forward slash) to interact with system commands
- e.g
./ifconfig
- Use
_botchat
to let the 2 GPTs chat to each other
Note You can further specify the GPT to be used by appending
--gpt4
or--bard
in the prompt.
- Use {{f.text-filename}} to issue prompt contained in the 'text-filename'
For more info run gpt-cli -h
.
gpt-cli -h
.╭─────────────────────────────── gpt-cli v1.5.3 ───────────────────────────────╮
│ │
│ Repo : https://github.com/Simatwa/gpt-cli │
│ By : Smartwa Caleb │
╰──────────────────────────────────────────────────────────────────────────────╯
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] [-bk KEY]
[-bkp PATH] [-bcf PATH] [-si TIME] [-spin 1|2]
[--disable-stream] [--new-record] [--disable-recording]
[--zero-show] [--bard] [--markdown] [--update] [--sudo]
[message ...]
Interact with ChatGPT and Bard at the terminal.
positional arguments:
message Message to be send.
options:
-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
-bk KEY, --bard-key KEY
Bard's session value
-bkp PATH, --bard-key-path PATH
Path to Bard's key path
-bcf PATH, --bard-cookie-file PATH
Path to Bard's cookie file
-si TIME, --stream-interval TIME
Interval for printing responses in (s)
-spin 1|2, --spinner 1|2
Busy bar indicator
--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
--bard Make Bard the default GPT
--markdown Stdout responses in markdown-format - disables
streaming
--update Download latest prompts - [awesome-chatgpt-prompts]
--sudo Run commands against system with sudo privileges
Note : gpt-4 (model) supports upto 7000 tokens and others 3000.
$ gpt-cli --dump pdf
will generateall-acts.pdf
file containing latest acts and prompts as shown here.
Visit acheong08/Bard for info on how to get the Bard's cookie file and Sessions.
Motive
Love for Terminal
❤️
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, the rest is here.
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
-
Add prompts to the prompts.csv
Review CHANGELOG
Acknowledgements
You wanna save your bill? Well, purpose to make use of WebChatGPT, which is reverse engineer of ChatGPT web-version.
Note Consider supporting this project by purchasing Prompts for ChatGPT and Bard ebook.
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
File details
Details for the file chatgpt4-cli-1.5.9.tar.gz
.
File metadata
- Download URL: chatgpt4-cli-1.5.9.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1651f179503beedb0d23136886bfdd6e126708feadb44d9b6809c7c657490fbe |
|
MD5 | 9672955ca83e4761c74e21a07c28f5fe |
|
BLAKE2b-256 | 247bffa7990d93851de370e45a86de8a2b0608edbd7a87306b29c569234bbc19 |
File details
Details for the file chatgpt4_cli-1.5.9-py3-none-any.whl
.
File metadata
- Download URL: chatgpt4_cli-1.5.9-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f0fa515d8fdd7840d1472bec83bf882f43f7895fd6f2c026069d767c4370b6 |
|
MD5 | fa934d0b1992924e15e6e484515ad678 |
|
BLAKE2b-256 | 9bcb3449ae6767220e6c328a47a38b3c10223a6b323d870d24d3191329da91fc |