VersaGPT is an application that uses the OpenAI API to allow the user to engage in a conversation with a GPT model. Plugins are included in the application and allow VersaGPT to do things that a chatbot cannot normally do.
- Clone the repository.
- Install the requirements.
pip install -r requirements.txt
- Create a
.env
file in the root directory. - Add the following to the
.env
file:OPENAI_API_KEY="<your-openai-api-key>"
- Run the application.
python main.py
- Run the application.
python main.py
- Choose a model.
- Enter a name for the chatbot.
- This has no effect on the chatbot's behavior and can be left blank for a default name.
- Enter a system prompt.
- This is the prompt that the chatbot will use to guide its behavior.
- If left blank, the prompt defaults to "You are a helpful assistant."
- Begin chatting with the chatbot.
- Plugins can be used by sending a message containing only the name of the plugin. More information on plugins can be found below.
Run these by sending a message containing only the command.
clear
- Clears the chat history. This is like starting a new conversation using the same system prompt.help
- Displays a list of commandshistory
- Prints the chat historyname
- Change the name of the chatbotpdf
- Starts the PDF Reader plugin (more information below)prompt
- Change the system promptquit
- Quits the applicationtemp
- Change the temperature of the chatbot
VersaGPT includes the following plugins and more are being developed.
- PDF Reader
- The PDF Reader plugin can read PDF files and feed them to the GPT model.
- You must store files that you want to read in the
/plugins/pdfReader/pdfFolder
directory. - Send a message containing only
pdf
to the bot to start the plugin.
- Prettify
- Add colors
- Display messages in a more readable way
- Model modification during conversation
- Change model
- Change system prompt
- Change chatbot name
- Change temperature, top_p, and frequency_penalty
- Change max_tokens
- Allow user to save conversations and prompts to be loaded later
- PDF Reader Improvements
- List PDFs for the user to choose from
- Allow user to specify page numbers to read
- Google Search
- Wolfram Alpha
- Write/Execute Code
- Prompt Improver