/chatgpt-clone

Clone of ChatGPT, uses official model & Bing, reverse-engineered UI, with AI model switching, message search, and prompt templates (WIP)

Primary LanguageJavaScriptOtherNOASSERTION

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.

clone3

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

Google's PaLM 2 is now supported as of v0.4.3

image

How to Setup PaLM 2 (via Google Cloud Vertex AI API) - Enable the Vertex AI API on Google Cloud: - - https://console.cloud.google.com/vertex-ai - Create a Service Account: - - https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts/create?walkthrough_id=iam--create-service-account#step_index=1 - 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

Table of Contents

Getting Started
General Information
Features
Cloud Deployment
Contributions

Star History

Star History Chart

Contributors

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.

This project exists in its current state thanks to all the people who contribute