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:
- Install with pip:
pip install chatcli-gpt
Running chatcli
- Initialise the log:
By default it would save logs in ".chatcli.log", could override by setting environment variable CHATCLI_LOGFILE
.
chatcli init
-
Set your OpenAI API key in the environment variable
OPENAI_API_KEY
. -
Run chatcli
chatcli
- See all the commands available:
chatcli --help
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 pyeval
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
- Make some changes to your code and stage them for commit:
git add -p
- Use
git diff
to see the changes you've made and pipe them to ChatGPT'schatcli.py
script to generate a commit message:
git diff --cached | chatcli -p commit
- 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
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.
Source Distribution
Built Distribution
Hashes for chatcli_gpt-0.5.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c12560ecf58ff42c808de4935cac02dd42e5aa9f5d6d3deb7fb0531ab952620f |
|
MD5 | 49326fd3e88d081afdbeecd727f298ef |
|
BLAKE2b-256 | cea499097664faa78c0bc11d524857b6222f6f54e43834bbf5fd76e97291ef9f |