This is a project I'm doing for fun to explore ChatGPT's API and see what I can make it do. You can use this program to connect your own API Key and start chatting with your AI. I have a few features planned to help with context issues and consistency of the AI's output.
An .exe download is now available at my itch.io page https://cdcruz.itch.io/chatgpt-client
Only use the Github repo if you want to help with building the program as I will often upload buggy or half-complete code. If you want to use a stable build, only use the itch.io builds.
- Use your own API Key to connect to OpenAI's API
- Use your own ElevenLabs API Key for text-to-speech generation
- Has some context awareness and remembers previous messages
- Use pre-processor prompts to instruct the AI on how to respond to your messages.
- Save your chats and load them at a later date to continue your conversation. Your conversations are saved locally to your PC.
- PLANNED - Optimizations to chat memory and memory of key details in a conversation
- PLANNED - Add more specialized & custom interfaces for different use cases, for example, a recipe generator.
- PLANNED - Add a folder structure for saved conversations so you can organize conversations into groups.
- PLANNED - Support for Google's AI PaLM API
- IDEA - Allow for PDF & Word docs to be analyzed and summarized.
- IDEA - Allow for community-made extensions/ modes to extend the program.
- I have decided on a new name for my program. It is now called "Quasai," a play on the word "quasi," which means something that is kind of like something else. In this case, it refers to AI trying to be kind of human.
- I fixed a major bug that caused problems under the hood and led to crashes. The bug was related to the API class being instanced too many times and not being deleted.
- I added a bare-bones implementation of the ElevenLabs API to enable text-to-speech generation. Currently, this implementation is very limited and only works in the General Chatting mode. You also need to supply your own Eleven Labs API in the settings menu.
- Added a meal planner mode that generates a complete meal plan for your week, based on your preferred diet and a few other parameters. However, the AI can be unpredictable, so the process might take longer and encounter some issues.
- You can easily save your meal plan to a text file for later use.
- You can select text bubbles in general chatting to make it easier to copy AI responses.
- API requests will now timeout if they take too long. The default time is 40 seconds but some modes have longer or shorter times depending on their use.
- Added a code assistant where you can provide code and the AI will attempt to fix it or convert it to a different language. GPT 3.5 does not perform that well at this task currently. But improvements could be made internally.
- Added a GreenText generator that will generate wild greentext stories with simple input prompts. It will display the greentext in the classic greentext format and uses a random image from imgflip.com using their free API.
- In general chatting mode, AI-provided code will appear in a proper code block if the AI formats it correctly.
- Fixed bug reported by Julian4702 and other minor things.
- A very minor release that adds the ability to change GPT models to the newest GPT-4 8K version from the main menu settings. Be aware that GPT-4 is expensive to use compared to GPT-3.5.
- Fixed the cost calculations to calculate cost correctly for GPT-4.
- Added a translator feature that can translate between major languages and some funny/fake languages. More languages will be supported later.
- An experimental companion mode has been added, where the AI can learn more about the user and act as a friend. However, this mode currently consumes an extremely high amount of tokens and is not recommended for use.
- The proofreader can now handle .txt files dropped into the input box. Multiple files can be dropped at once and will be pasted into the input box.
- Various minor fixes and code refactoring have been performed to make the program more expandable for future language model support.
- The internal prompt scripts have also been tweaked to improve AI focus on the given task.
- A stats section, which can display the total amount of tokens used, has been added to the main menu settings screen. The stats will persist between sessions.
- A waiting indicator has been incorporated into most modes to give feedback to users when the program is waiting for a response from OpenAI servers.
- Added a tokenizer tool for creating logit bias dictionaries. Due to using a C# library to achieve this, the .exe file needs to be zipped with some .dll files. I may try to port the C# library to Godot so the .exe can be completely standalone again.
- Added the ability to save recipes in the recipe creator to a text file.
- Added an OpenAI server status indicator to the main menu for easy notifications of possible server issues.
- Fixed the chat bubbles to fit text more accurately and not leave as much unneeded space.
- Improved some internal preprocessor prompts used for the proofreader.
- Added a recipe creator with multiple options and parameters including serving size, vegan options, and different instruction styles.
- The ability to export the recipe will be added at a later date.
- Added an image prompter interface that will provide prompts to use in software like Stable Diffusion.
- Other minor fixes and changes.
- Added a new proofreader interface with the ability to fix grammar & spelling, summarize text, analyze sentiment, and change the writing styles of any provided text.
- Refactored parts of the code to make it more modular & expandable. There is still some work to do.
- Preprocessor prompts for the general chatting feature will now accept JSON format for the preprocessor allowing you to include your own logit bias dictionary for more fine-tuning.
- Changed the estimated cost value to reflect the cost I have seen in my usage. $0.000002 seems to be the correct value per 1 token in my testing.
- Added a new start screen that explains the API and how to get started.
- Added a mode selection screen to allow for different features to be added in the future.
- Changed the save system for conversations to make it more expandable. Old saved conversations will no longer work.
- Minor bug fixes and quality-of-life improvements.