รันแอป FastGPT บน custom OpenAI-compatible base URL

Updated 2026-07-29

FastGPT เวอร์ชันปัจจุบันตั้งค่าโมเดลในหน้า UI: เพิ่ม channel ใต้ Account, Model Providers ด้วย protocol แบบ OpenAI, https://api.apisrouter.com/v1 เป็น proxy address และ key เดียว id ของ Claude, GPT, DeepSeek, GLM, Kimi และ Qwen ก็จะขับเคลื่อน knowledge base และ workflow ของคุณ

คำตอบสั้น ๆ: channel เดียวในหน้า Model Providers

ตั้งแต่ v4.8.23 FastGPT มี model-aggregation layer ของตัวเอง (AI Proxy) และ UI ตั้งค่าโมเดล ดังนั้น custom endpoint ไม่ต้องพึ่ง OneAPI deployment แยกต่างหากหรือแก้ config.json ด้วยมืออีกต่อไป เปิด Account แล้วไปที่ Model Providers สลับไปแท็บ Model Channels แล้วคลิก Add Channel ตั้ง protocol type เป็น OpenAI ตั้งชื่อ channel ใส่ https://api.apisrouter.com/v1 ในฟิลด์ proxy address (คือ base URL ไม่ใช่ path ของ request เต็ม) วาง key ของคุณ แล้วเลือกหรือพิมพ์ id โมเดลที่ channel นี้ควรให้บริการ กลับไปที่แท็บโมเดล เปิดใช้งาน id ที่คุณเพิ่มแล้วรัน connectivity test ในตัว จากนั้นทุกแอป, knowledge base และ workflow node ของ FastGPT จะเลือกโมเดลเหล่านั้นได้ เอกสารมีสองภาษาและ label เปลี่ยนไปตามรุ่น (doc.fastgpt.io คือทางเข้าภาษาอังกฤษ) ดังนั้นให้ยึด flow, channel, protocol, base URL, key, models เป็นส่วนที่คงที่ มากกว่าคำเป๊ะ ๆ ที่ใช้

Channel Name:   APIsRouter
Protocol Type:  OpenAI
Proxy URL:      https://api.apisrouter.com/v1
API Key:        sk-YOUR-APISROUTER-KEY
Models:         claude-sonnet-4-6, deepseek-v4-flash,
                glm-5.2, qwen3.7-plus, kimi-k2.6

then: enable the models + run the connection test

FastGPT route traffic โมเดลอย่างไร

FastGPT (labring บน GitHub มีดาวประมาณ 29K) คือแพลตฟอร์ม knowledge-base และ workflow ต้นกำเนิดจีน: dataset พร้อมการดึง QA และ vector search, การจัด orchestration แบบ Flow ที่เห็นภาพ และแอปที่เผยแพร่แล้วพร้อมการแชร์และการเข้าถึง API ทั้งหมดนี้แก้ปัญหาไปที่โมเดลที่ลงทะเบียนไว้ในชั้นการตั้งค่า channel คือกฎ routing: model id เหล่านี้, base URL นี้, key นี้ request ออกจาก FastGPT เป็น chat completions มาตรฐานโดยมี model id เป็นสตริงธรรมดา ซึ่งเป็นเหตุผลที่ gateway หลาย vendor เสียบเข้าเป็น channel เดียว ชั้น channel ยังพก feature ด้าน operation ที่คุณไม่ต้องสร้างเองด้วย: โมเดลเดียวอยู่ได้หลาย channel เพื่อ load balancing และ model mapping ให้ FastGPT แสดงชื่อหนึ่งในขณะที่ส่ง id สตริงอีกแบบไปให้ provider สำหรับ self-hoster บนเวอร์ชันเก่ากว่า การเชื่อมต่อโดยตรงยังมีอยู่: FastGPT รุ่นคลาสสิกมีคู่ environment ที่ชี้แพลตฟอร์มไปที่ OpenAI-compatible base ใดก็ได้ คือ OPENAI_BASE_URL และ CHAT_API_KEY ใน docker-compose environment โดยประกาศโมเดลใน config.json ใต้ llmModels มันใช้งานได้ แต่ UI path คือทิศทางที่โปรเจกต์ย้ายไปแล้ว และ deployment ใหม่ควรเริ่มที่นั่น

