github danny-avila/LibreChat v0.5.0

latest releases: v0.7.3-rc, v0.7.2, v0.7.1...
pre-release11 months ago

🎉 Introducing Plugins via LangChain đŸĻœī¸đŸ”—

image

⚠ī¸ Note: this update introduces Breaking Changes ⚠ī¸ See notes below for more information

The following contributors were crucial for this release: @fuegovic @danorlando @ClaraLeigh @dncc89


The new Plugins endpoint opens the door to prompting LLMs in new ways other than traditional input/output prompting.

The first step is using chain-of-thought prompting for using plugins/tools in a fashion mimicing the official ChatGPT Plugins feature.

More than this, you can use this endpoint for changing your conversation settings mid-conversation. Unlike the official ChatGPT site and all other endpoints, you can switch models, presets, and settings mid-convo, even when you have no plugins selected. This is useful if you first want a creative response from GPT-4, and then a deterministic, lower cost response from GPT-3.

Soon, you will be able to use Local LLMs, PaLM2 and HuggingFace models, all in this endpoint in the same modular manner.

Click here for more detailed information on this update, including how it works, how to setup specific plugins like Stable Diffusion, and how to make your own plugins compatible with this project


Immediate Roadmap

  • Vector Indexing & Memory - Chat with Documents
    • Starting work
  • Python API to utilize Most up-to-date Python Features/Tools (including Langchain & more)
  • OpenAPI Support (ChatGPT plugins)
    • already in progress, testing working method
  • Local LLM Support
    • in planning phase, methods already outlined
  • HuggingFace Models Support
    • in planning phase, methods already outlined
  • Code-Bison Compatibility
    • in planning phase, methods already outlined
  • More tests and CI/CD pipeline
    • already in progress, multiple test suites across the full stack are added with this update

ℹī¸ If you would like to contribute to any of the above or in any other capacity, we will be adding all of these tasks & more to our GitHub Projects tab very soon. Please also join our discord for developer discussion.

Note: You can now close registration by either omitting this env variable or setting it to false

# ALLOW_REGISTRATION=true
# ...or 
ALLOW_REGISTRATION=false

⚠ī¸ Breaking Changes ⚠ī¸

Note: These changes only apply to users who are updating from a previous version of the app.

  • We have simplified the configuration process by using a single .env file in the root folder instead of separate /api/.env and /client/.env files.
  • If you had installed a previous version, you can run npm run upgrade to automatically copy the content of both files to the new .env file and backup the old ones in the root dir.
  • If you are installing the project for the first time, it's recommend you run the installation script npm run install to guide your local setup (otherwise continue to use docker)
  • The docker-compose file had some changes. Review the new docker instructions to make sure you are setup properly. This is still the simplest and most effective method.
  • The upgrade script requires both /api/.env and /client/.env files to run properly. If you get an error about a missing client env file, just rename the /client/.env.example file to /client/.env and run the script again.
  • We have renamed the OPENAI_KEY variable to OPENAI_API_KEY to match the official documentation. The upgrade script should do this automatically for you, but please double-check that your key is correct in the new .env file.
  • After running the upgrade script, the OPENAI_API_KEY variable might be placed in a different section in the new .env file than before. This does not affect the functionality of the app, but if you want to keep it organized, you can look for it near the bottom of the file and move it to its usual section.

  • For enhanced security, we are now asking for crypto keys for securely storing credentials in the .env file. Crypto keys are used to encrypt and decrypt sensitive data such as passwords and access keys. If you don't set them, the app will crash on startup.
  • You need to fill the following variables in the .env file with 32-byte (64 characters in hex) or 16-byte (32 characters in hex) values:
    • CREDS_KEY (32-byte)
    • CREDS_IV (16-byte)
    • JWT_SECRET (32-byte, optional but recommended)
  • You can use this replit to generate some crypto keys quickly: https://replit.com/@daavila/crypto#index.js
  • Make sure you keep your crypto keys safe and don't share them with anyone.

We apologize for any inconvenience caused by these changes. We hope you enjoy the new and improved version of our app!

If you're having trouble with this update, visit our #issues thread on our discord, or our troubleshooting discussion on our Discussions page. Report bugs in our Issues Page

Full Changelog: v0.4.8...v0.5.0

Don't miss a new LibreChat release

NewReleases is sending notifications on new releases.