Назад до блогу

Інструменти та інтеграціїПосібник

Підключення LibreChat до CheapTokens: власна кінцева точка librechat.yaml

Додайте кінцеву точку CheapTokens до самостійно розміщеного LibreChat: один запис у librechat.yaml, ключ як змінна середовища, три моделі в меню.

Автор: CheapTokens TeamОпубліковано 4 хв читання

Запис конфігурації LibreChat, що вказує на API CheapTokens
На цій сторінці
  1. Що потрібно для запису
  2. Підключіть це за три кроки
  3. Три моделі в одному меню
  4. Якщо кінцева точка не з'являється або відповідає помилкою

Ваш LibreChat працює, але меню моделей показує лише те, що йшло в комплекті. Щоб додати CheapTokens, ви додаєте один запис endpoints.custom у librechat.yaml: назву, базову URL-адресу https://api.cheaptokens.dev/v1, ключ як змінну середовища та список ідентифікаторів моделей. Перезапустіть контейнер, і в меню з'явиться кінцева точка "CheapTokens".

Назви полів нижче походять з довідки LibreChat щодо власних кінцевих точок (гілка документації "Latest (dev)", перевірено 30 жовтня 2026 року). На сторінці немає номера версії, тож якщо ваша інсталяція старіша і якесь поле поводиться інакше, порівняйте з документацією для вашого випуску. Сторона API — це та, що з нашої документації: формат OpenAI Chat Completions, один баланс для всіх моделей.

Що потрібно для запису#

Чотири поля є обов'язковими, і кожне має просту роль:

  • name — як кінцева точка називається в меню.
  • apiKey — ключ. Документація рекомендує посилання на кшталт ${VAR} замість самого ключа, щоб секрет не потрапляв у YAML.
  • baseURL — куди надсилаються запити: https://api.cheaptokens.dev/v1.
  • models.default — список ідентифікаторів моделей, показаних у меню.

Два необов'язкові поля варто встановити. titleConvo: true дозволяє LibreChat називати ваші чати (заголовки створюються, якщо не встановлено false), а modelDisplayLabel — це підпис поруч із відповідями (типово "AI"). models.fetch типово дорівнює false, тож LibreChat не запитуватиме в API список моделей; меню формується з models.default. Ось чому ідентифікатори нижче вказані повністю.

Підключіть це за три кроки#

Крок за кроком

Підключіть LibreChat (Docker)

Надайте контейнеру ключ

Ключ має потрапити до контейнера LibreChat як змінна середовища. Документація LibreChat дозволяє задавати змінні в docker-compose.override.yml у розділі environment, тож створіть цей файл поруч із docker-compose.yml. Назва змінної — наша, оберіть будь-яку, лише збережіть її ідентичною в YAML:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

Значення — це заповнювач: використайте ключ зі своєї панелі керування CheapTokens.

Додайте кінцеву точку до librechat.yaml

Створіть librechat.yaml поруч із docker-compose.yml. Структура повторює приклад Mistral у документації LibreChat, з нашою адресою та ідентифікаторами:

yaml
endpoints:
  custom:
    - name: 'CheapTokens'
      apiKey: '${CHEAPTOKENS_API_KEY}'
      baseURL: 'https://api.cheaptokens.dev/v1'
      models:
        default:
          - 'zai-org/GLM-5.3-Flash'
          - 'deepseek-ai/DeepSeek-V4-Flash-0731'
          - 'MiniMaxAI/MiniMax-M2.7'
      titleConvo: true
      modelDisplayLabel: 'CheapTokens'

Змонтуйте файл і перезапустіть

Контейнер має бачити файл. Додайте volumes до того самого docker-compose.override.yml, щоб тепер він містив обидва:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

Потім застосуйте це:

bash
docker compose up -d
Від ключа до меню: змінна середовища, librechat.yaml, монтування, потім CheapTokens у списку моделей
Шлях від ключа до кінцевої точки CheapTokens у меню LibreChat