มุมมองเอเชีย: ยอดคงเหลือเดียวสำหรับโลกโมเดลทั้งสองฝั่ง

ฐานผู้ใช้ FastGPT เอนไปทางผู้พูดภาษาจีนหนักมาก และ deployment ทั่วไปของมันผสมโมเดลระดับภูมิภาคกับโมเดลตะวันตก: GLM หรือ Qwen สำหรับ knowledge base ภาษาจีน DeepSeek สำหรับปริมาณ Claude หรือ GPT ตรงที่ความเนียนของคำตอบคือตัวสินค้า เสิร์ฟตรง ๆ การผสมนี้เจ็บปวด เพราะ DeepSeek, Zhipu, Moonshot และ Alibaba ต่างเก็บเงินแยกกัน บางเจ้าจ่ายยากจากอีกฟากโลก ในขณะที่ Anthropic และ OpenAI ก็จ่ายยากจากอีกทาง ผ่าน OpenAI-API-Compatible base url เดียว การผสมนี้ก็แค่ dialog Add LLM ที่มากขึ้น: deepseek-v4-pro และ glm-5.2 สำหรับ corpus ที่หนักภาษาจีน qwen3.7-max และ kimi-k2.6 เป็นทางเลือกภูมิภาคที่แข็งแกร่ง claude-sonnet-4-6 ตรงที่ความเนียนของคำตอบสำคัญที่สุด base url เดียวกัน key เดียวกัน id มาจากแคตตาล็อกตรง ๆ สำหรับทีมในเอเชีย เส้นทางเดียวกันทำงานกลับด้านได้เช่นกัน: id ของ Claude และ GPT เข้าถึงได้บนยอดคงเหลือแบบเติมเงินล่วงหน้าโดยไม่ต้องใช้บัตรตะวันตก ซึ่งสำหรับร้าน FastGPT หลายแห่งคือความต่างระหว่างการทดสอบโมเดลจริงกับการอ่านเรื่องมันเฉย ๆ ยังมีเส้นทางตอน boot ที่ควรรู้: service_conf.yaml.template รับ block user_default_llm (factory, api_key, base_url) เพื่อให้การติดตั้งใหม่มาพร้อมการเชื่อมต่อไว้แล้ว เอกสารของ FastGPT ระบุชัดเจนว่าหลัง login การตั้งค่าเกิดขึ้นที่หน้า Model Providers เท่านั้น ดังนั้นให้ถือว่า YAML คือการเตรียมการตอน boot ครั้งแรก ไม่ใช่ config แบบสด

# docker-compose environment, pre-AI-Proxy versions
OPENAI_BASE_URL=https://api.apisrouter.com/v1
CHAT_API_KEY=sk-YOUR-APISROUTER-KEY
# models declared in config.json under llmModels

เลือกโมเดลสำหรับ knowledge base และ flow

เพราะทุก id ที่เปิดใช้งานคิดเงินผ่าน key เดียว การเปรียบเทียบโมเดลก็แค่การแก้ไขค่าที่ node ปักหมุดผู้เข้าแข่งขันสองรายในสองสำเนาของแอปเดียวกัน รันคำถามจริงหนึ่งสัปดาห์ แล้วอ่านการแบ่งต่อโมเดลใน console ของ APIsRouter ควบคู่กับวิจารณญาณของคุณเองต่อคุณภาพคำตอบ

  • QA ของ dataset และการสร้างคำตอบบน chunk ที่ retrieve มาเป็นงานปริมาณ: deepseek-v4-flash และ glm-5.2 ทำให้ต้นทุนต่อคำถามคงที่บน corpus สองภาษา
  • qwen3.7-max และ kimi-k2.6 คือตัวเลือกภูมิภาคที่คุ้มค่าทดสอบเมื่อคำตอบต้องอ่านเป็นธรรมชาติในภาษาจีน คุณภาพการสร้างข้อความแตกต่างกันมากในโมเดลจีนมากกว่า retrieval
  • claude-haiku-4-5-20251001 คือระดับตะวันตกที่เร็วสำหรับ deployment ผสมภาษา ก้าวขึ้นไป claude-sonnet-4-6 เฉพาะในแอปที่คุณภาพการสังเคราะห์คือตัวสินค้า
  • workflow node ทำงานทุกครั้งที่รัน ดังนั้น flow ห้า node จะคูณอะไรก็ตามที่อยู่ใน node แต่ละอัน ใส่ id ที่เร็วใน node จัดหมวดและ routing แล้วใช้จ่ายกับ node คำตอบ
  • โมเดล index และ extraction ตั้งค่าแยกจากโมเดลแชท ยืนยันว่า endpoint เสิร์ฟ embedding id ที่คุณผูกไว้ก่อนสร้าง index ใหม่รอบมัน

