Enhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting. Active. https://librechat.ai/
Find a file
Danny Avila 3414690e42
Feat: PaLM 2 (#262)
* feat(api): add googleapis package to package.json
feat(api): add reqDemo.js file to make a request to Google Cloud AI Platform API to get a response from a chatbot model.

* feat: add PaLM2 support

* feat(conversationPreset.js): add support for topP and topK for google endpoint
feat(askGoogle.js): add support for topP and topK for google endpoint
feat(ask/index.js): add google endpoint
feat(endpoints.js): add google endpoint
feat(MessageHeader.jsx): add support for modelLabel for google endpoint
feat(PresetItem.jsx): add support for modelLabel for google endpoint
feat(HoverButtons.jsx): add support for google endpoint
feat(createPayload.ts): add google endpoint
feat(types.ts): add google endpoint
feat(store/endpoints.js): add google endpoint
feat(cleanupPreset.js): add support for topP and topK for google endpoint
feat(getDefaultConversation.js): add support for topP and topK for google endpoint
feat(handleSubmit.js): add support for topP and topK for google endpoint

* fix: messages payload

* refactor(GoogleClient.js): set maxContextTokens based on isTextModel value
feat(GoogleClient.js): add delay option to TextStream constructor
feat(getIcon.jsx): add support for google endpoint and PaLM2 model label

* feat: palm frontend changes

* feat(askGoogle.js): set default example to empty input and output
feat(Examples.jsx): add ability to add and remove examples
refactor(Settings.jsx): remove examples from props and setOption function

style(GoogleOptions): remove unnecessary whitespace after Settings2 import
feat(GoogleOptions): add addExample and removeExample functions to manage examples
fix(cleanupPreset): set default example to [{ input: '', output: ''}]
fix(getDefaultConversation): set default example to [{ input: '', output: ''}]
fix(handleSubmit): set default example to [{ input: '', output: ''}]

* style(client): adjust height of settings and examples components to 350px
fix(client): fix path to palm.png image in getIcon.jsx file

* style(EndpointOptionsPopover.jsx, Examples.jsx, Settings.jsx): improve button styles and update input placeholders

* feat (palm): finalize examples on the frontend

* feat(GoogleClient.js): filter out empty examples in options
feat(GoogleClient.js): add support for promptPrefix in buildPayload method
feat(GoogleClient.js): add support for examples in buildPayload method
feat(conversationPreset.js): add maxOutputTokens field to conversation preset schema
feat(presetSchema.js): add examples field to preset schema
feat(askGoogle.js): add support for examples and promptPrefix in endpointOption
feat(EditPresetDialog.jsx): add Examples component for Google endpoint
feat(EditPresetDialog.jsx): add button to show/hide Examples component
feat(EditPresetDialog.jsx): add functionality to add, remove, and edit examples in Examples component
feat(EndpointOptionsDialog.jsx): change endpoint name to PaLM for Google endpoint
feat(Settings.jsx): add maxHeight prop to limit height of Settings component in EditPresetDialog and EndpointOptionsDialog

fix(Settings.jsx): add examples prop to ChatGPTBrowser component
fix(EndpointItem.jsx): add alternate name for google endpoint
fix(MessageHeader.jsx): change title for google endpoint to PaLM
feat(endpoints.js): add google endpoint to endpointsConfig
fix(cleanupPreset.js): add missing comma in examples array

* chore: change endpoint order

* feat(PaLM 2): complete for testing

* fix(PaLM): handle blocked messages
2023-05-13 16:29:06 -04:00
.github chore: remove GA until more tests are written 2023-04-08 08:21:34 -04:00
api Feat: PaLM 2 (#262) 2023-05-13 16:29:06 -04:00
client Feat: PaLM 2 (#262) 2023-05-13 16:29:06 -04:00
documents chore: NPM Workspaces and scripts (#244) 2023-05-12 09:40:14 -04:00
e2e chore(landing.spec.js): comment out title expectation and update landing title text 2023-04-06 19:39:19 -04:00
images update readme 2023-03-07 14:51:41 -05:00
.dockerignore fix(docker): update .dockerignore to include client/.env file (#241) 2023-05-11 15:59:43 -04:00
.gitignore chore: NPM Workspaces and scripts (#244) 2023-05-12 09:40:14 -04:00
CHANGELOG.md Release 0.4.2 (#242) 2023-05-11 16:39:44 -04:00
CONTRIBUTORS.md Update README.md to v0.4.1 (#224) 2023-05-09 22:12:12 -04:00
docker-compose.yml chore: bump version to 0.4.1 in package.json files (#222) 2023-05-09 17:57:04 -04:00
Dockerfile fix(docker): update .dockerignore to include client/.env file (#241) 2023-05-11 15:59:43 -04:00
Dockerfile-app feat: Auth and User System (#205) 2023-05-07 10:04:51 -07:00
LICENSE.md update documentation structure (#220) 2023-05-09 13:47:14 -04:00
meilisearch.yml chore: update meilisearch compose 2023-03-22 20:12:38 -04:00
package-lock.json Feat: PaLM 2 (#262) 2023-05-13 16:29:06 -04:00
package.json chore: NPM Workspaces and scripts (#244) 2023-05-12 09:40:14 -04:00
README.md Release 0.4.2 2023-05-11 16:46:27 -04:00

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

2023-05-11

Released v0.4.2

ChatGPT-Clone received some important upgrades and improvements. A new contributor, @qcgm1978, makes their first contribution by adding a null check for adaptiveCards variable. Additionally, support for titling conversations with the Azure endpoint is added by @danny-avila in PR #234. In PR #235, @danny-avila also makes some necessary fixes to titling, quotation marks, and endpoints being unavailable with only the Azure key provided. The logging system is now powered by Pino and sanitization, thanks to @danorlando in PR #227. To bulletproof the Docker container, the .dockerignore file is updated to include the client/.env file by @danny-avila in PR #241. This issue was brought to our attention on discord.

There is active work on the new Plugins feature, converting the frontend to Typescript, and looking to integrate Palm2, google's new generative AI accessible via API, to the project as a new endpoint.

You can check the full changelog in between v0.4.1 and v0.4.2 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

Past Updates

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.

License

This project is licensed under the MIT License.