A Terminal emulation to interact with OpenAI's GPT models
Project description
GPTerm
Interact and chat with OpenAI's GPT-3 models via an REPL terminal emulation on macOS. Including voiced output, image generation and model selection.
Installation
pip3 install --upgrade gpterm
NOTE: GPTerm works best when installed and run under a Conda environment. See Known Issues
To install under conda (after installing anaconda or miniconda):
conda create --name gpterm python=3.10.8 conda activate gpterm pip3 install --upgrade gpterm
Usage
gpterm
NOTE: GPTerm uses the OpenAI API which requires an OpenAI API Key
-
Setting an OpenAI API Key:
You can get your OpenAI API Key from OpenAI
Storing it in the file
~/.openai-api-key
will allow to run GPTerm without manually providing it with the API key. In the command below replace api_key with your OpenAI API Key.echo api_key > ~/.openai-api-key
Alternatively, you can provide your API Key to
gpterm
by passing it with one of these flags:--api_key <api_key>
--api_key_path <path/to/file/containing/api_key>
Or by setting a shell environment variable
OPENAI_API_KEY
with your API Key before runninggpterm
-
Setting the Color Theme:
For the best experience a terminal with a dark background theme is recommended. (Like the one provided by iTerm)
If you are using a light background terminal start gpterm with the following flag:
--theme light
Options are light or dark (default)
Features
GPTerm provides the following features as supported by OpenAI's API:
- Streamed output
- Multiline input
- Preserves conversation context including the option to reset it
- Voiced output using the macOS say command (with a variety of voices to choose from)
- Image Generation using a DALL·E model (note that as the saying goes an image is worth a thousand tokens...)
- Model-3 selection and parameters
- Displays number of remaining tokens for current conversation context before its reset (Due to
max_tokens
limited by OpenAI's API) - Code blocks formatted with Syntax highlighting (experimental)
Known Issues
- Tab completion doesn't seem to work well in the readline module that comes with native python. The Conda environment includes a python binary which includes a readline module that supports tab completion.
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.