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 f427ad792a
🚀 feat: Assistants Streaming (#2159)
* chore: bump openai to 4.29.0 and npm audit fix

* chore: remove unnecessary stream field from ContentData

* feat: new enum and types for AssistantStreamEvent

* refactor(AssistantService): remove stream field and add conversationId to text ContentData
> - return `finalMessage` and `text` on run completion
> - move `processMessages` to services/Threads to avoid circular dependencies with new stream handling
> - refactor(processMessages/retrieveAndProcessFile): add new `client` field to differentiate new RunClient type

* WIP: new assistants stream handling

* chore: stores messages to StreamRunManager

* chore: add additional typedefs

* fix: pass req and openai to StreamRunManager

* fix(AssistantService): pass openai as client to `retrieveAndProcessFile`

* WIP: streaming tool i/o, handle in_progress and completed run steps

* feat(assistants): process required actions with streaming enabled

* chore: condense early return check for useSSE useEffect

* chore: remove unnecessary comments and only handle completed tool calls when not function

* feat: add TTL for assistants run abort cacheKey

* feat: abort stream runs

* fix(assistants): render streaming cursor

* fix(assistants): hide edit icon as functionality is not supported

* fix(textArea): handle pasting edge cases; first, when onChange events wouldn't fire; second, when textarea wouldn't resize

* chore: memoize Conversations

* chore(useTextarea): reverse args order

* fix: load default capabilities when an azure is configured to support assistants, but `assistants` endpoint is not configured

* fix(AssistantSelect): update form assistant model on assistant form select

* fix(actions): handle azure strict validation for function names to fix crud for actions

* chore: remove content data debug log as it fires in rapid succession

* feat: improve UX for assistant errors mid-request

* feat: add tool call localizations and replace any domain separators from azure action names

* refactor(chat): error out tool calls without outputs during handleError

* fix(ToolService): handle domain separators allowing Azure use of actions

* refactor(StreamRunManager): types and throw Error if tool submission fails
2024-03-21 22:42:25 -04:00
.devcontainer 🐳 fix: Update .devcontainer Files (#1712) 2024-02-04 08:39:19 -05:00
.github 🔬 chore: Add Circular Dependency Check to backend-review (#2149) 2024-03-20 12:15:42 -04:00
.husky chore: move files out of root to declutter 2023-09-06 14:00:36 -04:00
api 🚀 feat: Assistants Streaming (#2159) 2024-03-21 22:42:25 -04:00
client 🚀 feat: Assistants Streaming (#2159) 2024-03-21 22:42:25 -04:00
config 🪙 feat: Assistants Token Balance & other improvements (#2114) 2024-03-15 19:48:42 -04:00
docs 📖 docs: Update ShuttleAI Fibonacci Image (#2160) 2024-03-21 22:41:58 -04:00
e2e fix: necessary font changes (#1818) 2024-02-16 14:15:05 -05:00
packages/data-provider 🚀 feat: Assistants Streaming (#2159) 2024-03-21 22:42:25 -04:00
.dockerignore 🐳 : Further Docker build Cleanup & Docs Update (#1502) 2024-01-06 11:59:08 -05:00
.env.example 🚀 feat: Add ShuttleAI as Known Endpoint (#2152) 2024-03-21 09:17:57 -04:00
.eslintrc.js 🔬 chore: Add Circular Dependency Check to backend-review (#2149) 2024-03-20 12:15:42 -04:00
.gitignore 📋 chore: add requirements.txt to documentation (#2122) 2024-03-19 13:38:18 -04:00
bun.lockb 🅰️ feat: Azure OpenAI Assistants API Support (#1992) 2024-03-14 17:21:42 -04:00
deploy-compose.yml 🗃️ feat: General File Support for OpenAI, Azure, Custom, Anthropic and Google (RAG) (#2143) 2024-03-19 20:54:30 -04:00
docker-compose.override.yml.example 📚 docs: Separate LiteLLM and Ollama Documentation (#1948) 2024-03-02 12:42:02 -05:00
docker-compose.yml 🗃️ feat: General File Support for OpenAI, Azure, Custom, Anthropic and Google (RAG) (#2143) 2024-03-19 20:54:30 -04:00
Dockerfile chore: Revise of PR #2157, move global steps earlier, execute as root 2024-03-21 12:33:30 -04:00
Dockerfile.multi refactor: Use librechat-data-provider app-wide 🔄 (#1326) 2023-12-11 14:48:40 -05:00
index.html 🖌️ style: Update Light/Dark UI Themes (#1754) 2024-03-06 12:05:43 -05:00
librechat.example.yaml 🅰️ feat: Azure OpenAI Assistants API Support (#1992) 2024-03-14 17:21:42 -04:00
LICENSE ⚖️ Update LICENSE.md Year: 2023 -> 2024 (#1501) 2024-01-06 12:00:20 -05:00
mkdocs.yml 🔗 chore: Add Stable Discord and Homepage Links (#1835) 2024-02-19 09:42:57 -05:00
package-lock.json 🚀 feat: Assistants Streaming (#2159) 2024-03-21 22:42:25 -04:00
package.json 🍞 fix: Minor fixes and improved Bun support (#1916) 2024-02-27 17:51:16 -05:00
prettier.config.js fix: necessary font changes (#1818) 2024-02-16 14:15:05 -05:00
rag.yml 🗃️ feat: General File Support for OpenAI, Azure, Custom, Anthropic and Google (RAG) (#2143) 2024-03-19 20:54:30 -04:00
README.md 🅰️ feat: Azure OpenAI Assistants API Support (#1992) 2024-03-14 17:21:42 -04:00

LibreChat

Deploy on Railway Deploy on Zeabur Deploy on Sealos

📃 Features

  • 🖥️ UI matching ChatGPT, including Dark mode, Streaming, and latest updates
  • 💬 Multimodal Chat:
    • Upload and analyze images with GPT-4 and Gemini Vision 📸
    • General file support now available through the Assistants API integration. 🗃️
    • Local RAG in Active Development 🚧
  • 🌎 Multilingual UI:
    • English, 中文, Deutsch, Español, Français, Italiano, Polski, Português Brasileiro,
    • Русский, 日本語, Svenska, 한국어, Tiếng Việt, 繁體中文, العربية, Türkçe, Nederlands, עברית
  • 🤖 AI model selection: OpenAI, Azure OpenAI, BingAI, ChatGPT, Google Vertex AI, Anthropic (Claude), Plugins, Assistants API (including Azure Assistants)
  • 💾 Create, Save, & Share Custom Presets
  • 🔄 Edit, Resubmit, and Continue messages with conversation branching
  • 📤 Export conversations as screenshots, markdown, text, json.
  • 🔍 Search all messages/conversations
  • 🔌 Plugins, including web access, image generation with DALL-E-3 and more
  • 👥 Multi-User, Secure Authentication with Moderation and Token spend tools
  • ⚙️ Configure Proxy, Reverse Proxy, Docker, many Deployment options, and completely Open-Source

For a thorough review of our features, see our docs here 📚

🪶 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.

Watch the video Click on the thumbnail to open the video☝️


📚 Documentation

For more information on how to use our advanced features, install and configure our software, and access our guidelines and tutorials, please check out our documentation at docs.librechat.ai


📝 Changelog

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

⚠️ Breaking Changes Please consult the breaking changes before updating.


Star History

danny-avila%2FLibreChat | Trendshift

Star History Chart

Contributions

Contributions, suggestions, bug reports and fixes are welcome!

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