🔍 chore: Clean Up Documentation (#2217)

* fix(initializeClient.spec.js): remove condition failing test on local installations

* docs: remove comments and invalid html as is required by embeddings generator and add new documentation guidelines
This commit is contained in:
Danny Avila 2024-03-26 13:40:00 -04:00 committed by GitHub
parent 2259bf8b03
commit 7f83a060a0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 17 additions and 131 deletions

View file

@ -338,7 +338,6 @@ describe('gptPlugins/initializeClient', () => {
}); });
test('should initialize client with default options when certain env vars are not set', async () => { test('should initialize client with default options when certain env vars are not set', async () => {
delete process.env.DEBUG_OPENAI;
delete process.env.OPENAI_SUMMARIZE; delete process.env.OPENAI_SUMMARIZE;
process.env.OPENAI_API_KEY = 'some-api-key'; process.env.OPENAI_API_KEY = 'some-api-key';
@ -351,8 +350,6 @@ describe('gptPlugins/initializeClient', () => {
const endpointOption = {}; const endpointOption = {};
const client = await initializeClient({ req, res, endpointOption }); const client = await initializeClient({ req, res, endpointOption });
expect(client.client.options.debug).toBe(false);
expect(client.client.options.contextStrategy).toBe(null); expect(client.client.options.contextStrategy).toBe(null);
}); });

View file

@ -26,6 +26,8 @@ This document explains how to contribute to the LibreChat documentation by writi
- Use relative paths for links to other documents. - Use relative paths for links to other documents.
- You can use HTML to add additional features to a document. - You can use HTML to add additional features to a document.
- Highlight keystrokes with `+` (example: `++ctrl+alt+del++` 🟰 ++ctrl+alt+del++) - Highlight keystrokes with `+` (example: `++ctrl+alt+del++` 🟰 ++ctrl+alt+del++)
- Make sure any HTML has closing tags; i.e.: `<img src="" />` or `<a href="link"></a>`
- [HTML comments](https://www.w3schools.com/html/html_comments.asp) are not allowed. Use [Markdown comments](https://gist.github.com/jonikarppinen/47dc8c1d7ab7e911f4c9?permalink_comment_id=4272770#gistcomment-4272770) instead, and only if the text is actually hidden.
- 🌐 see the MKDocs Material documentation for more information: [MKDocs Material Reference](https://squidfunk.github.io/mkdocs-material/reference/) - 🌐 see the MKDocs Material documentation for more information: [MKDocs Material Reference](https://squidfunk.github.io/mkdocs-material/reference/)
## Document Metadata ## Document Metadata
@ -108,7 +110,7 @@ mkdocs serve
```html title="HTML Code" ```html title="HTML Code"
<p align="center"> <p align="center">
<a href="https://discord.librechat.ai"> <a href="https://discord.librechat.ai">
<img src="https://github.com/danny-avila/LibreChat/assets/32828263/45890a7c-5b8d-4650-a6e0-aa5d7e4951c3" height="128" width="128"> <img src="https://github.com/danny-avila/LibreChat/assets/32828263/45890a7c-5b8d-4650-a6e0-aa5d7e4951c3" height="128" width="128"/>
</a> </a>
<a href="https://librechat.ai"> <a href="https://librechat.ai">
<h3 align="center">LibreChat</h3> <h3 align="center">LibreChat</h3>
@ -119,7 +121,7 @@ mkdocs serve
!!! quote "Result:" !!! quote "Result:"
<p align="center"> <p align="center">
<a href="https://discord.librechat.ai"> <a href="https://discord.librechat.ai">
<img src="https://github.com/danny-avila/LibreChat/assets/32828263/45890a7c-5b8d-4650-a6e0-aa5d7e4951c3" height="128" width="128"> <img src="https://github.com/danny-avila/LibreChat/assets/32828263/45890a7c-5b8d-4650-a6e0-aa5d7e4951c3" height="128" width="128"/>
</a> </a>
<a href="https://librechat.ai"> <a href="https://librechat.ai">
<h3 align="center">LibreChat</h3> <h3 align="center">LibreChat</h3>

View file

@ -23,25 +23,3 @@ cp .env.example ./api/.env
![image](https://github.com/danny-avila/LibreChat/assets/32828263/d222034c-9c3a-4764-b972-39e954c92170) ![image](https://github.com/danny-avila/LibreChat/assets/32828263/d222034c-9c3a-4764-b972-39e954c92170)
<!-- ## WIP
## Run the tests
#### 1. Install the global dependencies
```shell
npm ci
npx playwright install --with-deps
```
#### 2. Run tests
```shell
npx playwright test
```
If everything goes well, you should see a `passed` message.
![testing-1](https://github.com/danny-avila/LibreChat/assets/32828263/35b5c6a8-5c76-4e76-8ad9-2b1977eabc2a) -->

View file

@ -3,7 +3,7 @@ title: ☁️ Cloudflare
description: How to setup a domain with Cloudflare and use Cloudflare Tunnels to securely expose your local web servers or services to the internet. description: How to setup a domain with Cloudflare and use Cloudflare Tunnels to securely expose your local web servers or services to the internet.
weight: 10 weight: 10
--- ---
<img src="https://github.com/danny-avila/LibreChat/assets/32828263/cfbc7ca5-b51e-4f1d-aa89-b9b4cb13eead" width="350"> <img src="https://github.com/danny-avila/LibreChat/assets/32828263/cfbc7ca5-b51e-4f1d-aa89-b9b4cb13eead" width="350"/>
# Cloudflare # Cloudflare
### if you are new to Domain, here's a quick guide to use setup a domain with Cloudflare: ### if you are new to Domain, here's a quick guide to use setup a domain with Cloudflare:

View file

@ -3,7 +3,7 @@ title: 🐧 Linode
description: How to deploy LibreChat on Linode. description: How to deploy LibreChat on Linode.
weight: -8 weight: -8
--- ---
<img src="https://github.com/danny-avila/LibreChat/assets/32828263/d6e430db-518a-4779-83d3-a2d177907df1" width="250"> <img src="https://github.com/danny-avila/LibreChat/assets/32828263/d6e430db-518a-4779-83d3-a2d177907df1" width="250"/>
# Linode # Linode

View file

@ -18,7 +18,7 @@ Go to the [LibreChat repository](https://github.com/danny-avila/LibreChat) on Gi
<p align="left"> <p align="left">
<a href="https://railway.app/template/b5k2mn?referralCode=HI9hWz"> <a href="https://railway.app/template/b5k2mn?referralCode=HI9hWz">
<img src="https://railway.app/button.svg" alt="Deploy on Railway" height="30"> <img src="https://railway.app/button.svg" alt="Deploy on Railway" height="30"/>
</a> </a>
</p> </p>

View file

@ -4,7 +4,7 @@ description: How to install and configure Mongo Express to securely access and m
weight: -5 weight: -5
--- ---
<img src="https://github.com/danny-avila/LibreChat/assets/32828263/4572dd35-8489-4cb1-a968-4fb5a871d6e5" height="50"> <img src="https://github.com/danny-avila/LibreChat/assets/32828263/4572dd35-8489-4cb1-a968-4fb5a871d6e5" height="50"/>
# Manage Your MongoDB Database with Mongo Express # Manage Your MongoDB Database with Mongo Express

View file

@ -11,21 +11,6 @@ To learn more about them, or how to make your own, read here: **[ChatGPT Plugins
Thanks to the introduction of **[OpenAI Functions](https://openai.com/blog/function-calling-and-other-api-updates)** and their utilization in **[Langchain](https://js.langchain.com/docs/modules/chains/openai_functions/openapi)**, it's now possible to directly use OpenAI Plugins through LibreChat, without building any custom langchain tools. The main use case we gain from integrating them to LibreChat is to allow use of plugins with gpt-3.5 models, and without ChatGPT Plus. They also find a great use case when you want to limit your own private API's interactions with chat.openai.com and their servers in favor of a self-hosted LibreChat instance. Thanks to the introduction of **[OpenAI Functions](https://openai.com/blog/function-calling-and-other-api-updates)** and their utilization in **[Langchain](https://js.langchain.com/docs/modules/chains/openai_functions/openapi)**, it's now possible to directly use OpenAI Plugins through LibreChat, without building any custom langchain tools. The main use case we gain from integrating them to LibreChat is to allow use of plugins with gpt-3.5 models, and without ChatGPT Plus. They also find a great use case when you want to limit your own private API's interactions with chat.openai.com and their servers in favor of a self-hosted LibreChat instance.
<!-- ### Table of Contents
- [Using official ChatGPT Plugins / OpenAPI specs](#using-official-chatgpt-plugins--openapi-specs)
- [Table of Contents](#table-of-contents)
- [Intro](#intro)
- [**Plugin Manifest File:**](#plugin-manifest-file)
- [**OpenAPI Spec**](#openapi-spec)
- [Adding a Plugin](#adding-a-plugin)
- [Editing Manifest Files](#editing-manifest-files)
- [Override Parameter Values](#override-parameter-values)
- [Add Header Fields](#add-header-fields)
- [Custom OpenAPI Spec files](#custom-openapi-spec-files)
- [Plugins with Authentication](#plugins-with-authentication)
- [Showcase](#showcase)
- [Disclaimers](#disclaimers) -->
## Intro ## Intro
Before continuing, it's important to fully distinguish what a Manifest file is vs. an OpenAPI specification. Before continuing, it's important to fully distinguish what a Manifest file is vs. an OpenAPI specification.

View file

@ -13,10 +13,7 @@ GOOGLE_CSE_ID="...."
You first need to create a programmable search engine and get the search engine ID: **[https://developers.google.com/custom-search/docs/tutorial/creatingcse](https://developers.google.com/custom-search/docs/tutorial/creatingcse)** You first need to create a programmable search engine and get the search engine ID: **[https://developers.google.com/custom-search/docs/tutorial/creatingcse](https://developers.google.com/custom-search/docs/tutorial/creatingcse)**
Then you can get the API key, click the "Get a key" button on this page: **[https://developers.google.com/custom-search/v1/introduction](https://developers.google.com/custom-search/v1/introduction)** Then you can get the API key, click the "Get a key" button on this page: **[https://developers.google.com/custom-search/v1/introduction](https://developers.google.com/custom-search/v1/introduction)**
<!-- You can limit the max price that is charged for a single search request by setting `MAX_SEARCH_PRICE` in your `.env` file. -->
## 1\. Go to the [Programmable Search Engine docs](https://developers.google.com/custom-search/docs/tutorial/creatingcse) to get a Search engine ID ## 1\. Go to the [Programmable Search Engine docs](https://developers.google.com/custom-search/docs/tutorial/creatingcse) to get a Search engine ID

View file

@ -77,7 +77,7 @@ To export a preset, first go in the preset menu, then click on the button to edi
Then in the bottom of the preset settings you'll have the option to export it. Then in the bottom of the preset settings you'll have the option to export it.
<p align="left"> <p align="left">
<img src="https://github.com/danny-avila/LibreChat/assets/32828263/a624345f-e3e6-4192-8384-293ba6ce54cc" width="50%"> <img src="https://github.com/danny-avila/LibreChat/assets/32828263/a624345f-e3e6-4192-8384-293ba6ce54cc" width="50%"/>
</p> </p>
## Setting Default Preset ## Setting Default Preset

View file

@ -16,7 +16,7 @@ weight: -2
The LibreChat-DiscordBot is a versatile and user-friendly Discord bot designed to streamline interactions with your LibreChat server. With this bot, you can effortlessly manage the LibreChat server directly from your Discord server, eliminating the need for direct server access. It offers an array of functionalities to enhance your LibreChat experience. The LibreChat-DiscordBot is a versatile and user-friendly Discord bot designed to streamline interactions with your LibreChat server. With this bot, you can effortlessly manage the LibreChat server directly from your Discord server, eliminating the need for direct server access. It offers an array of functionalities to enhance your LibreChat experience.
<div> <div>
<img src="https://github.com/fuegovic/LibreChat/assets/32828263/d3841040-64d0-402f-95a5-8eb07bfbbfe5" width=400> <img src="https://github.com/fuegovic/LibreChat/assets/32828263/d3841040-64d0-402f-95a5-8eb07bfbbfe5" width=400 />
</div> </div>
--- ---
@ -26,8 +26,8 @@ The LibreChat-DiscordBot is a versatile and user-friendly Discord bot designed t
This app is a webview for LibreChat instance Android independent app, this project is forked from ChatGPT-android-app. Default webpage of this app has been set to LibreChat's GitHub Page. This app is optimized for LibreChat's function which is not an original project. For example, Social Login Oauth login support is added to this build. This app is a webview for LibreChat instance Android independent app, this project is forked from ChatGPT-android-app. Default webpage of this app has been set to LibreChat's GitHub Page. This app is optimized for LibreChat's function which is not an original project. For example, Social Login Oauth login support is added to this build.
<div> <div>
<img src="https://github.com/fuegovic/LibreChat/assets/32828263/2da13b4c-8d77-42fc-9d36-75e9913d0545" width=300> <img src="https://github.com/fuegovic/LibreChat/assets/32828263/2da13b4c-8d77-42fc-9d36-75e9913d0545" width=300 />
<img src="https://github.com/fuegovic/LibreChat/assets/32828263/6ec84228-f030-4aa9-9f9d-d81245dd9c03" width=300> <img src="https://github.com/fuegovic/LibreChat/assets/32828263/6ec84228-f030-4aa9-9f9d-d81245dd9c03" width=300 />
</div> </div>
--- ---
@ -45,7 +45,7 @@ This script automates the local Windows 64 bits installation and offers a utilit
A Terraform setup to deploy LibreChat to Azure and setup all the necessary services. A Terraform setup to deploy LibreChat to Azure and setup all the necessary services.
<div> <div>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Microsoft_Azure.svg/1280px-Microsoft_Azure.svg.png" width=150> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Microsoft_Azure.svg/1280px-Microsoft_Azure.svg.png" width=150 />
</div> </div>
--- ---

View file

@ -9,7 +9,6 @@ weight: -10
<img src="assets/LibreChat.svg" style="margin-left: 40px; height: 256px; width: 256px;> <img src="assets/LibreChat.svg" style="margin-left: 40px; height: 256px; width: 256px;>
</a> </a>
<a href="https://librechat.ai"> <a href="https://librechat.ai">
<!-- Use the margin-top property to add some space between the image and the text -->
<h1 align="center" style="padding: 0;">LibreChat</h1> <h1 align="center" style="padding: 0;">LibreChat</h1>
</a> </a>
</p> </p>

View file

@ -21,7 +21,7 @@ Some of the endpoints are marked as **Known,** which means they might have speci
- **Known:** icon provided. - **Known:** icon provided.
- **Temperature:** If you set a temperature value of 0, it will be converted to 1e-8. If you run into any issues, please try setting the value to a float32 > 0 and <= 2. - **Temperature:** If you set a temperature value of 0, it will be converted to 1e-8. If you run into any issues, please try setting the value to a float32 greater than 0 and less than or equal to 2.
- Groq is currently free but rate limited: 10 queries/minute, 100/hour. - Groq is currently free but rate limited: 10 queries/minute, 100/hour.

View file

@ -4,37 +4,6 @@ description: This doc explains how to setup your AI providers, their APIs and cr
weight: -8 weight: -8
--- ---
<!-- # Table of Contents
- [Table of Contents](#table-of-contents)
- [AI Setup](#ai-setup)
- [General](#general)
- [Free AI APIs](#free-ai-apis)
- [Setting a Default Endpoint](#setting-a-default-endpoint)
- [Setting a Default Preset](#setting-a-default-preset)
- [OpenAI](#openai)
- [Anthropic](#anthropic)
- [Google](#google)
- [Generative Language API (Gemini)](#generative-language-api-gemini)
- [Vertex AI (PaLM 2 \& Codey)](#vertex-ai-palm-2--codey)
- [1. Once signed up, Enable the Vertex AI API on Google Cloud:](#1-once-signed-up-enable-the-vertex-ai-api-on-google-cloud)
- [2. Create a Service Account with Vertex AI role:](#2-create-a-service-account-with-vertex-ai-role)
- [3. Create a JSON key to Save in your Project Directory:](#3-create-a-json-key-to-save-in-your-project-directory)
- [Azure OpenAI](#azure-openai)
- [Required Variables](#required-variables)
- [Model Deployments](#model-deployments)
- [Setting a Default Model for Azure](#setting-a-default-model-for-azure)
- [Enabling Auto-Generated Titles with Azure](#enabling-auto-generated-titles-with-azure)
- [Using GPT-4 Vision with Azure](#using-gpt-4-vision-with-azure)
- [Optional Variables](#optional-variables)
- [Using Plugins with Azure](#using-plugins-with-azure)
- [OpenRouter](#openrouter)
- [Unofficial APIs](#unofficial-apis)
- [BingAI](#bingai)
- [Conclusion](#conclusion) -->
---
# AI Setup # AI Setup
This doc explains how to setup your AI providers, their APIs and credentials. This doc explains how to setup your AI providers, their APIs and credentials.
@ -287,26 +256,6 @@ As noted earlier, [review the Custom Config Guide (click here)](./custom_config.
**Important:** Stability for Unofficial APIs are not guaranteed. Access methods to these APIs are hacky, prone to errors, and patching, and are marked lowest in priority in LibreChat's development. **Important:** Stability for Unofficial APIs are not guaranteed. Access methods to these APIs are hacky, prone to errors, and patching, and are marked lowest in priority in LibreChat's development.
<!-- ### ChatGPTBrowser
**Backend Access to https://chat.openai.com/api**
This is not to be confused with [OpenAI's Official API](#openai)!
> Note that this is disabled by default and requires additional configuration to work.
> Also, using this may have your data exposed to 3rd parties if using a proxy, and OpenAI may flag your account.
To get your Access token for ChatGPT Browser Access, you need to:
- 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)**
- 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.
--- -->
### BingAI ### BingAI
I recommend using Microsoft Edge for this: I recommend using Microsoft Edge for this:

View file

@ -108,7 +108,8 @@ These settings apply globally to all Azure models and groups within the endpoint
8. **groups** (Array/List, Required): Specifies the list of Azure OpenAI model groups. Each group represents a set of models with shared configurations. The groups field is an array of objects, where each object defines the settings for a specific group. This is a required field at the endpoint level, and at least one group must be defined. The group-level configurations are detailed in the Group-Level Configuration section. 8. **groups** (Array/List, Required): Specifies the list of Azure OpenAI model groups. Each group represents a set of models with shared configurations. The groups field is an array of objects, where each object defines the settings for a specific group. This is a required field at the endpoint level, and at least one group must be defined. The group-level configurations are detailed in the Group-Level Configuration section.
<!-- 9. **customOrder** (Number, Optional): Allows you to specify a custom order for the Azure endpoint in the user interface. Higher numbers will appear lower in the list. If not provided, the default order is determined by the order in which the endpoints are defined in the `librechat.yaml` file. --> [ 9. **customOrder** (Number, Optional): Allows you to specify a custom order for the Azure endpoint in the user interface. Higher numbers will appear lower in the list. If not provided, the default order is determined by the order in which the endpoints are defined in the `librechat.yaml` file.
]: #
Here's an example of how you can configure these endpoint-level settings in your `librechat.yaml` file: Here's an example of how you can configure these endpoint-level settings in your `librechat.yaml` file:

View file

@ -268,28 +268,6 @@ BINGAI_TOKEN=user_provided
BINGAI_HOST= BINGAI_HOST=
``` ```
<!-- ### ChatGPT
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.
```bash
CHATGPT_REVERSE_PROXY=<YOUR-REVERSE-PROXY>
```
> **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
- It is not recommended to provide your token in the `.env` file since it expires often and sharing it could get you banned.
```bash
CHATGPT_TOKEN=
CHATGPT_MODELS=text-davinci-002-render-sha
``` -->
### Google ### Google
Follow these instructions to setup the [Google Endpoint](./ai_setup.md#google) Follow these instructions to setup the [Google Endpoint](./ai_setup.md#google)