Skip to main content

Command line REPL for GPT-based tools

Project description

gpt-repl

Interactively play with GPT-based tools from the terminal

PyPi Downloads License

Description

ChatGPT needs a power-user mode. gpt-repl gives you a terminal UI for interacting with ChatGPT and other GPT-based tools.

The default mode, synth-chat, uses a ChatGPT-like chatbot built directly from GPT-3. It supports features not possible with ChatGPT, including:

  • Write the prefix of the next response
  • Give instructions that will always be followed and never forgetten

This project is still in the early stages of development. It will have bugs and frequent breaking changes.

Install

For now, Python >=3.9 is required. Use pip3 instead of pip if necessary.

pip install -U gpt-repl

If you don't have an OpenAI API key create one here and set it:

export OPENAI_API_KEY="<your api key>"

Usage

gpt-repl @my-thread [-m mode-name]

Use gpt-repl modes to list available REPL modes and gpt-repl threads to list open threads.

Inside the REPL, type .help for a list of commands and keyboard shortcuts.

Tips

Conversation Seeds

Conversation seeds give you extremely strong influence over the chatbot's behavior.

.seed You must write your message using only lowercase letters

All future responses will only use lowercase letters (usually). Seeds are never forgotten. Seeds are best phrased as statements of fact or commands. See .help for examples.

Forced Response Prefix

If you aren't getting a response you like, you can directly specify how the next response must start using :>. For example, if you send:

Give me Pong in Pygame :> Here is the code:

Then the response will start with Here is the code:.

Useful Commands

See .help for a full list, but these are some particularly important commands:

  • .clear or C-x + C-c to clear the screen
  • .new or C-x + C-n to reset the thread
  • .redo or C-x + C-r to resample the response
  • .undo or C-x + C-u to rewrite your most recent message

Custom Modes

Add a Python file that looks like this to $GPT_REPL_CONFIG_PATH/plugins/. By default this will be ~/.config/gpt_repl/plugins/.

See gpt_repl/modes for more complete examples.

Development

To install gpt-repl from source:

git clone git@github.com:veered/gpt-repl.git
cd gpt-repl
pip install -U flit
flit install -s

Screenshot

Screen Shot 2022-12-16 at 6 09 31 PM

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpt-repl-0.4.21.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpt_repl-0.4.21-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file gpt-repl-0.4.21.tar.gz.

File metadata

  • Download URL: gpt-repl-0.4.21.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for gpt-repl-0.4.21.tar.gz
Algorithm Hash digest
SHA256 2c0a8f98d0b0b43cb4e306520db5f7b2f9dbbe5396446daed927330487ae9478
MD5 ebc6be090631f17132712fcb286caf0c
BLAKE2b-256 48a04ceb03b58cbdf6faf39822f0d98192aa776bbd111998a336fa33525d7737

See more details on using hashes here.

File details

Details for the file gpt_repl-0.4.21-py3-none-any.whl.

File metadata

  • Download URL: gpt_repl-0.4.21-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for gpt_repl-0.4.21-py3-none-any.whl
Algorithm Hash digest
SHA256 1255534a71492ec20a7e5b9413950b8f087a7eedbd41ce3f909c5f8862d3d056
MD5 cadaf981709b282948d05b7ba40017a6
BLAKE2b-256 5abc6bbcc4c4262698b21e2ae21f7f156353b3fea08be36f78ed75eba4a71a92

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page