Bumalik sa blog

Mga tool at integrasyonGabay

Ikonekta ang LibreChat sa CheapTokens: librechat.yaml custom endpoint

Magdagdag ng CheapTokens endpoint sa self-hosted LibreChat: isang entry sa librechat.yaml, ang key bilang environment variable, tatlong modelo sa menu.

Ni CheapTokens TeamNai-publish noong 5 min na pagbabasa

Entry ng configuration ng LibreChat na tumuturo sa CheapTokens API
Sa pahinang ito
  1. Ano ang kailangan ng entry
  2. Ikonekta ito sa tatlong hakbang
  3. Tatlong modelo sa isang menu
  4. Kung hindi lumabas ang endpoint o sumagot ng error

Gumagana na ang iyong LibreChat, ngunit ang menu ng modelo ay nagpapakita lamang ng kasama nito noong una. Upang magdagdag ng CheapTokens, magsusulat ka ng isang entry na endpoints.custom sa librechat.yaml: isang pangalan, ang base URL na https://api.cheaptokens.dev/v1, ang key bilang environment variable at isang listahan ng mga model id. I-restart ang container, at lalabas ang isang "CheapTokens" endpoint sa menu.

Ang mga pangalan ng field sa ibaba ay mula sa custom endpoint reference ng LibreChat (docs na "Latest (dev)" branch, sinuri noong 30 Oktubre 2026). Walang version number ang pahina, kaya kung mas luma ang iyong install at iba ang kilos ng isang field, ihambing ito sa docs para sa iyong release. Ang API side ay ang mula sa aming docs: OpenAI Chat Completions format, isang balanse para sa bawat modelo.

Ano ang kailangan ng entry#

Apat na field ang kailangan, at bawat isa ay may simpleng tungkulin:

  • name — kung ano ang tawag sa endpoint sa menu.
  • apiKey — ang key. Inirerekomenda ng docs ang isang reference tulad ng ${VAR} sa halip na ang key mismo, upang manatiling labas ng YAML ang secret.
  • baseURL — kung saan pupunta ang mga request: https://api.cheaptokens.dev/v1.
  • models.default — ang listahan ng mga model id na ipinapakita sa menu.

May dalawang opsyonal na field na sulit i-set. Hinahayaan ng titleConvo: true ang LibreChat na pangalanan ang iyong mga chat (gumagawa ito ng mga title maliban kung false), at ang modelDisplayLabel ay ang label sa tabi ng mga sagot (ang default ay "AI"). Ang models.fetch ay false bilang default, kaya hindi hihingi ang LibreChat ng listahan ng modelo sa API; ang menu ay nagmumula sa models.default. Iyon ang dahilan kung bakit ang mga id sa ibaba ay isinulat nang buo.

Ikonekta ito sa tatlong hakbang#

Hakbang-hakbang

Ikonekta ang LibreChat (Docker)

Bigyan ang container ng key

Kailangang maabot ng key ang LibreChat container bilang environment variable. Hinahayaan ka ng docs ng LibreChat na mag-set ng mga variable sa docker-compose.override.yml sa ilalim ng environment, kaya gumawa ng file na iyon sa tabi ng docker-compose.yml. Ang pangalan ng variable ay sa amin, pumili ng kahit ano, panatilihin lamang itong pareho sa YAML:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

Ang value ay isang placeholder: gamitin ang key mula sa iyong CheapTokens dashboard.

Idagdag ang endpoint sa librechat.yaml

Gumawa ng librechat.yaml sa tabi ng docker-compose.yml. Ang hugis ay sumusunod sa halimbawa ng Mistral sa docs ng LibreChat, kasama ang aming address at mga id:

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'

I-mount ang file at i-restart

Kailangang makita ng container ang file. Idagdag ang volumes sa parehong docker-compose.override.yml, upang hawak nito ngayon ang pareho:

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

Pagkatapos, ilapat ito:

bash
docker compose up -d
Mula sa key hanggang sa menu: environment variable, librechat.yaml, ang mount, pagkatapos ay CheapTokens sa listahan ng modelo
Ang landas mula sa key hanggang sa CheapTokens endpoint sa menu ng LibreChat

