Skip to content

GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation API's using your command line interface.

License

Notifications You must be signed in to change notification settings

AineeJames/ChatGPTerminator

Repository files navigation

GPTerminator 🤖 - ChatGPT in the Terminal!

GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation APIs using your command line interface.

Features ✨

  • 🔍 Chat completion
  • 💾 Save and load chat sessions
  • 📊 File analysis
  • 🎨 Image generation with Dalle
  • 📋 Easy code and text copying using
  • 🔁 Regeneration of responses

Getting Started & Installation 🚀

To use this terminal interface, follow these steps:

1) Install GPTerminator

git clone https://github.com/AineeJames/ChatGPTerminator
cd ChatGPTerminator
pip install .

or

pip install gpterminator

2) Set the OPENAI_API_KEY env variable (you may want this in your shell's .rc file):

export OPENAI_API_KEY=<YOUR_API_KEY>

3) Start GPTerminator by running one of the following commands:

gpterm
# or
gpterm <input> # ex: gpterm write a hello world function in Python

4) Type !help for a list of commands to use

Running with podman/docker (optional) 📦

Build the image and provide the APIKEY

podman build \
	--build-arg APIKEY=$(echo $OPENAI_API_KEY) \
	-t gpterm .

Run gpterm in the container

podman run -it --rm --name gpterm gpterm

Set an alias for easy access

echo "alias gpterm='podman run -it --rm --name gpterm gpterm'" >> ~/.bashrc

Commands ❗

  • Power up you chat experience with commands!
  • By typing !help you can view all the possible commands along with a short description.
  • Please check out the wiki for more detailed help with commands!

Configuration ⚙️

The config.ini configuration resides in different locations depending on your OS. In order to find the path, run gpterm and then enter !pconf.

GPTerminator is configurable and can support multiple configurations. Add the following to your config.ini:

[CONFIG_TEMPLATE]
ModelName =
SystemMessage =
Temperature =
PresencePenalty =
FrequencyPenalty =
CommandInitiator =
SavePath =
CodeTheme =
Setting Description Default
ModelName this is the model used when chatting gpt-3.5-turbo
Temperature between 0 and 2 1
PresencePenalty between -2 and 2 0
FrequencyPenalty between -2 and 2 0
SystemMessage this is the starting system message sent to the API You are a helpful assistant named GPTerminator
CommandInitiator this can be set to change the default ! structure !
SavePath this changes the location of the save path when loading/saving (default save path)
CodeTheme this changes the Pygments theme of code blocks monokai

Note More details on some settings can be found here

Note Valid color schemes can be found here

Note If you change the CommandInitiator, you will now type <new-command> to execute commands...

After saving the config file, run gpterm, then enter !setconf and select which config you wish to use. You can also run the !pconf command to view the current config details.

Contributing 🙌

Current Contributors:

We welcome contributions to this project. If you find a bug, have a feature request, or want to contribute code, please open an issue or submit a pull request.

Disclaimer ⚠️

Warning This program uses the OpenAI API to chat and generate images using DALL·E. It is a good idea to put a usage cap on your billing, just in case something goes wrong!

About

GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation API's using your command line interface.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published