Kembali ke blog

Alat & integrasiPanduan

Hubungkan LibreChat ke CheapTokens: custom endpoint librechat.yaml

Tambahkan endpoint CheapTokens ke LibreChat self-hosted: satu entri di librechat.yaml, key sebagai environment variable, tiga model di menu.

Oleh CheapTokens TeamDiterbitkan 4 menit baca

Entri konfigurasi LibreChat yang mengarah ke API CheapTokens
Di halaman ini
  1. Yang dibutuhkan entri
  2. Hubungkan dalam tiga langkah
  3. Tiga model dalam satu menu
  4. Jika endpoint tidak muncul atau menjawab dengan error

LibreChat Anda sudah berjalan, tetapi menu model hanya menampilkan model bawaan. Untuk menambahkan CheapTokens, Anda menulis satu entri endpoints.custom di librechat.yaml: sebuah nama, base URL https://api.cheaptokens.dev/v1, key sebagai environment variable, dan daftar id model. Restart container, dan endpoint "CheapTokens" muncul di menu.

Nama field di bawah ini berasal dari referensi custom endpoint LibreChat (dokumen cabang "Latest (dev)", dicek 30 Oktober 2026). Halaman tersebut tidak mencantumkan nomor versi, jadi jika instalasi Anda lebih lama dan suatu field berperilaku berbeda, bandingkan dengan dokumen untuk rilis Anda. Sisi API-nya adalah yang dari dokumen kami: format OpenAI Chat Completions, satu saldo untuk semua model.

Yang dibutuhkan entri#

Empat field wajib diisi, dan masing-masing punya tugas yang jelas:

  • name — nama endpoint di menu.
  • apiKey — key. Dokumen menyarankan referensi seperti ${VAR} alih-alih key itu sendiri, agar rahasia tidak masuk ke YAML.
  • baseURL — tujuan request: https://api.cheaptokens.dev/v1.
  • models.default — daftar id model yang ditampilkan di menu.

Dua field opsional layak diatur. titleConvo: true memungkinkan LibreChat memberi nama chat Anda (judul dibuat kecuali nilainya false), dan modelDisplayLabel adalah label di samping jawaban (default-nya "AI"). models.fetch secara default bernilai false, jadi LibreChat tidak akan meminta daftar model ke API; menu berasal dari models.default. Itulah sebabnya id di bawah ditulis lengkap.

Hubungkan dalam tiga langkah#

Langkah demi langkah

Hubungkan LibreChat (Docker)

Beri container key tersebut

Key harus sampai ke container LibreChat sebagai environment variable. Dokumen LibreChat memungkinkan Anda mengatur variabel di docker-compose.override.yml di bawah environment, jadi buat file itu di samping docker-compose.yml. Nama variabelnya bebas, pilih apa saja, asalkan sama persis di YAML:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

Nilainya adalah placeholder: gunakan key dari dashboard CheapTokens Anda.

Tambahkan endpoint ke librechat.yaml

Buat librechat.yaml di samping docker-compose.yml. Bentuknya mengikuti contoh Mistral di dokumen LibreChat, dengan alamat dan id kami:

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'

Mount file dan restart

Container harus bisa melihat file tersebut. Tambahkan volumes ke docker-compose.override.yml yang sama, sehingga sekarang berisi keduanya:

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

Lalu terapkan:

bash
docker compose up -d
Dari key ke menu: environment variable, librechat.yaml, mount, lalu CheapTokens di daftar model
Jalur dari key ke endpoint CheapTokens di menu LibreChat

Buka LibreChat di browser, mulai chat baru dan pilih CheapTokens di menu endpoint. Ketiga model ada di daftar. Kirim "Say hi in one sentence" dan Anda seharusnya mendapat jawaban. Jika tidak, lompat ke bagian terakhir.

Tiga model dalam satu menu#

Inilah bagian yang membuat chat self-hosted layak dimiliki. Misalnya Anda menjalankannya untuk tim kecil. Sebagian besar pertanyaan bersifat sehari-hari: tulis ulang email ini, jelaskan error ini. Untuk itu, zai-org/GLM-5.3-Flash sudah cukup, dengan context window 390K dan hingga 8.192 token per jawaban. Saat seseorang menempelkan dokumen panjang dan ingin jawaban panjang, mereka beralih di chat yang sama ke deepseek-ai/DeepSeek-V4-Flash-0731 (konteks 380K, hingga 32.768 token per jawaban). MiniMaxAI/MiniMax-M2.7 (konteks 180K) adalah pendapat ketiga saat dua jawaban berbeda. Tanpa langganan kedua, tanpa key kedua: ketiganya ditagih dari satu saldo.

Berapa biaya chat itu? Ambil tim berisi lima orang yang mengirim 200 pesan sehari, masing-masing membawa sekitar 3.000 token input (riwayat terus bertambah) dan mendapat sekitar 500 token kembali:

Model Per permintaan 200 permintaan OpenRouter, 200 permintaan
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 token input dan 500 token output per permintaan. Harga per 1 juta token adalah harga saat ini dan berubah seiring tarif kami; kolom OpenRouter menunjukkan harga referensi untuk beban kerja yang sama.

Dalam tabel, harga tiap model untuk 200 request tersebut dihitung dengan input dan output digabung, dan totalnya lebih murah daripada OpenRouter. Pilih baris yang sesuai dengan penggunaan Anda dan bandingkan dengan halaman harga.

Coba sendiriCoba: kirim satu pertanyaan ke dua modelTampilkan jawaban

Buka chat baru, pilih zai-org/GLM-5.3-Flash, dan minta ringkasan dari paragraf yang Anda kenal baik. Ganti model di menu yang sama ke deepseek-ai/DeepSeek-V4-Flash-0731, dan tanyakan lagi. Bandingkan panjang dan nada kedua jawaban — dari situ Anda menentukan model default.

Jika endpoint tidak muncul atau menjawab dengan error#

Sebagian besar masalah adalah salah satu dari tiga hal. Pilih yang sesuai dengan yang Anda lihat:

Pilih kasus Anda

Apa yang Anda lihat?

CheapTokens tidak ada di menu

LibreChat tidak pernah membaca file Anda. Periksa bahwa librechat.yaml di-mount di /app/librechat.yaml (file override di atas), bahwa indentasi YAML tetap utuh, dan bahwa Anda menjalankan docker compose up -d setelah perubahan.

401 Unauthorized

Key hilang atau salah. Periksa bahwa nama setelah ${ di librechat.yaml persis sama dengan nama environment variable, dan bahwa key tidak mengandung spasi atau tanda kutip yang ikut tertempel. Selengkapnya tentang error ini di API 401 atau 404.

404 atau error model

Id model salah. Gunakan id lengkap seperti deepseek-ai/DeepSeek-V4-Flash-0731; nama pendek tidak diterima. Anda bisa melihat daftar id persisnya dengan langkah di Daftar model dengan GET /v1/models.

Setelah pesan pertama berhasil, Anda bisa menambahkan id lain ke models.default kapan pun Anda ingin model lain di menu. Lebih suka front end lain? Ide yang sama, base URL plus key, ada di Hubungkan Open WebUI ke CheapTokens, dan gambaran umumnya ada di API kompatibel OpenAI: apa itu base_url. Model-modelnya sendiri ada di halaman GLM.