Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AineeJames/ChatGPTerminator
GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation API's using your command line interface.
https://github.com/AineeJames/ChatGPTerminator
chatgpt chatgpt-api cli openai python
Last synced: 10 days ago
JSON representation
GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation API's using your command line interface.
- Host: GitHub
- URL: https://github.com/AineeJames/ChatGPTerminator
- Owner: AineeJames
- License: mit
- Created: 2023-03-13T20:14:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-21T16:23:03.000Z (over 1 year ago)
- Last Synced: 2024-09-24T13:49:08.285Z (about 1 month ago)
- Topics: chatgpt, chatgpt-api, cli, openai, python
- Language: Python
- Homepage:
- Size: 2.61 MB
- Stars: 230
- Watchers: 7
- Forks: 16
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-apps - ChatGPTerminator - GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation API's using your command line interface. (<a name="ai"></a>AI / ChatGPT)
- awesome-cli-apps-in-a-csv - ChatGPTerminator - GPTerminator provides a convenient way to interact with OpenAI's chat completion and image generation API's using your command line interface. (<a name="ai"></a>AI / ChatGPT)
- awesome-chatgpt-api - GPTerminator
README
GPTerminator :robot: - 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 :sparkles:
- :mag: Chat completion
- :floppy_disk: Save and load chat sessions
- :bar_chart: File analysis
- :art: Image generation with Dalle
- :clipboard: Easy code and text copying using
- :repeat: Regeneration of responses## Getting Started & Installation :rocket:
### To use this terminal interface, follow these steps:
#### 1) Install GPTerminator
```shell
git clone https://github.com/AineeJames/ChatGPTerminator
cd ChatGPTerminator
pip install .
```or
```shell
pip install gpterminator
```#### 2) Set the OPENAI_API_KEY env variable (you may want this in your shell's `.rc` file):
```shell
export OPENAI_API_KEY=
```#### 3) Start GPTerminator by running one of the following commands:
```shell
gpterm
# or
gpterm # ex: gpterm write a hello world function in Python
```#### 4) Type `!help` for a list of commands to use
## Running with podman/docker (optional) :package:
#### Build the image and provide the `APIKEY`
```bash
podman build \
--build-arg APIKEY=$(echo $OPENAI_API_KEY) \
-t gpterm .
```#### Run `gpterm` in the container
```bash
podman run -it --rm --name gpterm gpterm
```#### Set an alias for easy access
```bash
echo "alias gpterm='podman run -it --rm --name gpterm gpterm'" >> ~/.bashrc
```## Commands :exclamation:
- 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](https://github.com/AineeJames/ChatGPTerminator/wiki/Commands) for more detailed help with commands!## Configuration :gear:
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`:
```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](https://platform.openai.com/docs/api-reference/chat/create)> **Note**
> Valid color schemes can be found [here](https://pygments.org/styles/)> **Note** If you change the `CommandInitiator`, you will now type `` 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 :raised_hands:
### 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:
> **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!