Skip to main content

A command line interface for interacting with GPT-3. It's orientated around an append only chat log so you get a complete history of your conversations.

Project description

ChatCLI

ChatCLI is a command-line tool that uses the OpenAI GPT-3.5/GPT-4 API to provide a chat bot interface that can answer your questions. It provides a simple and intuitive way to interact with GPT-3 by asking questions and getting relevant answers.

This command is in early development and the interface and log file format are unstable and changing rapidly. I'd love to get feedback on what would make this tool more useful.

WARNING: This version supports EVALUATE blocks that allow GPT to evaluate code. This should only work if the pyeval plugin is enabled, either using "--plugin pyeval" or "--personality pyeval". There is no sandboxing, so GPT can run any code it likes if you enable this!

Installation

The following steps will guide you through the installation process:

  1. Clone the repository with the following command:
git clone https://github.com/cthulahoops/chatcli.git
  1. Navigate to the project directory:
cd chatcli

Installation with Poetry

  1. Install Poetry (if you haven't already) by following the official Poetry installation instructions: https://python-poetry.org/docs/#installation

These instructions will guide you through the process of installing Poetry on your machine. Once installed, you can easily manage dependencies and environments for your Python projects using Poetry.

  1. Install ChatCLI using Poetry:
poetry shell
poetry install

Installation with pip

Alternatively, you can install the dependencies using pip with:

pip install -r requirements.txt

The requirements.txt may be less likely to be up to date!

Running chatcli

  1. Set your OpenAI API key in the environment variable OPENAI_API_SECRET_KEY.

  2. Run chatcli

chatcli

Usage

Ask a question

To ask a question, just run chatcli:

chatcli

This will start a conversation with the chat bot, which will prompt you for a question. You can also include a text file as context for your question by using the -f or --file option:

chatcli --file myfile.txt

You can also specify the personality that the chat bot should use with the -p or --personality option:

chatcli --personality concise

Continue a conversation

To continue a previous conversation, use the chat command with the --continue option:

chatcli --continue

Show a conversation

To show a previous conversation, use the show:

chatcli show

List all conversations

To list all the conversations that have been logged, use the log command:

chatcli log

Tag a conversation

You can tag a conversation using the tag command:

chatcli tag mytag

List all tags

To list all the tags that have been used, use the tags command:

chatcli tags

Filter by tag

You can filter conversations by tag using the -t or --tag option:

chatcli log --tag mytag

Remove a tag

You can remove a tag from a conversation using the untag command:

chatcli untag mytag

Display usage

To display the number of tokens used and the token cost, use the usage command:

chatcli usage

Examples

Generate a README for this project

chatcli --quick --file chatcli.py --personality code
>> Generate a README.md for this project.

Using ChatGPT to create commit messages

  1. Make some changes to your code and stage them for commit:
git add -p
  1. Use git diff to see the changes you've made and pipe them to ChatGPT's chatcli.py script to generate a commit message:
git diff --cached | chatcli -p commit
  1. Make a commit with the generated message:
git commit -m "$(chatcli show)"

This will use the show command to display the last message generated by the chat bot, which is then used as the commit message.

That's it! You've successfully used ChatGPT to generate a commit message based on the changes you've made to your code.

Contributing

If you wish to contribute to this project, please fork the repository and submit a pull request.

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

chatcli_gpt-0.3.1.tar.gz (11.1 kB view hashes)

Uploaded Source

Built Distribution

chatcli_gpt-0.3.1-py3-none-any.whl (11.2 kB view hashes)

Uploaded Python 3

Supported by

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