🪪mkdocs: social cards (#1428)

* mkdocs plugins: add plugin for social cards and plugin that allow to exclude a folder

* docs: fix hyperlinks

* mkdocs: social cards (descriptions) for 'contributions' and 'deployment' guides

* mkdocs: social cards (descriptions) for all 'index.md'

* mkdocs: social cards (descriptions) for 'features' and 'plugins'

* mkdocs: social cards (descriptions) for 'general_info'

* mkdocs: social cards (descriptions) for 'configuration'

* mkdocs: social cards (descriptions) for 'installation'

* mkdocs: minor fixes

* update librechat.svg

* update how_to_contribute.md

add reference to the official GitHub documentation
This commit is contained in:
Fuegovic 2023-12-28 17:10:06 -05:00 committed by GitHub
parent 18cd02d44e
commit bce4f41fae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 393 additions and 329 deletions

View file

@ -1,5 +1,6 @@
---
title: 🤖 AI Setup
description: This doc explains how to setup your AI providers, their APIs and credentials.
weight: -8
---
@ -43,7 +44,7 @@ This doc explains how to setup your AI providers, their APIs and credentials.
For example, OpenAI, Google, Plugins, Azure OpenAI, Anthropic, are all different "endpoints". Since OpenAI was the first supported endpoint, it's listed first by default.
Using the default environment values from `.env.example` will enable several endpoints, with credentials to be provided on a per-user basis from the web app. Alternatively, you can provide credentials for all users of your instance.
Using the default environment values from [/.env.example](https://github.com/danny-avila/LibreChat/blob/main/.env.example) will enable several endpoints, with credentials to be provided on a per-user basis from the web app. Alternatively, you can provide credentials for all users of your instance.
This guide will walk you through setting up each Endpoint as needed.
@ -70,14 +71,13 @@ Note that LibreChat will use your last selected endpoint when creating a new con
To override this behavior, you need a preset and you need to set that specific preset as the default one to use on every new chat.
### Setting a Default Preset
See the **[Presets Guide](../../features/presets.md)** for more details
A preset refers to a specific Endpoint/Model/Conversation Settings that you can save.
The default preset will always be used when creating a new conversation.
Here's a video to demonstrate:
https://github.com/danny-avila/LibreChat/assets/110412045/bbde830f-18d9-4884-88e5-1bd8f7ac585d
Here's a video to demonstrate: **[Setting a Default Preset](https://github.com/danny-avila/LibreChat/assets/110412045/bbde830f-18d9-4884-88e5-1bd8f7ac585d)**
---
@ -85,7 +85,7 @@ https://github.com/danny-avila/LibreChat/assets/110412045/bbde830f-18d9-4884-88e
To get your OpenAI API key, you need to:
- Go to [https://platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys)
- Go to **[https://platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys)**
- Create an account or log in with your existing one
- Add a payment method to your account (this is not free, sorry 😬)
- Copy your secret key (sk-...) and save it in ./.env as OPENAI_API_KEY
@ -98,8 +98,8 @@ Notes:
## Anthropic
- Create an account at [https://console.anthropic.com/](https://console.anthropic.com/)
- Go to [https://console.anthropic.com/account/keys](https://console.anthropic.com/account/keys) and get your api key
- Create an account at **[https://console.anthropic.com/](https://console.anthropic.com/)**
- Go to **[https://console.anthropic.com/account/keys](https://console.anthropic.com/account/keys)** and get your api key
- add it to `ANTHROPIC_API_KEY=` in the `.env` file
---
@ -123,7 +123,7 @@ Instructions for both are given below.
To use Gemini models, you'll need an API key. If you don't already have one, create a key in Google AI Studio.
<p><a class="button button-primary" href="https://makersuite.google.com/app/apikey" target="_blank" rel="noopener noreferrer">Get an API key here</a></p>
Get an API key here: **[makersuite.google.com](https://makersuite.google.com/app/apikey)**
Once you have your key, provide the key in your .env file, which allows all users of your instance to use it.
@ -147,13 +147,13 @@ Setting `GOOGLE_KEY=user_provided` in your .env file will configure both the Ver
### Vertex AI (PaLM 2 & Codey)
To setup Google LLMs (via Google Cloud Vertex AI), first, signup for Google Cloud: https://cloud.google.com/
To setup Google LLMs (via Google Cloud Vertex AI), first, signup for Google Cloud: **[cloud.google.com](https://cloud.google.com/)**
You can usually get **$300 starting credit**, which makes this option free for 90 days.
### 1. Once signed up, Enable the Vertex AI API on Google Cloud:
- Go to [Vertex AI page on Google Cloud console](https://console.cloud.google.com/vertex-ai)
- Click on "Enable API" if prompted
- Go to **[Vertex AI page on Google Cloud console](https://console.cloud.google.com/vertex-ai)**
- Click on `Enable API` if prompted
### 2. Create a Service Account with Vertex AI role:
- **[Click here to create a Service Account](https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts/create?walkthrough_id=iam--create-service-account#step_index=1)**
- **Select or create a project**
@ -214,11 +214,11 @@ You should also consider changing the `AZURE_OPENAI_MODELS` variable to the mode
AZURE_OPENAI_MODELS=gpt-4-1106-preview,gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-1106,gpt-4-vision-preview
```
Overriding the construction of the API URL will be possible but is not yet implemented. Follow progress on this feature here: [Issue #1266](https://github.com/danny-avila/LibreChat/issues/1266)
Overriding the construction of the API URL will be possible but is not yet implemented. Follow progress on this feature here: **[Issue #1266](https://github.com/danny-avila/LibreChat/issues/1266)**
### Model Deployments
*Note: a change will be developed to improve current configuration settings, to allow multiple deployments/model configurations setup with ease: [#1390](https://github.com/danny-avila/LibreChat/issues/1390)*
> Note: a change will be developed to improve current configuration settings, to allow multiple deployments/model configurations setup with ease: **[#1390](https://github.com/danny-avila/LibreChat/issues/1390)**
As of 2023-12-18, the Azure API allows only one model per deployment.
@ -297,7 +297,7 @@ As of December 18th, 2023, Vision models seem to have degraded performance with
![image](https://github.com/danny-avila/LibreChat/assets/110412045/7306185f-c32c-4483-9167-af514cc1c2dd)
*Note: a change will be developed to improve current configuration settings, to allow multiple deployments/model configurations setup with ease: [#1390](https://github.com/danny-avila/LibreChat/issues/1390)*
> Note: a change will be developed to improve current configuration settings, to allow multiple deployments/model configurations setup with ease: **[#1390](https://github.com/danny-avila/LibreChat/issues/1390)**
### Optional Variables
@ -310,7 +310,7 @@ These two variables are optional but may be used in future updates of this proje
### Using Plugins with Azure
Note: To use the Plugins endpoint with Azure OpenAI, you need a deployment supporting [function calling](https://techcommunity.microsoft.com/t5/azure-ai-services-blog/function-calling-is-now-available-in-azure-openai-service/ba-p/3879241). Otherwise, you need to set "Functions" off in the Agent settings. When you are not using "functions" mode, it's recommend to have "skip completion" off as well, which is a review step of what the agent generated.
Note: To use the Plugins endpoint with Azure OpenAI, you need a deployment supporting **[function calling](https://techcommunity.microsoft.com/t5/azure-ai-services-blog/function-calling-is-now-available-in-azure-openai-service/ba-p/3879241)**. Otherwise, you need to set "Functions" off in the Agent settings. When you are not using "functions" mode, it's recommend to have "skip completion" off as well, which is a review step of what the agent generated.
To use Azure with the Plugins endpoint, make sure the following environment variables are set:
@ -321,19 +321,19 @@ To use Azure with the Plugins endpoint, make sure the following environment vari
## [OpenRouter](https://openrouter.ai/)
[OpenRouter](https://openrouter.ai/) is a legitimate proxy service to a multitude of LLMs, both closed and open source, including:
**[OpenRouter](https://openrouter.ai/)** is a legitimate proxy service to a multitude of LLMs, both closed and open source, including:
- OpenAI models (great if you are barred from their API for whatever reason)
- Anthropic Claude models (same as above)
- Meta's Llama models
- pygmalionai/mythalion-13b
- and many more open source models. Newer integrations are usually discounted, too!
> See their available models and pricing here: [Supported Models](https://openrouter.ai/docs#models)
> See their available models and pricing here: **[Supported Models](https://openrouter.ai/docs#models)**
OpenRouter is so great, I decided to integrate it to the project as a standalone feature.
**Setup:**
- Signup to [OpenRouter](https://openrouter.ai/) and create a key. You should name it and set a limit as well.
- Signup to **[OpenRouter](https://openrouter.ai/)** and create a key. You should name it and set a limit as well.
- Set the environment variable `OPENROUTER_API_KEY` in your .env file to the key you just created.
- Set something in the `OPENAI_API_KEY`, it can be anyting, but **do not** leave it blank or set to `user_provided`
- Restart your LibreChat server and use the OpenAI or Plugins endpoints.
@ -364,12 +364,12 @@ This is not to be confused with [OpenAI's Official API](#openai)!
To get your Access token for ChatGPT Browser Access, you need to:
- Go to [https://chat.openai.com](https://chat.openai.com)
- Go to **[https://chat.openai.com](https://chat.openai.com)**
- Create an account or log in with your existing one
- Visit [https://chat.openai.com/api/auth/session](https://chat.openai.com/api/auth/session)
- Visit **[https://chat.openai.com/api/auth/session](https://chat.openai.com/api/auth/session)**
- Copy the value of the "accessToken" field and save it in ./.env as CHATGPT_ACCESS_TOKEN
Warning: There may be a chance of your account being banned if you deploy the app to multiple users with this method. Use at your own risk. 😱
Warning: There may be a chance of your account being banned if you deploy the app to multiple users with this method. Use at your own risk.
---

View file

@ -1,5 +1,6 @@
---
title: 🌍 Default Language
description: How to change LibreChat's default language
weight: -3
---

View file

@ -1,5 +1,6 @@
---
title: 🐋 Docker Compose Override
description: "How to Use the Docker Compose Override File: In Docker Compose, an override file is a powerful feature that allows you to modify the default configuration provided by the main `docker-compose.yml` without the need to directly edit or duplicate the whole file."
weight: -9
---

View file

@ -1,5 +1,6 @@
---
title: ⚙️ Environment Variables
description: Comprehensive guide for configuring your application's environment with the `.env` file. This document is your one-stop resource for understanding and customizing the environment variables that will shape your application's behavior in different contexts.
weight: -10
---
@ -98,10 +99,10 @@ NO_INDEX=true
LibreChat has built-in central logging, see [Logging System](../../features/logging_system.md) for more info.
- Debug logging is enabled by default and crucial for development.
- To report issues, reproduce the error and submit logs from `./api/logs/debug-%DATE%.log` at [LibreChat GitHub Issues](https://github.com/danny-avila/LibreChat/issues).
- To report issues, reproduce the error and submit logs from `./api/logs/debug-%DATE%.log` at: **[LibreChat GitHub Issues](https://github.com/danny-avila/LibreChat/issues)**
- Error logs are stored in the same location.
- Keep debug logs active by default or disable them by setting `DEBUG_LOGGING=false` in the environment variable.
- For more information about this feature, read our docs: https://docs.librechat.ai/features/logging_system.html
- For more information about this feature, read our docs: **[Logging System](../../features/logging_system.md)**
```bash
DEBUG_LOGGING=true
@ -197,13 +198,13 @@ PLUGINS_USE_AZURE="true"
### BingAI
Bing, also used for Sydney, jailbreak, and Bing Image Creator, see: [Bing Access token](./ai_setup.md#bingai) and [Bing Jailbreak](../../features/bing_jailbreak.md)
- Follow these instructions to get your bing access token (it's best to use the full cookie string for that purpose): [Bing Access Token](https://github.com/danny-avila/LibreChat/issues/370#issuecomment-1560382302)
- Follow these instructions to get your bing access token (it's best to use the full cookie string for that purpose): **[Bing Access Token](../configuration/ai_setup.md#bingai)**
- Leave `BINGAI_TOKEN=` blank to disable this endpoint
- Set `BINGAI_TOKEN=` to "user_provided" to allow users to provide their own API key from the WebUI
> Note: It is recommended to leave it as "user_provided" and provide the token from the WebUI.
- `BINGAI_HOST` can be necessary for some people in different countries, e.g. China (https://cn.bing.com). Leave it blank or commented out to use default server.
- `BINGAI_HOST` can be necessary for some people in different countries, e.g. China (`https://cn.bing.com`). Leave it blank or commented out to use default server.
```bash
BINGAI_TOKEN=user_provided
@ -211,7 +212,7 @@ BINGAI_HOST=
```
### ChatGPT
see: [ChatGPT Free Access token](./ai_setup.md#chatgptbrowser)
see: [ChatGPT Free Access token](../configuration/ai_setup.md#chatgptbrowser)
> **Warning**: To use this endpoint you'll have to set up your own reverse proxy. Here is the installation guide to deploy your own (based on [PandoraNext](https://github.com/pandora-next/deploy)): **[PandoraNext Deployment Guide](../../features/pandoranext.md)**
@ -219,8 +220,9 @@ see: [ChatGPT Free Access token](./ai_setup.md#chatgptbrowser)
CHATGPT_REVERSE_PROXY=<YOUR-REVERSE-PROXY>
```
> ~~Note: If you're a GPT plus user you can add gpt-4, gpt-4-plugins, gpt-4-code-interpreter, and gpt-4-browsing to the list above and use the models for these features; however, the view/display portion of these features are not supported, but you can use the underlying models, which have higher token context~~
> **Note:** The current method only works with `text-davinci-002-render-sha`
> **Note:** If you're a GPT plus user you can try adding `gpt-4`, `gpt-4-plugins`, `gpt-4-code-interpreter`, and `gpt-4-browsing` to the list above and use the models for these features; **however, the view/display portion of these features are not supported**, but you can use the underlying models, which have higher token context
> This method **might only works** with `text-davinci-002-render-sha` and **might stop working** at any moment.
- Leave `CHATGPT_TOKEN=` blank to disable this endpoint
- Set `CHATGPT_TOKEN=` to "user_provided" to allow users to provide their own API key from the WebUI
@ -348,7 +350,7 @@ DEBUG_PLUGINS=true
```
- For securely storing credentials, you need a fixed key and IV. You can set them here for prod and dev environments.
- You need a 32-byte key (64 characters in hex) and 16-byte IV (32 characters in hex) You can use this replit to generate some quickly: [Key Generator](https://replit.com/@daavila/crypto#index.js)
- You need a 32-byte key (64 characters in hex) and 16-byte IV (32 characters in hex) You can use this replit to generate some quickly: **[Key Generator](https://replit.com/@daavila/crypto#index.js)**
> Warning: If you don't set them, the app will crash on startup.
@ -379,7 +381,7 @@ AZURE_AI_SEARCH_SEARCH_OPTION_SELECT=
```
- For customization of the DALL-E-3 System prompt, uncomment the following, and provide your own prompt. **(Advanced)**
- See official prompt for reference: [DALL-E System Prompt](https://github.com/spdustin/ChatGPT-AutoExpert/blob/main/_system-prompts/dall-e.md)
- See official prompt for reference: **[DALL-E System Prompt](https://github.com/spdustin/ChatGPT-AutoExpert/blob/main/_system-prompts/dall-e.md)**
```bash
DALLE3_SYSTEM_PROMPT="Your System Prompt here"
@ -418,23 +420,23 @@ SERPAPI_API_KEY=
```
#### Stable Diffusion (Automatic1111)
See detailed instructions here: [Stable Diffusion](../../features/plugins/stable_diffusion.md)
See detailed instructions here: **[Stable Diffusion](../../features/plugins/stable_diffusion.md)**
- Use "http://127.0.0.1:7860" with local install and "http://host.docker.internal:7860" for docker
- Use `http://127.0.0.1:7860` with local install and `http://host.docker.internal:7860` for docker
```bash
SD_WEBUI_URL=http://host.docker.internal:7860
```
#### WolframAlpha
See detailed instructions here: [Wolfram Alpha](../../features/plugins/wolfram.md)
See detailed instructions here: **[Wolfram Alpha](../../features/plugins/wolfram.md)**
```bash
WOLFRAM_APP_ID=
```
#### Zapier
- You need a Zapier account. Get your API key from here: [Zapier](https://nla.zapier.com/credentials/)
- You need a Zapier account. Get your API key from here: **[Zapier](https://nla.zapier.com/credentials/)**
- Create allowed actions - Follow step 3 in this getting start guide from Zapier
> Note: zapier is known to be finicky with certain actions. Writing email drafts is probably the best use of it.
@ -488,7 +490,7 @@ This section contains the configuration for:
### Moderation
The Automated Moderation System uses a scoring mechanism to track user violations. As users commit actions like excessive logins, registrations, or messaging, they accumulate violation scores. Upon reaching a set threshold, the user and their IP are temporarily banned. This system ensures platform security by monitoring and penalizing rapid or suspicious activities.
see: [Automated Moderation](../../features/mod_system.md)
see: **[Automated Moderation](../../features/mod_system.md)**
#### Basic Moderation Settings
@ -575,7 +577,7 @@ MESSAGE_USER_WINDOW=1
### Balance
The following enables user balances for the OpenAI/Plugins endpoints, which you can add manually or you will need to build out a balance accruing system for users.
see: [Token Usage](../../features/token_usage.md)
see: **[Token Usage](../../features/token_usage.md)**
- To manually add balances, run the following command:`npm run add-balance`
- You can also specify the email and token credit amount to add, e.g.:`npm run add-balance example@example.com 1000`
@ -589,7 +591,7 @@ CHECK_BALANCE=false
```
### Registration and Login
see: [User/Auth System](../configuration/user_auth_system.md)
see: **[User/Auth System](../configuration/user_auth_system.md)**
![image](https://github.com/danny-avila/LibreChat/assets/81851188/52a37d1d-7392-4a9a-a79f-90ed2da7f841)
@ -609,7 +611,7 @@ ALLOW_SOCIAL_REGISTRATION=false
```
- Default values: session expiry: 15 minutes, refresh token expiry: 7 days
- For more information: [Refresh Token](https://github.com/danny-avila/LibreChat/pull/927)
- For more information: **[Refresh Token](https://github.com/danny-avila/LibreChat/pull/927)**
```bash
SESSION_EXPIRY=1000 * 60 * 15
@ -617,7 +619,7 @@ REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7
```
- You should use new secure values. The examples given are 32-byte keys (64 characters in hex).
- Use this replit to generate some quickly: [JWT Keys](https://replit.com/@daavila/crypto#index.js)
- Use this replit to generate some quickly: **[JWT Keys](https://replit.com/@daavila/crypto#index.js)**
```bash
JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef
@ -626,9 +628,9 @@ JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8
### Social Logins
#### [Discord](../configuration/user_auth_system.md#discord-authentication)
#### [Discord Authentication](../configuration/user_auth_system.md#discord)
for more information: [Discord](../configuration/user_auth_system.md#discord-authentication)
for more information: **[Discord](../configuration/user_auth_system.md#discord)**
```bash
# Discord
@ -637,9 +639,9 @@ DISCORD_CLIENT_SECRET=your_client_secret
DISCORD_CALLBACK_URL=/oauth/discord/callback
```
#### [Facebook](../configuration/user_auth_system.md#facebook-authentication)
#### [Facebook Authentication](../configuration/user_auth_system.md#facebook)
for more information: [Facebook](../configuration/user_auth_system.md#facebook-authentication)
for more information: **[Facebook Authentication](../configuration/user_auth_system.md#facebook)**
```bash
# Facebook
@ -648,9 +650,9 @@ FACEBOOK_CLIENT_SECRET=
FACEBOOK_CALLBACK_URL=/oauth/facebook/callback
```
#### [GitHub](../configuration/user_auth_system.md#github-authentication)
#### [GitHub Authentication](../configuration/user_auth_system.md#github)
for more information: [GitHub](../configuration/user_auth_system.md#github-authentication)
for more information: **[GitHub Authentication](../configuration/user_auth_system.md#github)**
```bash
# GitHub
@ -659,9 +661,9 @@ GITHUB_CLIENT_SECRET=your_client_secret
GITHUB_CALLBACK_URL=/oauth/github/callback
```
#### [Google](../configuration/user_auth_system.md#google-authentication)
#### [Google Authentication](../configuration/user_auth_system.md#google)
for more information: [Google](../configuration/user_auth_system.md#google-authentication)
for more information: **[Google Authentication](../configuration/user_auth_system.md#google)**
```bash
# Google
@ -670,9 +672,9 @@ GOOGLE_CLIENT_SECRET=
GOOGLE_CALLBACK_URL=/oauth/google/callback
```
#### [OpenID](../configuration/user_auth_system.md#openid-authentication-with-azure-ad)
#### [OpenID Authentication](../configuration/user_auth_system.md#openid-with-aws-cognito)
for more information: [Azure OpenID](../configuration/user_auth_system.md#openid-authentication-with-azure-ad) or [AWS Cognito OpenID](../configuration/user_auth_system.md#openid-authentication-with-aws-cognito)
for more information: **[Azure OpenID Authentication](../configuration/user_auth_system.md#openid-with-azure-ad)** or **[AWS Cognito OpenID Authentication](../configuration/user_auth_system.md#openid-with-aws-cognito)**
```bash
# OpenID
@ -688,7 +690,7 @@ OPENID_IMAGE_URL=
```
### Email Password Reset
Email is used for password reset. See: [Email Password Reset](../configuration/user_auth_system.md#email-and-password-reset)
Email is used for password reset. See: **[Email Password Reset](../configuration/user_auth_system.md#email-and-password-reset)**
- Note that all either service or host, username and password and the From address must be set for email to work.
@ -698,7 +700,7 @@ Email is used for password reset. See: [Email Password Reset](../configuration/u
>
> Failing to set valid values here will result in LibreChat using the unsecured password reset!
See: [nodemailer well-known-services](https://community.nodemailer.com/2-0-0-beta/setup-smtp/well-known-services/)
See: **[nodemailer well-known-services](https://community.nodemailer.com/2-0-0-beta/setup-smtp/well-known-services/)**
```bash
EMAIL_SERVICE=

View file

@ -1,5 +1,6 @@
---
title: 💸 Free AI APIs
description: There are APIs offering free/free-trial access to AI APIs via reverse proxy...
weight: -6
---
@ -7,13 +8,13 @@ weight: -6
There are APIs offering free/free-trial access to AI APIs via reverse proxy.
Here is a well-maintained public list of [Free AI APIs](https://github.com/zukixa/cool-ai-stuff) that may or may not be compatible with LibreChat
Here is a well-maintained public list of **[Free AI APIs](https://github.com/zukixa/cool-ai-stuff)** that may or may not be compatible with LibreChat
> ⚠️ [OpenRouter](./ai_setup.md#openrouter) is in a category of its own, and is highly recommended over the "free" services below. NagaAI and other 'free' API proxies tend to have intermittent issues, data leaks, and/or problems with the guidelines of the platforms they advertise on. Use the below at your own risk.
> ⚠️ **[OpenRouter](./ai_setup.md#openrouter)** is in a category of its own, and is highly recommended over the "free" services below. NagaAI and other 'free' API proxies tend to have intermittent issues, data leaks, and/or problems with the guidelines of the platforms they advertise on. Use the below at your own risk.
### NagaAI
Since NagaAI works with LibreChat, and offers Llama2 along with OpenAI models, let's start with that one: [NagaAI](https://t.me/chimera_ai)
Since NagaAI works with LibreChat, and offers Llama2 along with OpenAI models, let's start with that one: **[NagaAI](https://t.me/chimera_ai)**
> ⚠️ Never trust 3rd parties. Use at your own risk of privacy loss. Your data may be used for AI training at best or for nefarious reasons at worst; this is true in all cases, even with official endpoints: never give an LLM sensitive/identifying information. If something is free, you are the product. If errors arise, they are more likely to be due to the 3rd party, and not this project, as I test the official endpoints first and foremost.

View file

@ -1,5 +1,6 @@
---
title: Configuration
description: ⚙️ This section provides detailed guides on how to configure LibreChat to suit your needs and preferences. You will learn how to set up various environment variables, customize your Docker settings, choose your AI models and APIs, enable user authentication, connect to online MongoDB, change the default language, and more.
weight: 2
---

View file

@ -1,16 +1,15 @@
---
title: 🚅 LiteLLM
description: Using LibreChat with LiteLLM Proxy
weight: -7
---
# Using LibreChat with LiteLLM Proxy
Use [LiteLLM Proxy](https://docs.litellm.ai/docs/simple_proxy) for:
Use **[LiteLLM Proxy](https://docs.litellm.ai/docs/simple_proxy)** for:
* Calling 100+ LLMs Huggingface/Bedrock/TogetherAI/etc. in the OpenAI ChatCompletions & Completions format
* Load balancing - between Multiple Models + Deployments of the same model LiteLLM proxy can handle 1k+ requests/second during load tests
* Authentication & Spend Tracking Virtual Keys
https://docs.litellm.ai/docs/simple_proxy
## Start LiteLLM Proxy Server
### Pip install litellm
```shell
@ -18,7 +17,7 @@ pip install litellm
```
### Create a config.yaml for litellm proxy
More information on LiteLLM configurations here: https://docs.litellm.ai/docs/simple_proxy#proxy-configs
More information on LiteLLM configurations here: **[docs.litellm.ai/docs/simple_proxy](https://docs.litellm.ai/docs/simple_proxy)**
```yaml
model_list:

View file

@ -1,5 +1,6 @@
---
title: 🌀 Miscellaneous
description: As LibreChat has varying use cases and environment possibilities, this page will host niche setup/configurations, as contributed by the community, that are not better delegated to any of the other guides.
weight: -2
author: danny-avila and jerkstorecaller
---
@ -8,8 +9,6 @@ As LibreChat has varying use cases and environment possibilities, this page will
# Using LibreChat behind a reverse proxy with Basic Authentication
Written by [@danny-avila](https://github.com/danny-avila) and [@jerkstorecaller](https://github.com/jerkstorecaller)
### Basic Authentication (Basic Auth)
Basic Authentication is a simple authentication scheme built into the HTTP protocol. When a client sends a request to a server, the server can respond with a `401 Unauthorized` status code, prompting the client to provide a username and password. This username and password are then sent with subsequent requests in the HTTP header, encoded in Base64 format.

View file

@ -1,12 +1,13 @@
---
title: 🍃 Online MongoDB
description: This guide teaches you how to set up an online MongoDB database for LibreChat using MongoDB Atlas, a cloud-based service. You will learn how to create an account, a project, and a cluster, as well as how to configure your database credentials, network access, and connection string.
weight: -4
---
# Set Up an Online MongoDB Database
## Create an account
- Open a new tab and go to [https://account.mongodb.com/account/register](https://account.mongodb.com/account/register) to create an account.
- Open a new tab and go to **[account.mongodb.com/account/register](https://account.mongodb.com/account/register)** to create an account.
## Create a project
- Once you have set up your account, create a new project and name it (the name can be anything):

View file

@ -1,5 +1,6 @@
---
title: 🛂 Authentication System
description: This guide explains how to use the user authentication system of LibreChat, which offers secure and easy email and social logins. You will learn how to set up sign up, log in, password reset, and more.
weight: -5
---
@ -42,7 +43,7 @@ ALLOW_SOCIAL_REGISTRATION=false
### Session Expiry and Refresh Token
- Default values: session expiry: 15 minutes, refresh token expiry: 7 days
- For more information: [Refresh Token](https://github.com/danny-avila/LibreChat/pull/927)
- For more information: **[GitHub PR #927 - Refresh Token](https://github.com/danny-avila/LibreChat/pull/927)**
```bash
SESSION_EXPIRY=1000 * 60 * 15
@ -76,7 +77,7 @@ sequenceDiagram
### JWT Secret and Refresh Secret
- You should use new secure values. The examples given are 32-byte keys (64 characters in hex).
- Use this replit to generate some quickly: [JWT Keys](https://replit.com/@daavila/crypto#index.js)
- Use this replit to generate some quickly: **[JWT Keys](https://replit.com/@daavila/crypto#index.js)**
```bash
JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef
@ -129,12 +130,12 @@ EMAIL\_ENCRYPTION defines if encryption is required at the start (`tls`) or star
EMAIL\_ENCRYPTION\_HOSTNAME allows specification of a hostname against which the certificate is validated. Use this if the mail server does have a valid certificate, but you are connecting with an IP or a different name for some reason.
EMAIL\_ALLOW\_SELFSIGNED defines whether self-signed certificates can be accepted from the server. As the mails being sent contain sensitive information, ONLY use this for testing.
NOTE: ⚠️ **Failing to perform either of the below setups will result in LibreChat using the unsecured password reset! This allows anyone to reset any password on your server immediately, without mail being sent at all!** The variable EMAIL\_FROM does not support all email providers **but is still required**. To stay updated, check the bug fixes [here](https://github.com/danny-avila/LibreChat/tags).
NOTE: ⚠️ **Failing to perform either of the below setups will result in LibreChat using the unsecured password reset! This allows anyone to reset any password on your server immediately, without mail being sent at all!** The variable EMAIL\_FROM does not support all email providers **but is still required**. To stay updated, check the bug fixes: **[here](https://github.com/danny-avila/LibreChat/tags)**
### Setup with Gmail
1. Create a Google Account and enable 2-step verification.
2. In the [Google Account settings](https://myaccount.google.com/), click on the "Security" tab and open "2-step verification."
2. In the **[Google Account settings](https://myaccount.google.com/)**, click on the "Security" tab and open "2-step verification."
3. Scroll down and open "App passwords." Choose "Mail" for the app and select "Other" for the device, then give it a random name.
4. Click on "Generate" to create a password, and copy the generated password.
5. In the .env file, modify the variables as follows:

View file

@ -1,5 +1,6 @@
---
title: Installation and Configuration
description: 💻 In-depth guides about installation and configuration
weight: 1
---
@ -8,7 +9,7 @@ weight: 1
## **[Installation](./installation/index.md)**
* 🐳 [Docker Compose (✨ Recommended)](./installation/docker_compose_install.md)
* 🦦 [Container (podman)](./installation/container_install.md)
* 🦦 [Container (Podman)](./installation/container_install.md)
* 🐧 [Linux](./installation/linux_install.md)
* 🍎 [Mac](./installation/mac_install.md)
* 🪟 [Windows](./installation/windows_install.md)

View file

@ -1,9 +1,10 @@
---
title: 🦦 Container (podman)
title: 🦦 Container (Podman)
description: Install LibreChat using Podman. If you don't like docker compose, don't want a bare-metal installation, but still want to leverage the benefits from the isolation and modularity of containers...
weight: 0
---
# Container Installation Guide (podman)
# Container Installation Guide (Podman)
If you don't like docker compose, don't want a bare-metal installation, but still want to leverage the benefits from the isolation and modularity of containers - this is the guide you should use.
@ -181,7 +182,7 @@ podman volume export librechat-meilisearch-data --output "librechat-meilisearch-
podman volume export librechat-mongodb-data --output "librechat-mongodb-backup-$(date +"%d-%m-%Y").tar"
```
These will leave archive files that you can do what you wish with, including reverting volumes to a previous state if needed. Refer to [podman documentation](https://docs.podman.io/en/latest/markdown/podman-volume-import.1.html) for how to do this.
These will leave archive files that you can do what you wish with, including reverting volumes to a previous state if needed. Refer to the **[official podman documentation](https://docs.podman.io/en/latest/markdown/podman-volume-import.1.html)** for how to do this.
## Updating LibreChat

View file

@ -1,5 +1,6 @@
---
title: 🐳 Docker Compose ✨(Recommended)
description: "Docker Compose Installation Guide: Docker Compose installation is recommended for most use cases. It's the easiest, simplest, and most reliable method to get started."
weight: -10
---
@ -19,7 +20,7 @@ Start by cloning the repository or downloading it to your desired location:
```
### Docker Installation
Install Docker on your system. [Docker Desktop](https://www.docker.com/products/docker-desktop/) is recommended for managing your Docker containers.
Install Docker on your system. **[Docker Desktop](https://www.docker.com/products/docker-desktop/)** is recommended for managing your Docker containers.
### LibreChat Configuration
Before running LibreChat with Docker, you need to configure some settings:
@ -27,7 +28,7 @@ Before running LibreChat with Docker, you need to configure some settings:
- Edit the credentials you see in `docker-compose.yml` under the API service as needed.
- See my notes below for specific instructions on some of the configuration
- Provide all necessary credentials in the `.env` file before the next step.
- Docker will read this env file. See the `.env.example` file for reference.
- Docker will read this env file. See the **[/.env.example](https://github.com/danny-avila/LibreChat/blob/main/.env.example)** file for reference.
#### [AI Setup](../configuration/ai_setup.md) (Required)
At least one AI endpoint should be setup for use.

View file

@ -1,11 +1,12 @@
---
title: Installation
description: 🧑‍💻 This section contains the installation guides for Docker, Podman, Windows, Mac and Linux.
weight: 1
---
# Installation
* 🐳 [Docker Compose (✨ Recommended)](docker_compose_install.md)
* 🦦 [Container (podman)](container_install.md)
* 🦦 [Container (Podman)](container_install.md)
* 🐧 [Linux](linux_install.md)
* 🍎 [Mac](mac_install.md)
* 🪟 [Windows](windows_install.md)

View file

@ -1,5 +1,6 @@
---
title: 🐧 Linux
description: Linux Installation Guides
weight: 0
---
# Linux Installation Guide
@ -73,17 +74,17 @@ Note: The above command extracts the files to "/usr/local/LibreChat". If you wan
## Enable the Conversation search feature: (optional)
- Download MeiliSearch latest release from: https://github.com/meilisearch/meilisearch/releases
- Copy it to "/usr/local/LibreChat/"
- Rename the file to "meilisearch"
- Open a terminal and navigate to "/usr/local/LibreChat/"
- Download MeiliSearch latest release from: **[github.com/meilisearch](https://github.com/meilisearch/meilisearch/releases)**
- Copy it to `/usr/local/LibreChat/`
- Rename the file to `meilisearch`
- Open a terminal and navigate to `/usr/local/LibreChat/`
- Run the following command:
```bash
./meilisearch --master-key=YOUR_MASTER_KEY
```
Note: Replace "YOUR_MASTER_KEY" with the generated master key, which you saved earlier.
Note: Replace `YOUR_MASTER_KEY` with the generated master key, which you saved earlier.
## Install Node.js:

View file

@ -1,5 +1,6 @@
---
title: 🍎 Mac
description: Mac Installation Guides
weight: 0
---
@ -12,7 +13,7 @@ weight: 0
## **Manual Installation**
### Install the prerequisites (Required)
- Install Homebrew (if not already installed) by following the instructions on https://brew.sh/
- Install Homebrew (if not already installed) by following the instructions on **[brew.sh](https://brew.sh/)**
- Install Node.js and npm by running `brew install node`
### Download LibreChat (Required)
@ -38,7 +39,7 @@ weight: 0
### **Download MeiliSearch for macOS (Optional):**
- This enables the conversation search feature
- You can download the latest MeiliSearch binary for macOS from their GitHub releases page: https://github.com/meilisearch/MeiliSearch/releases
- You can download the latest MeiliSearch binary for macOS from their GitHub releases page: **[github.com/meilisearch](https://github.com/meilisearch/meilisearch/releases)**
- Look for the file named `meilisearch-macos-amd64` (or the equivalent for your system architecture) and download it.
- **Make the binary executable:**

View file

@ -1,5 +1,6 @@
---
title: 🪟 Windows
description: Windows Installation Guides
weight: 0
---
@ -26,8 +27,8 @@ In this video we're going to install LibreChat on Windows 11 using Docker and Gi
#### Instructions
- To install LibreChat, you need Docker desktop and Git. Download them from these links:
- Docker desktop: https://www.docker.com/products/docke...
- Git: https://git-scm.com/download/win
- Docker desktop: **[https://docs.docker.com/desktop/install/windows-install/](https://docs.docker.com/desktop/install/windows-install/)**
- Git: **[https://git-scm.com/download/win](https://git-scm.com/download/win)**
- Follow the steps in the video to install and run Docker desktop and Git.
- Open a terminal in the root of the C drive and enter these commands:
- `git clone https://github.com/danny-avila/LibreChat`
@ -52,7 +53,7 @@ Have fun!
### Download and Install Node.js (Required)
- Navigate to https://nodejs.org/en/download and to download the latest Node.js version for your OS (The Node.js installer includes the NPM package manager.)
- Navigate to **[https://nodejs.org/en/download](https://nodejs.org/en/download)** and to download the latest Node.js version for your OS (The Node.js installer includes the NPM package manager.)
### Download and Install Git (Recommended)
- Git: https://git-scm.com/download/win
@ -63,15 +64,12 @@ Have fun!
- At least one AI endpoint should be setup for use.
### Download LibreChat (Required)
- (With Git) Open Terminal (command prompt) and clone the repository by running `git clone https://github.com/danny-avila/LibreChat.git`
- Or download the latest release here: https://github.com/danny-avila/LibreChat/releases/
- Or by clicking on the green code button in the top of the page and selecting "Download ZIP"
- If you downloaded a zip file, extract the content in "C:/LibreChat/"
- Open Terminal (command prompt) and clone the repository by running `git clone https://github.com/danny-avila/LibreChat.git`
- **IMPORTANT : If you install the files somewhere else modify the instructions accordingly**
### Enable the Conversation search feature: (optional)
- Download MeiliSearch latest release from : https://github.com/meilisearch/meilisearch/releases
- Download MeiliSearch latest release from : **[github.com/meilisearch](https://github.com/meilisearch/meilisearch/releases)**
- Copy it to "C:/LibreChat/"
- Rename the file to "meilisearch.exe"
- Open it by double clicking on it
@ -89,7 +87,7 @@ Using the command line (in the root directory)
### To use the app:
1. Run `npm run backend`
2. Run `meilisearch --master-key <meilisearch_Master_Key>` (Only if SEARCH=TRUE)
3. Visit http://localhost:3080 (default port) & enjoy
3. Visit `http://localhost:3080` (default port) & enjoy
### Using a batch file
@ -98,7 +96,7 @@ Using the command line (in the root directory)
- Paste the following code in a new document
- The meilisearch executable needs to be at the root of the LibreChat directory
- Put your MeiliSearch master key instead of "`<meilisearch_Master_Key>`"
- Save the file as "C:/LibreChat/LibreChat.bat"
- Save the file as `C:/LibreChat/LibreChat.bat`
- you can make a shortcut of this batch file and put it anywhere
```bat title="LibreChat.bat"