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
Dan Orlando 9e931229e2
feat: claude integration (#552)
* feat: bare bones implementation of claude client (WIP)

* feat: client implementation of Claude (WIP)

* fix: add claude to store

* feat: bare bones implementation of claude client (WIP)

* switch eventsource

* Try new method of calling claude with anthropic sdk

* (WIP) Finish initial claude client implementation and api

* debugging update

* fix(ClaudeClient.js): fix prompt prefixes for HUMAN_PROMPT and AI_PROMPT
fix(ClaudeClient.js): refactor buildMessages logic for correct handling of messages
refactor(ClaudeClient.js): refactor buildPrompt method to buildMessages for use in BaseClient sendMessage method
refactor(ClaudeClient.js): refactor getCompletion method to sendCompletion for use in BaseClient sendMessage method
refactor(ClaudeClient.js): omit getMessageMapMethod method for future refactoring
refactor(ClaudeClient.js): remove unused sendMessage method to prefer BaseClient message
fix(askClaude.js): error in getIds method was causing a frontend crash, userMessage was not defined
fix(askClaude.js): import abortMessage function from utils module
feat(askClaude.js): add /abort route to handle message abort requests
feat(askClaude.js): create abortControllers map to store abort controllers
feat(askClaude.js): implement abortAsk function to handle message abort logic
feat(askClaude.js): add onStart callback to handle message start logic
feat(HoverButtons.jsx): add 'claude' as a supported endpoint for branching

* fix(ClaudeClient.js): update defaultPrefix and promptPrefix messages

includes 'Remember your instructions' as Claude is trained to recognize labels preceding colons as participants of a conversation

* Change name from claude to anthropic

* add settings to handleSubmit and models to endpoints

* Implement Claude settings

* use svg for anthropic icon

* Implement abort

* Implement reverse proxy

* remove png icons

* replace web browser plugin

* remove default prefix

* fix styling of claude icon

* fix console error from svg properties

* remove single quote requirement from eslintrc

* fix(AnthropicClient.js): fix labels for HUMAN_PROMPT and AI_PROMPT
feat(AnthropicClient.js): add support for custom userLabel and modelLabel options
feat(AnthropicClient.js): add user_id metadata to requestOptions in getCompletion method
feat(anthropic, AnthropicClient.js): add debug logging

* refactor(AnthropicClient.js): change promptSuffix variable declaration from let to const

* fix(EndpointOptionsDialog.jsx): remove unnecessary code that changes endpointName from 'anthropic' to 'Claude'
fix(utils/index.jsx): fix alternateName value for 'anthropic' from 'Claude' to 'Anthropic'

* fix(AnthropicIcon): fix sizing/rendering/name of anthropic icon

* fix(AnthropicClient.js): change maxContextTokens default value to 99999
fix(AnthropicClient.js): change maxResponseTokens default value to 1500
fix(AnthropicClient.js): remove unnecessary code for setting maxContextTokens and maxResponseTokens based on modelOptions
fix(AnthropicClient.js): change max_tokens_to_sample default value to 1500
fix(anthropic.js): pass endpointOption.token to AnthropicClient constructor

* Update .env.example

* fix(AnthropicClient.js): remove exceeding message when it puts us over the token limit
fix(AnthropicClient.js): handle case when the first message exceeds the token limit
fix(AnthropicClient.js): throw error when prompt is too long
fix(AnthropicClient.js): adjust max tokens calculation to use maxOutputTokens
fix(anthropic.js): remove console.log statement in ask route

* feat(server/index): increase incoming json payload allowed size

---------

Co-authored-by: Danny Avila <messagedaniel@protonmail.com>
2023-07-13 21:35:15 -04:00
.devcontainer fully dockerized development with VS-code devcontainers (#524) 2023-06-14 10:14:24 -04:00
.github Move data provider to shared package (#582) 2023-07-04 15:47:41 -04:00
.husky test: frontend jest ci/cd & minor fixes post-release (#478) 2023-06-11 00:00:48 -04:00
api feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
client feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
config Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
docs Discord Login (#615) 2023-07-11 17:17:58 -04:00
e2e Fix: Azure "user_provided" Frontend Credentials and Save Last Selected Bing Settings (#587) 2023-07-05 09:18:45 -04:00
packages/data-provider feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
.dockerignore chore: Update docker, Minor Styling fix (#528) 2023-06-17 11:38:48 -04:00
.env.example feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
.eslintrc.js feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
.gitignore Release: 0.5.3 (#599) 2023-07-06 21:03:31 -04:00
.prettierrc.js Build/Refactor: lint pre-commit hook and reformat repo to spec (#314) 2023-05-18 14:09:31 -04:00
CODE_OF_CONDUCT.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00
CONTRIBUTING.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00
docker-compose.yml feat: update compose file to automatically tagged gh container image (#559) 2023-06-27 09:44:51 -04:00
Dockerfile feat: update Dockerfile to include curl (#539) 2023-06-22 12:43:12 -04:00
index.html test: frontend jest ci/cd & minor fixes post-release (#478) 2023-06-11 00:00:48 -04:00
LICENSE.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00
lint-staged.config.js Build/Refactor: lint pre-commit hook and reformat repo to spec (#314) 2023-05-18 14:09:31 -04:00
mkdocs.yml Docs: assets clean up (#598) 2023-07-06 17:41:22 -04:00
package-lock.json feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
package.json Discord Login (#615) 2023-07-11 17:17:58 -04:00
README.md feat: claude integration (#552) 2023-07-13 21:35:15 -04:00
SECURITY.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00

LibreChat

All-In-One AI Conversations with LibreChat

LibreChat brings together the future of assistant AIs with the revolutionary technology of OpenAI's ChatGPT. Celebrating the original styling, LibreChat gives you the ability to integrate multiple AI models. It also integrates and enhances original client features such as conversation and message search, prompt templates and plugins.

With LibreChat, you no longer need to opt for ChatGPT Plus and can instead use free or pay-per-call APIs. We welcome contributions, cloning, and forking to enhance the capabilities of this advanced chatbot platform.

https://github.com/danny-avila/LibreChat/assets/110412045/c1eb0c0f-41f6-4335-b982-84b278b53d59

Features

  • Response streaming identical to ChatGPT through server-sent events
  • UI from original ChatGPT, including Dark mode
  • AI model selection (through 6 endpoints: OpenAI API, BingAI, ChatGPT Browser, PaLM2, Claude, Plugins)
  • Create, Save, & Share custom presets - More info on prompt presets here
  • Edit and Resubmit messages with conversation branching
  • Search all messages/conversations - More info here
  • Plugins now available (including web access, image generation and more)

⚠️ Breaking Changes as of v0.5.0 ⚠️

Please read this before updating from a previous version


Changelog

Keep up with the latest updates by visiting the releases page - Releases


Table of Contents

Getting Started
General Information
Features
Cloud Deployment
Contributions

Star History

Star History Chart


Sponsors

Sponsored by @mjtechguy, @SphaeroX, @DavidDev1334, @fuegovic, @Pharrcyde


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