7 KiB
ChatGPT Clone
All AI Conversations under One Roof.
Assistant AIs are the future and OpenAI revolutionized this movement with ChatGPT. While numerous UIs exist, this app commemorates the original styling of ChatGPT, with the ability to integrate any current/future AI models, while integrating and improving upon original client features, such as conversation/message search and prompt templates (currently WIP). Through this clone, you can avoid ChatGPT Plus in favor of free or pay-per-call APIs. I will soon deploy a demo of this app. Feel free to contribute, clone, or fork. Currently dockerized.
Features
- Response streaming identical to ChatGPT through server-sent events
- UI from original ChatGPT, including Dark mode
- AI model selection (through 3 endpoints: OpenAI API, BingAI, and ChatGPT Browser)
- Create, Save, & Share custom presets for OpenAI and BingAI endpoints - More info on customization here
- Edit and Resubmit messages just like the official site (with conversation branching)
- Search all messages/conversations - More info here
- Integrating plugins soon
Sponsors
Sponsored by @DavidDev1334, @mjtechguy, @Pharrcyde, & @fuegovic
2023-05-11
Released v0.4.3 which now supports Google's PaLM 2!
How to Setup PaLM 2 (via Google Cloud Vertex AI API)
- Enable the Vertex AI API on Google Cloud:
- Create a Service Account:
- Make sure to click 'Create and Continue' to give at least the 'Vertex AI User' role.
- Create a JSON key, rename as 'auth.json' and save it in /api/data/.
Alternatively
- In your ./api/.env file, set PALM_KEY as "user_provided" to allow the user to provide a Service Account key JSON from the UI.
- They will follow the steps above except for renaming the file, simply importing the JSON when prompted.
- The key is sent to the server but never saved except in your local storage
Note:
- Vertex AI does not (yet) support response streaming for text generations, so response may seem to take long when generating a lot of text.
- Text streaming is simulated
You can check the full changelog in between v0.4.2 and v0.4.3 here.
⚠️ IMPORTANT : Since V0.4.0 You should register and login with a local account (email and password) for the first time sign-up. if you use login for the first time with a social login account (eg. Google, facebook, etc.), the conversations and presets that you created before the user system was implemented will NOT be migrated to that account.
⚠️ Breaking - new Env Variables : Since V0.4.0 You will need to add the new env variables from .env.example for the app to work, even if you're not using multiple users for your purposes.
For discussion and suggestion you can join us: community discord server
Table of Contents
Getting Started
General Information
Features
Cloud Deployment
Contributions
Report Templates
Alternative Documentation
Contributing
Contributions and suggestions bug reports and fixes are welcome! Please read the documentation before you do!
For new features, components, or extensions, please open an issue and discuss before sending a PR.
- Join the Discord community
License
This project is licensed under the MIT License.