Buksan ang LibreChat sa browser, magsimula ng bagong chat at piliin ang CheapTokens sa menu ng endpoint. Nasa listahan ang tatlong modelo. Ipadala ang "Say hi in one sentence" at dapat kang makakuha ng sagot. Kung hindi, tumalon sa huling seksyon.

Tatlong modelo sa isang menu#

Ito ang bahaging nagpapahalaga sa isang self-hosted chat. Sabihin nating pinapatakbo mo ito para sa isang maliit na team. Karamihan sa mga tanong ay pang-araw-araw: i-rewrite ang email na ito, ipaliwanag ang error na ito. Para sa mga iyon, sapat na ang zai-org/GLM-5.3-Flash, na may 390K context window at hanggang 8,192 token bawat sagot. Kapag may nag-paste ng mahabang dokumento at gustong ng mahabang sagot, ililipat nila ang parehong chat sa deepseek-ai/DeepSeek-V4-Flash-0731 (380K context, hanggang 32,768 token bawat sagot). Ang MiniMaxAI/MiniMax-M2.7 (180K context) ang ikatlong opinyon kapag hindi nagkasundo ang dalawang sagot. Walang pangalawang subscription, walang pangalawang key: ang tatlo ay sinisingil mula sa isang balanse.

Magkano ang gastos ng chat na iyon? Kunin natin ang isang team na lima na nagpapadala ng 200 mensahe bawat araw, bawat isa ay may dalang humigit-kumulang 3,000 input token (lumalaki ang history) at nakakakuha ng humigit-kumulang 500 token pabalik:

Modelo Bawat kahilingan 200 mga kahilingan OpenRouter, 200 mga kahilingan
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 input at 500 output na token bawat kahilingan. Ang mga presyo kada 1M token ay kasalukuyan at nagbabago kasabay ng aming mga taripa; ang column ng OpenRouter ay nagpapakita ng reference na presyo para sa parehong workload.

Sa talahanayan, ang presyo ng bawat modelo para sa 200 request na iyon ay binibilang kasama ang input at output, at sa kabuuan ay lumalabas na mas mura kaysa OpenRouter. Piliin ang row na tumutugma sa iyong paggamit at ihambing ito sa pricing page.

Subukan mo mismoSubukan: magpadala ng isang tanong sa dalawang modeloIpakita ang sagot

Magbukas ng bagong chat, piliin ang zai-org/GLM-5.3-Flash, at humingi ng buod ng isang talatang alam mong mabuti. Ilipat ang modelo sa parehong menu sa deepseek-ai/DeepSeek-V4-Flash-0731, at magtanong muli. Ihambing ang haba at tono ng dalawang sagot — iyon ang batayan mo sa pagpili ng default na modelo.

Kung hindi lumabas ang endpoint o sumagot ng error#

Karamihan sa mga problema ay isa sa tatlong bagay. Piliin ang tumutugma sa nakikita mo:

Piliin ang iyong kaso

Ano ang nakikita mo?

Kulang ang CheapTokens sa menu

Hindi kailanman nabasa ng LibreChat ang iyong file. Tiyakin na ang librechat.yaml ay naka-mount sa /app/librechat.yaml (ang override file sa itaas), na buo ang indentation ng YAML, at na pinatakbo mo ang docker compose up -d pagkatapos ng pagbabago.

401 Unauthorized

Kulang o mali ang key. Tiyakin na ang pangalan pagkatapos ng ${ sa librechat.yaml ay eksaktong pangalan ng environment variable, at walang puwang o quote na naipasok sa key. Higit pa tungkol sa error na ito sa API 401 o 404.

404 o error sa modelo

Mali ang model id. Gamitin ang buong id tulad ng deepseek-ai/DeepSeek-V4-Flash-0731; hindi tinatanggap ang maikling pangalan. Maaari mong ilista ang eksaktong mga id gamit ang mga hakbang sa List models with GET /v1/models.

Kapag nakapasok na ang unang mensahe, maaari kang magdagdag ng higit pang id sa models.default sa tuwing gusto mo ng ibang modelo sa menu. Mas gusto mo ng ibang front end? Ang parehong ideya, isang base URL at isang key, ay nasa Connect Open WebUI to CheapTokens, at ang pangkalahatang larawan ay nasa OpenAI-compatible API: what base_url is. Ang mga modelo mismo ay nasa GLM page.