เครื่องมือและการเชื่อมต่อคู่มือ
เชื่อมต่อ LibreChat กับ CheapTokens: custom endpoint ใน librechat.yaml
เพิ่ม endpoint ของ CheapTokens ให้ LibreChat แบบโฮสต์เอง: หนึ่งรายการใน librechat.yaml, คีย์ในรูปแบบตัวแปรสภาพแวดล้อม, สามโมเดลในเมนู

ในหน้านี้
LibreChat ของคุณกำลังทำงานอยู่ แต่เมนูโมเดลแสดงเฉพาะโมเดลที่มาพร้อมกับระบบเท่านั้น หากต้องการเพิ่ม CheapTokens คุณต้องเขียนรายการ endpoints.custom หนึ่งรายการใน librechat.yaml: ชื่อ, base URL https:/, คีย์ในรูปแบบตัวแปรสภาพแวดล้อม และรายการ model id จากนั้นรีสตาร์ตคอนเทนเนอร์ จะมี endpoint ชื่อ "CheapTokens" ปรากฏในเมนู
ชื่อฟิลด์ด้านล่างมาจากเอกสารอ้างอิง custom endpoint ของ LibreChat (สาขา "Latest (dev)" ในเอกสาร ตรวจสอบเมื่อ 30 ตุลาคม 2026) หน้านั้นไม่มีหมายเลขเวอร์ชัน ดังนั้นหากการติดตั้งของคุณเก่ากว่าและฟิลด์มีพฤติกรรมต่างออกไป ให้เทียบกับเอกสารสำหรับเวอร์ชันของคุณ ฝั่ง API เป็นตัวเดียวกับในเอกสารของเรา: รูปแบบ OpenAI Chat Completions และใช้ยอดเงินเดียวสำหรับทุกโมเดล
สิ่งที่รายการต้องมี#
มีสี่ฟิลด์ที่จำเป็น และแต่ละฟิลด์มีหน้าที่ชัดเจน:
name— ชื่อที่ endpoint ใช้แสดงในเมนูapiKey— คีย์ เอกสารแนะนำให้ใช้อ้างอิงเช่น${VAR}แทนตัวคีย์เอง เพื่อให้ความลับไม่อยู่ใน YAMLbaseURL— ปลายทางที่ส่งคำขอ:https:// api. cheaptokens. dev/ v1 models.default— รายการ model id ที่แสดงในเมนู
มีสองฟิลด์ทางเลือกที่ควรตั้งค่า titleConvo: true ช่วยให้ LibreChat ตั้งชื่อแชตของคุณ (ชื่อเรื่องจะถูกสร้างขึ้นเว้นแต่จะตั้งเป็น false) และ modelDisplayLabel คือป้ายกำกับถัดจากคำตอบ (ค่าเริ่มต้นคือ "AI") models.fetch มีค่าเริ่มต้นเป็น false ดังนั้น LibreChat จะไม่ขอรายการโมเดลจาก API เมนูจะมาจาก models.default นั่นคือเหตุผลที่ id ด้านล่างเขียนออกมาครบถ้วน
เชื่อมต่อในสามขั้นตอน#
ทีละขั้นตอน
เชื่อมต่อ LibreChat (Docker)
ให้คีย์แก่คอนเทนเนอร์
คีย์ต้องไปถึงคอนเทนเนอร์ LibreChat ในรูปแบบตัวแปรสภาพแวดล้อม เอกสารของ LibreChat ให้คุณตั้งตัวแปรใน docker- ภายใต้ environment ดังนั้นสร้างไฟล์นั้นไว้ข้าง docker- ชื่อตัวแปรเป็นของเรา เลือกชื่อใดก็ได้ เพียงให้ตรงกันใน YAML:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_hereค่าคือ placeholder: ใช้คีย์จากแดชบอร์ด CheapTokens ของคุณ
เพิ่ม endpoint ลงใน librechat.yaml
สร้าง librechat.yaml ไว้ข้าง docker- โครงสร้างตามตัวอย่าง Mistral ในเอกสารของ LibreChat โดยใช้ที่อยู่และ id ของเรา:
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- เดียวกัน เพื่อให้ตอนนี้มีทั้งสองรายการ:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here
volumes:
- ./librechat.yaml:/app/librechat.yamlจากนั้นนำไปใช้:
docker compose up -d
เปิด LibreChat ในเบราว์เซอร์ เริ่มแชตใหม่ และเลือก CheapTokens ในเมนู endpoint ทั้งสามโมเดลอยู่ในรายการ ส่ง "Say hi in one sentence" แล้วคุณควรได้รับคำตอบกลับมา หากไม่ได้รับ ให้ข้ามไปยังส่วนสุดท้าย
สามโมเดลในเมนูเดียว#
นี่คือส่วนที่ทำให้แชตแบบโฮสต์เองคุ้มค่า สมมติว่าคุณรันให้ทีมเล็กๆ คำถามส่วนใหญ่เป็นเรื่องทั่วไป: เขียนอีเมลนี้ใหม่ อธิบายข้อผิดพลาดนี้ สำหรับคำถามเหล่านั้น zai- ก็เพียงพอ ด้วยหน้าต่างบริบท 390K และสูงสุด 8,192 โทเคนต่อคำตอบ เมื่อมีคนวางเอกสารยาวและต้องการคำตอบยาว พวกเขาสลับแชตเดิมไปที่ deepseek- (บริบท 380K สูงสุด 32,768 โทเคนต่อคำตอบ) MiniMaxAI/ (บริบท 180K) คือความเห็นที่สามเมื่อคำตอบสองอันขัดแย้งกัน ไม่ต้องสมัครสมาชิกที่สอง ไม่ต้องใช้คีย์ที่สอง ทั้งสามโมเดลคิดเงินจากยอดเงินเดียว
แชตนั้นมีค่าใช้จ่ายเท่าไร? สมมติทีมห้าคนส่ง 200 ข้อความต่อวัน แต่ละข้อความมีโทเคนอินพุตประมาณ 3,000 (ประวัติเพิ่มขึ้นเรื่อยๆ) และได้โทเคนกลับมาประมาณ 500:
| โมเดล | Input $/1M | Output $/1M | ต่อคำขอ | 200 คำขอ | OpenRouter, 200 คำขอ |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00008 | $0.016 | $0.0284 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000095 | $0.019 | $0.056 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00023 | $0.045 | $0.54 |
3,000 โทเค็นอินพุตและ 500 โทเค็นเอาต์พุตต่อคำขอ ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน
ในตาราง ราคาของแต่ละโมเดลสำหรับ 200 คำขอนั้นนับรวมอินพุตและเอาต์พุตเข้าด้วยกัน และโดยรวมแล้วถูกกว่า OpenRouter เลือกแถวที่ตรงกับการใช้งานของคุณและเทียบกับหน้าราคา
ลองด้วยตัวเองลองดู: ส่งคำถามหนึ่งข้อให้สองโมเดลแสดงคำตอบ
เปิดแชตใหม่ เลือก zai- และขอสรุปของย่อหน้าที่คุณรู้ดี สลับโมเดลในเมนูเดียวกันไปที่ deepseek- แล้วถามอีกครั้ง เปรียบเทียบความยาวและน้ำเสียงของคำตอบทั้งสอง — นั่นคือสิ่งที่คุณใช้ตัดสินใจเลือกโมเดลเริ่มต้น
หาก endpoint ไม่ปรากฏหรือตอบกลับด้วยข้อผิดพลาด#
ปัญหาส่วนใหญ่เป็นหนึ่งในสามอย่าง เลือกข้อที่ตรงกับสิ่งที่คุณเห็น:
เลือกกรณีของคุณ
คุณเห็นอะไร?
เลือกตัวเลือกเพื่อดูคำตอบ
CheapTokens หายไปจากเมนู
LibreChat ไม่ได้อ่านไฟล์ของคุณเลย ตรวจสอบว่า librechat.yaml ถูกเมานต์ที่ / (ไฟล์ override ด้านบน) การเยื้อง YAML ยังคงอยู่ครบ และคุณรัน docker compose up - หลังการเปลี่ยนแปลง
401 Unauthorized
คีย์หายไปหรือไม่ถูกต้อง ตรวจสอบว่าชื่อหลัง ${ ใน librechat.yaml ตรงกับชื่อของตัวแปรสภาพแวดล้อมพอดี และคีย์ไม่มีช่องว่างหรือเครื่องหมายคำพูดติดมา ข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดนี้ใน API 401 หรือ 404
404 หรือข้อผิดพลาดเกี่ยวกับโมเดล
model id ไม่ถูกต้อง ใช้ id แบบเต็มเช่น deepseek- ชื่อแบบสั้นจะไม่ถูกยอมรับ คุณสามารถแสดงรายการ id ที่ถูกต้องได้ด้วยขั้นตอนใน แสดงรายการโมเดลด้วย GET /v1/models
เมื่อข้อความแรกผ่านไปได้แล้ว คุณสามารถเพิ่ม id อื่นๆ ลงใน models.default เมื่อใดก็ได้ที่ต้องการโมเดลอื่นในเมนู ต้องการฟรอนต์เอนด์อื่น? แนวคิดเดียวกัน คือ base URL บวกคีย์ อยู่ใน เชื่อมต่อ Open WebUI กับ CheapTokens และภาพรวมทั่วไปอยู่ใน API ที่เข้ากันได้กับ OpenAI: base_url คืออะไร ตัวโมเดลเองอยู่ในหน้า GLM