จ่ายตามการใช้งาน · ถูกกว่าราคาทางการ

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

โมเดลราคาทางการราคาของเรา
GLM-5.2$1.14 / $4.00 per M$1.10 / $4.00 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M
Qwen 3.7 Plus$0.29 / $1.14 per M$0.30 / $1.10 per M
Kimi K2.6$0.95 / $4.00 per M$1.00 / $4.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M

รูปแบบความล้มเหลวเฉพาะของ FastGPT

ข้อตกลง base URL ทำให้คนที่ข้ามมาจากเครื่องมืออื่นสะดุด: FastGPT คาดหวัง base ที่มี /v1 ต่อท้ายในฟิลด์ proxy และเติม /chat/completions เอง ในขณะที่ฟอร์ม custom-model ของมัน (คนละฟีเจอร์ สำหรับโมเดลเดี่ยว ๆ ที่ข้าม channel) ต้องการ request URL เต็มรวม /v1/chat/completions รู้ว่าคุณอยู่ในฟิลด์ไหนก่อนวาง โมเดลที่อยู่ใน channel แต่เลือกไม่ได้ในแอปหมายความว่ามันถูกเพิ่มใน channel แต่ไม่ได้เปิดใช้งานในฝั่งโมเดลของการตั้งค่า ทั้งสองรายการแยกกัน และ connectivity test ตรวจสอบแค่ channel เท่านั้น tutorial เก่าคืออันตรายที่สุด หลายปีของคู่มือ FastGPT สมมติว่ามี OneAPI sidecar และการแก้ config.json บนเวอร์ชันปัจจุบัน UI ของ Model Providers แทนที่ทั้งสองอย่าง และการผสมสองแนวทาง (env wiring บวก channel) จะทำให้ request ไป route ที่ที่คุณไม่ได้มอง เลือกชั้นเดียวแล้วตั้งค่ามันให้เต็มที่ error model-not-found คือปัญหา free-text แบบปกติ: id ใน channel ต้องตรงกับการสะกดใน /v1/models ของ gateway เป๊ะ ๆ รวม version suffix คัดลอก อย่าพิมพ์เอง

ใครที่ route FastGPT ผ่าน gateway

  • ทีมสองภาษาที่ผสม GLM, Qwen, Kimi และ DeepSeek กับ id ของ Claude และ GPT ใน deployment เดียว ยอดคงเหลือเดียว usage log เดียว
  • ทีมในเอเชียที่ต้องการโมเดล frontier ตะวันตกบนยอดคงเหลือแบบเติมเงินล่วงหน้าโดยไม่ต้องใช้บัตรตะวันตก และทีมตะวันตกที่ต้องการโมเดลจีนโดยไม่ต้องเก็บเงินตามภูมิภาค
  • self-hoster ที่แทนที่ OneAPI sidecar: gateway ให้บริการส่วนหลาย vendor ส่วน channel ในตัวของ FastGPT ให้บริการส่วน routing
  • เอเจนซี่ที่รัน knowledge base ของลูกค้าบน FastGPT มิเตอร์ลูกค้าแต่ละรายด้วย key ของตัวเองเพื่อให้ค่าใช้จ่ายโมเดลรายงานตัวเองต่อโปรเจกต์
  • builder ที่เปรียบเทียบโมเดลตอบคำถามบน corpus คงที่ ที่แต่ละตัวเลือกเป็นแค่ entry ใน channel แทนที่จะเป็นบัญชี vendor

ตรวจสอบ endpoint และ debug คำถามแรก

