Обзор LibreChat: единый чат для разных моделей — это разбор самостоятельно размещаемого веб-приложения, которое сводит провайдеров в один интерфейс. Само приложение живёт на вашем сервере, модели исполняются у провайдера или на вашем железе, а владелец установки управляет настройками доступа и хранения. Ниже — установка через Docker, первая беседа, разделение ключей и проверка результата.
Назначение приложения и его отличие от модели
LibreChat — это веб-приложение для общения с моделями. Оно принимает ваш текст, отправляет запрос выбранному провайдеру и показывает ответ в браузере. Модель — отдельный компонент: она обрабатывает запрос и формирует текст. Приложение и модель — разные вещи, и это разделение определяет всё остальное: обновление интерфейса не меняет модель, а смена модели не требует переустановки чата.
README описывает самостоятельно размещаемый чат с поддержкой разных провайдеров, включая облачные API и локальные модели. Конкретный список endpoint проверяйте в своей установке.
Из этого следует практический вывод. Приложение даёт единое окно, историю, пресеты и переключение между моделями. Модель даёт качество ответа и цену за токены. Смешивать эти роли в одном решении неудобно: вы теряете контроль над тем, где именно исполняется запрос.
Docker-гайд указывает минимум 1 GiB RAM и 1 vCPU для контейнеров чата, рекомендуя выделить Docker минимум 2 GB. Ресурсы одновременно запущенной локальной модели рассчитывают отдельно.
Такое разделение помогает планировать ресурсы. Сервер чата — лёгкий. Тяжёлая часть — там, где считаются веса модели.
Сервер чата и endpoint модели
Сервер чата и endpoint модели — два разных адреса, и путать их не стоит. Сервер чата обслуживает веб-интерфейс, аккаунты, историю и настройки. Endpoint модели — это адрес, по которому приложение отправляет запросы к провайдеру.
Для базовой локальной установки документация указывает http://localhost:3080. При изменённой конфигурации используйте фактически опубликованный адрес. Этот URL открывает чат; адрес API модели задаётся отдельно.
Перед внешним доступом проверьте опубликованный URL и настройки доступа своей установки.
Endpoint модели настраивается иначе. В .env.example предустановленные провайдеры идут со значением user_provided:
OPENAI_API_KEY=user_provided
ANTHROPIC_API_KEY=user_provided
GOOGLE_KEY=user_provided
В режиме user_provided пользователь вводит свой ключ через диалог Set API Key. Это способ передачи учётных данных; он не доказывает, что ключ физически хранится только в браузере.
В примере режим взят из .env.example. Для другого способа развёртывания проверьте фактические переменные и доступные endpoint в своей установке.
Если endpoint отсутствует, проверьте ENDPOINTS, model specs и ключ провайдера по документации своей установки. Для учебной проверки запишите выбранные endpoint и модель до отправки текста.
Установка через Docker и первая беседа
Для базового пути нужны Git и Docker. В официальном Docker-гайде приведена такая последовательность:
git clone https://github.com/LibreChat-AI/LibreChat.git
cd LibreChat
cp .env.example .env
docker compose up -d
Если cp недоступен в Windows, используйте copy .env.example .env. Дождитесь запуска контейнеров и откройте http://localhost:3080; при изменённой публикации порта используйте свой адрес. Создайте аккаунт через Sign up, выберите доступный endpoint и модель, добавьте ключ через Set API Key и отправьте сообщение.
Для базового compose-стека при ошибке проверьте docker compose ps и docker compose logs api. Конфликт порта разбирайте по PORT и публикации в используемом compose-файле. Перед внешним доступом настройте регистрацию и вход, особенно при общем ключе. Ниже проверим содержательную работу первой беседы на полном учебном тексте.
Личный и общий ключ, расходы
Ключ API определяет, кто платит за запросы. Документация проекта описывает два режима.
Режим user_provided — каждый пользователь вводит свой ключ. Запросы тарифицируются на его аккаунт у провайдера. Расходы сервера остаются у его владельца; стоимость модели определяется аккаунтом предъявленного ключа.
Общий ключ задаётся в окружении вместо user_provided: запросы используют аккаунт владельца ключа. Документация предупреждает об открытой по умолчанию регистрации. Перед публичным доступом ограничьте круг пользователей, которым разрешено расходовать этот ключ.
После изменения окружения пересоздайте контейнеры по руководству своего Docker-пути и проверьте, что они получили новое значение.
| Параметр | Личный ключ | Общий ключ |
|---|---|---|
| Кто вводит | каждый пользователь | владелец установки |
| Кто предоставляет | пользователь для своего аккаунта | владелец установки для всех |
| Кто платит провайдеру | пользователь | владелец сервера |
| Риск на публичном URL | ограничен аккаунтом пользователя | любой зарегистрировавшийся |
| Где задаётся | диалог Set API Key |
.env, Secret, переменные хостинга |
Расходы на inference тарифицирует провайдер модели. LibreChat показывает инструменты учёта токенов, но счёт формирует провайдер по своим правилам.
Университетские настройки в универсальном гайде
Публичные руководства университетов описывают свои инстансы, и переносить их условия в общий гайд нельзя. В справке Ithaca College и Bowdoin College речь идёт о конкретных развёртываниях с собственными правилами входа, доступными моделями и ограничениями на файлы. Эти параметры принадлежат их установкам.
В своей установке проверьте доступные способы входа и роли. Их настраивает администратор: копирование университетской инструкции не подключит те же SSO, модели и лимиты.
Практический вывод: берите из университетских страниц только общую логику работы с интерфейсом, а конкретные лимиты, SSO-провайдеры и правила курса проверяйте в своей установке. Администратор вашего инстанса решает, какие кнопки входа появятся и какие роли получат пользователи.
Проверка первой задачи на условном тексте
Первую беседу удобно проверить на коротком тексте с явными полями. Ниже приведён условный вход; редакционного прогона моделей не было.
Проект Липа. Семинар 12 ноября. Нужны 3 стула, 1 стол и проектор.
Ответственный Олег. Смета ещё не утверждена.
Промпт для извлечения полей:
Извлеки название проекта, дату мероприятия, инвентарь, ответственного
и статус сметы. Не добавляй год или цену. Для каждого поля приведи
короткий фрагмент исходника.
Ручной эталон: Липа; 12 ноября без года; 3 стула, 1 стол, проектор; Олег; смета не утверждена.
Порядок проверки:
- Отправьте текст и промпт одной доступной модели.
- Сверьте ответ с эталоном по каждому полю.
- Отправьте тот же вход второй доступной модели.
- Заполните таблицу ошибок по факту: пропущенное поле, добавленный год, добавленная цена, неверный фрагмент.
- Отметьте, какая модель справилась точнее на этом входе.
| Поле | Эталон | Модель A | Модель B |
|---|---|---|---|
| Проект | Липа | ||
| Дата | 12 ноября | ||
| Инвентарь | 3 стула, 1 стол, проектор | ||
| Ответственный | Олег | ||
| Смета | не утверждена |
Результаты редакция не измеряла: таблица заполняется вами по факту ответов. Успешный ответ подтверждает работу модели на этом входе. Маршрут данных он не проверяет.
История, экспорт и приватность
История бесед хранится на сервере чата. В Docker-стеке по умолчанию поднимаются MongoDB, Meilisearch для поиска по беседам и RAG API с PostgreSQL/pgvector для поиска по файлам. Это значит, что переписка лежит в базе вашей установки, а поиск по ней работает локально.
README перечисляет экспорт бесед в скриншоты, Markdown, текст и JSON. Для учебного сравнения сохраните исходник, промпт и оба фактических ответа вместе: один экспорт ответа без входа не позволит повторить проверку.
Приватность зависит от маршрута запроса. В варианте с локальным endpoint’ом на том же компьютере запрос обрабатывается на вашем железе. В варианте с облачным API-провайдером запрос уходит провайдеру, и его обработку определяют политики провайдера. История при этом остаётся на вашем сервере, а текст запроса покидает машину.
Публичный демо-инстанс проекта предназначен для ознакомления. Документация советует не использовать его для приватных данных. Для учебной карты трёх вариантов заполните поля: кто управляет веб-чатом, где исполняется модель, кто хранит историю, кто тарифицирует запросы, какие данные можно передать.
| Вариант | Веб-чат | Модель | История | Платит |
|---|---|---|---|---|
| Локальный endpoint | вы | ваш ПК | ваш сервер | ваши ресурсы |
| Облачный API | вы | провайдер | ваш сервер | владелец используемого ключа |
| Публичное демо | оператор демо | по настройкам демо | оператор демо | по условиям демо |
Успешный ответ модели подтверждает работу интерфейса. Приватность маршрута он не доказывает: проверяйте настройки хранения и политики провайдера отдельно.
Частые вопросы
Что такое LibreChat простыми словами?
Это самостоятельно размещаемый интерфейс для разных моделей. В учебной задаче через него сравнивают извлечение одних и тех же полей.
Чем LibreChat отличается от обычного чата с одной моделью?
LibreChat позволяет подключать разных провайдеров и управлять собственной веб-установкой. Доступные endpoint и модели определяются её настройками, поэтому их список проверяют в своём интерфейсе.
Как установить LibreChat на свой компьютер?
Воспользуйтесь базовой Docker-последовательностью выше. После запуска проверьте фактический адрес, вход в аккаунт и доступность выбранного endpoint перед отправкой учебного текста.
Нужен ли платный API-ключ для LibreChat?
Локальная модель, например через Ollama, использует ваши ресурсы. Облачный провайдер или шлюз вроде OpenRouter имеет собственные условия и может тарифицировать запросы. Самостоятельная установка LibreChat не делает такие вызовы бесплатными.
Куда уходят мои данные при работе с LibreChat?
История бесед хранится в базе вашей установки. Текст запроса уходит туда, где исполняется модель: на ваш компьютер при локальном endpoint’е или провайдеру при облачном API. Политики обработки у провайдера определяют, что происходит с переданным текстом.