Відкрийте LibreChat у браузері, почніть новий чат і виберіть CheapTokens у меню кінцевих точок. Три моделі є в списку. Надішліть "Say hi in one sentence", і ви маєте отримати відповідь. Якщо ні, перейдіть до останнього розділу.

Три моделі в одному меню#

Це та частина, яка робить самостійно розміщений чат вартим уваги. Скажімо, ви запускаєте його для невеликої команди. Більшість запитань — повсякденні: переписати цей лист, пояснити цю помилку. Для них достатньо zai-org/GLM-5.3-Flash із контекстним вікном 390K і до 8 192 токенів на відповідь. Коли хтось вставляє довгий документ і хоче довгу відповідь, він перемикає той самий чат на deepseek-ai/DeepSeek-V4-Flash-0731 (контекст 380K, до 32 768 токенів на відповідь). MiniMaxAI/MiniMax-M2.7 (контекст 180K) — це третя думка, коли дві відповіді розходяться. Без другої підписки, без другого ключа: усі три оплачуються з одного балансу.

Скільки коштує такий чат? Візьмімо команду з п'яти осіб, які надсилають 200 повідомлень на день, кожне з приблизно 3 000 вхідних токенів (історія зростає) і отримують приблизно 500 токенів у відповідь:

Модель За запит 200 запитів OpenRouter, 200 запитів
GLM-5.3-Flash $0.00008 $0.016 $0.0284
DeepSeek-V4-Flash $0.000095 $0.019 $0.056
MiniMax-M2.7 $0.00023 $0.045 $0.54

3 000 вхідних і 500 вихідних токенів на запит. Ціни за 1 млн токенів актуальні та змінюються разом із нашими тарифами; стовпець OpenRouter показує довідкові ціни для того самого навантаження.

У таблиці ціна кожної моделі за ці 200 запитів порахована разом із вхідними та вихідними токенами, і загалом виходить дешевше, ніж в OpenRouter. Виберіть рядок, що відповідає вашому використанню, і порівняйте його зі сторінкою цін.

Спробуйте саміСпробуйте: надішліть одне запитання двом моделямПоказати відповідь

Відкрийте новий чат, виберіть zai-org/GLM-5.3-Flash і попросіть підсумувати абзац, який ви добре знаєте. Перемкніть модель у тому самому меню на deepseek-ai/DeepSeek-V4-Flash-0731 і запитайте знову. Порівняйте довжину й тон двох відповідей — саме за цим ви визначаєте модель за замовчуванням.

Якщо кінцева точка не з'являється або відповідає помилкою#

Більшість проблем — це одна з трьох речей. Виберіть ту, що відповідає тому, що ви бачите:

Оберіть свій випадок

Що ви бачите?

CheapTokens відсутня в меню

LibreChat не прочитав ваш файл. Перевірте, що librechat.yaml змонтовано в /app/librechat.yaml (файл перевизначення вище), що відступи YAML не порушені та що ви виконали docker compose up -d після зміни.

401 Unauthorized

Ключ відсутній або неправильний. Перевірте, що назва після ${ у librechat.yaml точно збігається з назвою змінної середовища, і що в ключ не вставлено пробілів чи лапок. Докладніше про цю помилку в API 401 або 404.

404 або помилка моделі

Ідентифікатор моделі неправильний. Використовуйте повний ідентифікатор, наприклад deepseek-ai/DeepSeek-V4-Flash-0731; коротка назва не приймається. Ви можете перелічити точні ідентифікатори за допомогою кроків у List models with GET /v1/models.

Щойно перше повідомлення пройде, ви можете додавати більше ідентифікаторів до models.default, коли захочете іншу модель у меню. Надаєте перевагу іншому фронтенду? Та сама ідея — базова URL-адреса плюс ключ — описана в Connect Open WebUI to CheapTokens, а загальна картина — в OpenAI-compatible API: what base_url is. Самі моделі — на сторінці GLM.