Curl รายการโมเดลก่อนแล้วคัดลอก id จาก output ลงใน channel จากนั้นรัน chat completion หนึ่งครั้งกับ id ที่คุณวางแผนจะตั้งเป็นค่าเริ่มต้น ถ้าทั้งสองผ่าน ฝั่ง gateway ก็ได้รับการพิสูจน์แล้ว ข้างใน FastGPT ใช้ connectivity test ของ channel แล้วถามคำถามหนึ่งข้อในแอปขั้นต่ำก่อนเชื่อมกับ dataset Authentication error ชี้ไปที่ channel key; not-found ชี้ไปที่การสะกด id; connection error ชี้ไปที่ proxy URL หรือ container egress เพราะเป็น FastGPT server ไม่ใช่ browser ของคุณที่ต้องเข้าถึง endpoint ถ้าแอป dataset ล้มเหลวในขณะที่แอปแชทธรรมดาทำงานได้ ปัญหาอยู่ที่การผูกโมเดลของ dataset เอง ไม่ใช่ channel เมื่อคำถามไหลลื่นแล้ว console ของ APIsRouter แสดงโมเดลต่อ request, จำนวน token และค่าใช้จ่าย traffic knowledge-base คือ request เล็ก ๆ จำนวนมากที่หนัก input และมุมมอง usage ต่อ key คือที่ที่ profile ต้นทุนจริงของ deployment ปรากฏ ต่อโมเดล ต่อวัน id จีนและตะวันตกอยู่หน้าเดียวกัน

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"glm-5.2",
       "messages":[{"role":"user","content":"ping"}]}'

คำถามที่พบบ่อย

ฉันจะเพิ่ม custom base URL ให้ FastGPT อย่างไร?

บนเวอร์ชันปัจจุบัน ผ่าน UI: Account, Model Providers, Model Channels, Add Channel ด้วย protocol OpenAI, proxy URL https://api.apisrouter.com/v1, key ของคุณ และ model id บนเวอร์ชันเก่า ตั้ง OPENAI_BASE_URL และ CHAT_API_KEY ใน environment แล้วประกาศโมเดลใน config.json

proxy URL ต้องมี /v1 ไหม?

ใช่ ในฟิลด์ proxy ของ channel ใส่ base ที่มี /v1 ต่อท้าย แล้ว FastGPT จะเติม /chat/completions เอง ฟอร์ม custom-model แยกต่างหากคือข้อยกเว้น: มันรับ request URL เต็มรวม /v1/chat/completions จับข้อตกลงให้ตรงกับฟิลด์ที่คุณกำลังใช้

ยังต้องใช้ OneAPI กับ FastGPT อยู่ไหม?

ไม่ต้องแล้ว ตั้งแต่ v4.8.23 FastGPT รวม aggregation layer ของตัวเองพร้อมการจัดการ channel ใน UI และ gateway หลาย vendor ครอบคลุมส่วนที่ OneAPI เคยทำ การรันทั้งสองชั้นพร้อมกันใช้งานได้แต่ทำให้ routing คิดตามยากขึ้น deployment ใหม่ควรตั้งค่าแค่ channel

FastGPT ผสมโมเดลจีนและตะวันตกใน channel เดียวได้ไหม?

ได้ channel ส่งต่อ model id แต่ละตัวเป็นสตริงธรรมดา ดังนั้น glm-5.2, qwen3.7-plus, kimi-k2.6, deepseek-v4-flash และ claude-sonnet-4-6 อยู่ channel เดียวกันและ key เดียวกันได้ เลือกได้ต่อแอปและต่อ workflow node

ทำไมโมเดลใน channel ของฉันเลือกไม่ได้ในแอป?

การเพิ่ม id ใน channel กับการเปิดใช้งานโมเดลเป็นคนละขั้นตอนใน UI ของ Model Providers เปิดใช้งานโมเดลในรายการโมเดล แล้วเช็ก dropdown ของแอปหรือ node อีกครั้ง สิทธิ์โมเดลต่อแอปก็อาจกรองสิ่งที่ทีมหนึ่งเห็นได้ด้วย

ตั้งค่า endpoint ล่วงหน้าก่อน boot ครั้งแรกได้ไหม?

ได้ ผ่าน block user_default_llm ใน docker/service_conf.yaml.template: factory OpenAI-API-Compatible, api_key ของคุณ และ base_url FastGPT อ่านมันตอน startup ครั้งแรก หลัง login การตั้งค่าย้ายไปที่หน้า Model Providers เท่านั้น