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
Marco Beretta 1aad315de6
🎤 feat: add custom speech config, browser TTS/STT features, and dynamic speech tab settings (#2921)
* feat: update useTextToSpeech and useSpeechToText hooks to support external audio endpoints

This commit updates the useTextToSpeech and useSpeechToText hooks in the Input directory to support external audio endpoints. It introduces the useGetExternalTextToSpeech and useGetExternalSpeechToText hooks, which determine whether the audio endpoints should be set to 'browser' or 'external' based on the value of the endpointTTS and endpointSTT Recoil states. The useTextToSpeech and useSpeechToText hooks now use these new hooks to determine whether to use external audio endpoints

* feat: add userSelect style to ConversationModeSwitch label

* fix: remove unused updateTokenWebsocket function and import

The updateTokenWebsocket function and its import are no longer used in the OpenAIClient module. This commit removes the function and import to clean up the codebase

* feat: support external audio endpoints in useTextToSpeech and useSpeechToText hooks

This commit updates the useTextToSpeech and useSpeechToText hooks in the Input directory to support external audio endpoints. It introduces the useGetExternalTextToSpeech and useGetExternalSpeechToText hooks, which determine whether the audio endpoints should be set to 'browser' or 'external' based on the value of the endpointTTS and endpointSTT Recoil states. The useTextToSpeech and useSpeechToText hooks now use these new hooks to determine whether to use external audio endpoints

* feat: update AutomaticPlayback component to AutomaticPlaybackSwitch; tests: added AutomaticPlaybackSwitch.spec
>
> This commit renames the AutomaticPlayback component to AutomaticPlaybackSwitch in the Speech directory. The new name better reflects the purpose of the component and aligns with the naming convention used in the codebase.

* feat: update useSpeechToText hook to include interimTranscript

This commit updates the useSpeechToText hook in the client/src/components/Chat/Input/AudioRecorder.tsx file to include the interimTranscript state. This allows for real-time display of the speech-to-text transcription while the user is still speaking. The interimTranscript is now used to update the text area value during recording.

* feat: Add customConfigSpeech API endpoint for retrieving custom speech configuration

This commit adds a new API endpoint  in the  file under the  directory. This endpoint is responsible for retrieving the custom speech configuration using the  function from the  module

* feat: update store var  and ; fix: getCustomConfigSpeech

* fix: client tests, removed unused import

* feat: Update useCustomConfigSpeechQuery to return an array of custom speech configurations

This commit modifies the useCustomConfigSpeechQuery function in the client/src/data-provider/queries.ts file to return an array of custom speech configurations instead of a single object. This change allows for better handling and manipulation of the data in the application

* feat: Update useCustomConfigSpeechQuery to return an array of custom speech configurations

* refactor: Update variable name in speechTab schema

* refactor: removed unused and nested code

* fix: using recoilState

* refactor: Update Speech component to use useCallback for setting settings

* fix: test

* fix: tests

* feature: ensure that the settings don't change after modifying then through the UI

* remove comment

* fix: Handle error gracefully in getCustomConfigSpeech and getVoices endpoints

* fix: Handle error

* fix: backend tests

* fix: invalid custom config logging

* chore: add back custom config info logging

* chore: revert loadCustomConfig spec

---------

Co-authored-by: Danny Avila <danny@librechat.ai>
2024-07-05 10:13:34 -04:00
.devcontainer 🐳 fix: Update .devcontainer Files (#1712) 2024-02-04 08:39:19 -05:00
.github 🔒 feat: password reset disable option; fix: account email error message (#2327) 2024-06-06 11:39:36 -04:00
.husky 🐳 hotfix: Necessary Dockerfile Update (#2271) 2024-04-01 18:46:12 -04:00
api 🎤 feat: add custom speech config, browser TTS/STT features, and dynamic speech tab settings (#2921) 2024-07-05 10:13:34 -04:00
client 🎤 feat: add custom speech config, browser TTS/STT features, and dynamic speech tab settings (#2921) 2024-07-05 10:13:34 -04:00
config 🗨️ feat: Prompt Slash Commands (#3219) 2024-06-27 17:34:48 -04:00
e2e v0.7.3 (#3067) 2024-06-15 12:17:10 -04:00
packages/data-provider 🎤 feat: add custom speech config, browser TTS/STT features, and dynamic speech tab settings (#2921) 2024-07-05 10:13:34 -04:00
utils 💻 feat: added env updater script (#3107) 2024-06-21 10:14:18 -04:00
.dockerignore 🐳 : Further Docker build Cleanup & Docs Update (#1502) 2024-01-06 11:59:08 -05:00
.env.example 🤖 feat: Add titling to Google client (#2983) 2024-06-22 11:42:51 -04:00
.eslintrc.js 🔒 feat: password reset disable option; fix: account email error message (#2327) 2024-06-06 11:39:36 -04:00
.gitignore 🌿 feat: Multi-response Streaming (#3191) 2024-06-25 03:02:38 -04:00
bun.lockb 🚀 refactor: Enhance Custom Endpoints, Message Logic, and Payload Handling (#2895) 2024-05-28 14:52:12 -04:00
deploy-compose.yml 🐋 chore: add restart: always to meilisearch service in docker-compose.yml (#2788) 2024-05-22 23:20:35 -04:00
docker-compose.override.yml.example 🚅 docs: Updated Example for LiteLLM ports and Volume mount (#2941) 2024-06-01 08:51:18 -04:00
docker-compose.yml Revert "🐋 refactor(docker-compose): use "HOST" in ports field (#2654)" 2024-05-13 10:36:36 -04:00
Dockerfile v0.7.3 (#3067) 2024-06-15 12:17:10 -04:00
Dockerfile.multi v0.7.3 (#3067) 2024-06-15 12:17:10 -04:00
index.html v0.7.3 (#3067) 2024-06-15 12:17:10 -04:00
librechat.example.yaml 🤖 feat: Private Assistants (#2881) 2024-05-28 08:27:45 -04:00
LICENSE ⚖️ Update LICENSE.md Year: 2023 -> 2024 (#1501) 2024-01-06 12:00:20 -05:00
package-lock.json 🌿 feat: Multi-response Streaming (#3191) 2024-06-25 03:02:38 -04:00
package.json v0.7.4-rc1 (#3099) 2024-06-17 12:47:28 -04:00
prettier.config.js v0.7.3 (#3067) 2024-06-15 12:17:10 -04:00
rag.yml 🐳 feat: RAG for Default Docker Compose Files + Docs Update (#2246) 2024-03-29 21:15:36 -04:00
README.md 📝 docs(README): update Railway referral code (#3242) 2024-07-03 13:37:56 +02:00

LibreChat

Deploy on Railway Deploy on Zeabur Deploy on Sealos

📃 Features

  • 🖥️ UI matching ChatGPT, including Dark mode, Streaming, and latest updates
  • 🤖 AI model selection:
    • OpenAI, Azure OpenAI, BingAI, ChatGPT, Google Vertex AI, Anthropic (Claude), Plugins, Assistants API (including Azure Assistants)
  • Compatible across both Remote & Local AI services:
    • groq, Ollama, Cohere, Mistral AI, Apple MLX, koboldcpp, OpenRouter, together.ai, Perplexity, ShuttleAI, and more
  • 💾 Create, Save, & Share Custom Presets
  • 🔀 Switch between AI Endpoints and Presets, mid-chat
  • 🔄 Edit, Resubmit, and Continue Messages with Conversation branching
  • 🌿 Fork Messages & Conversations for Advanced Context control
  • 💬 Multimodal Chat:
    • Upload and analyze images with Claude 3, GPT-4 (including gpt-4o), and Gemini Vision 📸
    • Chat with Files using Custom Endpoints, OpenAI, Azure, Anthropic, & Google. 🗃️
    • Advanced Agents with Files, Code Interpreter, Tools, and API Actions 🔦
  • 🌎 Multilingual UI:
    • English, 中文, Deutsch, Español, Français, Italiano, Polski, Português Brasileiro,
    • Русский, 日本語, Svenska, 한국어, Tiếng Việt, 繁體中文, العربية, Türkçe, Nederlands, עברית
  • 🎨 Customizable Dropdown & Interface: Adapts to both power users and newcomers
  • 📧 Verify your email to ensure secure access
  • 🗣️ Chat hands-free with Speech-to-Text and Text-to-Speech magic
    • Automatically send and play Audio
    • Supports OpenAI, Azure OpenAI, and Elevenlabs
  • 📥 Import Conversations from LibreChat, ChatGPT, Chatbot UI
  • 📤 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:
    • Use completely local or deploy on the cloud
  • 📖 Completely Open-Source & Built in Public
  • 🧑‍🤝‍🧑 Community-driven development, support, and feedback

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☝️


🌐 Resources

GitHub Repo:

Other:


📝 Changelog

Keep up with the latest updates by visiting the releases page and notes:

⚠️ Please consult the changelog for breaking changes before updating.


Star History

Star History Chart

danny-avila%2FLibreChat | Trendshift ROSS Index - Fastest Growing Open-Source Startups in Q1 2024 | Runa Capital


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