AI Models
**管理後台位置:**System › Admin › License & updates(
/license)以啟用模組。接著前往Services › AI Models:Providers(/ai/providers)、Models(/ai/models)、Profit(/ai/profit)與Audit(/ai/audit)。客戶則在客戶入口網站中使用AI › API。
功能
AI Models是您控制台上的閘道與計費層。您的客戶取得API金鑰,並以OpenAI相容或Anthropic相容格式呼叫您網域上的單一端點。您可以選擇提供哪些模型,以及每1百萬個token的費用。NexCMP會檢查金鑰、限制與錢包,將請求傳送給您新增的提供商,計量token並從客戶的預付錢包扣款。
**您需自備模型來源。**NexCMP預設不隨附任何提供商、模型、預設位址或價格,亦不提供模型、API金鑰、token或提供商帳號。
請先確認來源服務條款
許多模型來源限制轉售或將存取權轉讓給第三方。請僅使用您獲授權使用並可轉售的來源,並遵守其條款與適用的法律。本頁面不構成法律建議。
AI Models是與AI Chat and AI Agent(模組AI,請參閱AI提供商)各自獨立的產品。這兩個模組彼此互不依賴。
需求
| 項目 | 需求 |
|---|---|
| 模組 | 已在License & updates的Modules下開啟AI Models。預設為關閉。 |
| 提供商 | 您獲得授權轉售的一或多個模型來源,各自具備OpenAI相容API(/chat/completions)、Anthropic相容API(/messages)或兩者兼具。每個來源皆需要base URL與API key。 |
| 網路 | 控制台必須能透過公網網域名稱以連接埠443上的HTTPS連線至各提供商。若提供商位於內部主機、使用其他連接埠或一般HTTP,則必須列於Allowed internal hosts(設定ai_endpoint_allow)中。 |
| 客戶 | 擁有已驗證電子郵件地址且錢包有餘額的客戶帳號。 |
| 硬體 | 無。NexCMP僅轉發請求:無需GPU,亦無需模型檔案。 |
準備基礎設施
- 從您將使用的各個模型來源取得API金鑰,並記下其base URL(例如
https://api.example.com/v1)。 - 確認該來源關於轉售的服務條款。
- 若來源運行於您的內部網路中,請確定其位址(例如
http://10.0.0.5:8000/v1)。您需要將10.0.0.5:8000列於Allowed internal hosts下。
在 NexCMP 中連線
1. 啟用模組
開啟System › Admin › License & updates,找到Module卡片,並開啟AI Models。選單將重新載入並顯示Services › AI Models。在此模組關閉期間,客戶頁面、管理頁面與閘道皆會回應404 module_disabled,且不會連線至任何提供商。

2. 新增提供商
- 開啟AI Models › Providers並選擇Add provider。
- 輸入簡短的slug、名稱(僅您可見)、類型(OpenAI-compatible、Anthropic-compatible或Both)、base URL與API key,以及優先級(數字較小者優先嘗試)。
- 儲存。金鑰將加密儲存,且後續僅顯示最後4個字元。金鑰僅能由已登入的管理員工作階段輸入。
僅在閘道確實同時支援兩種格式時才使用Both。NexCMP不會在兩種格式之間進行轉換:由相容OpenAI的提供商提供的模型需透過/ai/v1/chat/completions存取,而由相容Anthropic的提供商提供的模型則透過/ai/v1/messages存取。

3. 測試連線
在提供商上選擇 Test connection。NexCMP 會使用金鑰讀取 GET <base URL>/models 並回報 ok,或回報失敗原因:auth(金鑰錯誤)、blocked、billing 或 unreachable。測試頻率限制為每分鐘 6 次。
4. 同步模型
選擇 Sync models。NexCMP 會讀取提供商的模型清單,並將每個新模型新增為已關閉且無定價。提供商清單中不再包含的模型會被標記。此模組開啟期間,清單每 6 小時也會自動同步一次(設定項目 ai_models_sync_hours)。
5. 設定定價並啟用模型
- 前往AI Models › Models。
- 針對您要銷售的每個模型,設定以美元計價、每1百萬個token的銷售價格:input、cached input 與 output。
- 可選擇輸入您該模型的成本。接著 Profit 會依日期和模型顯示營收與成本的對比,且除非您確認刻意承受虧損,否則低於成本加上最低利潤(設定項目
ai_min_margin_pct,預設為 10)的銷售價格將會被拒絕。Set price from cost 會使用您自訂的加成比例;沒有預設加成。 - 啟用該模型。未設定銷售價格的模型無法啟用。cached input 價格若保留為零,則會按 input 價格計費。

6. 路由與容錯移轉
在模型上,Routes 會依序列出支援該模型的提供商。可新增第二個提供商做為備援、設定優先順序,並可選擇為每個提供商指定不同的模型名稱(傳送給提供商的名稱可以不同於您公開顯示的名稱)。當提供商傳回伺服器錯誤、授權或帳單錯誤、缺少模型或速率限制時,NexCMP 會嘗試下一個路由。若要求發送後發生讀取逾時,不會轉發給其他提供商,避免重複扣款。
每個提供商的呼叫頻率限制為每分鐘 ai_provider_rpm 次請求(預設為 50)。若提供商持續回傳授權或帳單錯誤,且已設定 Telegram,NexCMP 會在 Telegram 上通知管理員。
7. 開啟銷售開關
在 AI Models 頁面頂部,銷售開關(設定項目 feature_ai_models)預設為關閉。關閉時,客戶會看到服務尚未開放,公開價目表亦會顯示不可用。請確認至少有一個模型已開啟、已設定銷售價格,且具備包含有效金鑰的路由,然後開啟此開關。
客戶可以執行的操作
在客戶入口網站中,前往AI › API:
- Models 顯示您的模型與價格、基礎 URL 以及現成的範例指令。
- API Keys:建立、重新命名、輪換、停用和刪除金鑰。密鑰僅顯示一次;系統只儲存雜湊值。可按金鑰設定:允許的模型、到期日、軟性預算上限(發出警告)與硬性預算上限(以
402阻擋)、每分鐘請求數以及每分鐘 tokens 數。 - Usage:依模型、金鑰和日期顯示用量,並支援匯出。
- Logs:可篩選的請求記錄(時間、金鑰、模型、tokens、成本、狀態、延遲)。**不會記錄 prompt 和回應內容。**記錄預設保留 90 天(
ai_log_retention_days)。 - Settings:帳戶預算以及預算警報的電子郵件地址。
- Playground:與模型交談、並排比較多個模型,並複製相應的程式碼。

位於您網域上的閘道端點:
text
POST /ai/v1/chat/completions OpenAI-compatible
POST /ai/v1/messages Anthropic-compatible (also /ai/v1/messages/count_tokens)
GET /ai/v1/models model list
GET /ai/v1/models/pricing public price list, no key needed錢包與帳單
AI使用量與其他所有服務一樣,皆從同一個預付錢包扣款。在請求送至供應商之前,NexCMP會為該請求可能產生的最高費用預留金額;若餘額低於最低額度(ai_min_balance_cents,預設為20美分)或金額不足,該請求將被拒絕並傳回402 insufficient_balance,且不會呼叫任何供應商。使用量按帳戶收集,並在每小時結束後結算為錢包帳本分錄,且每5分鐘清理一次;尚未結算的使用量已從閘道看到的餘額中扣除。
分銷商可在自己的網域上銷售AI Models:其加價或折扣會套用於您的售價,其批發錢包則會扣除批發價。每個分銷商獨立的AI開關(預設為開啟)控制誰可以進行銷售。
驗證
完成步驟3後,Test connection會顯示ok與模型數量。
完成步驟4後,新模型將列出,處於關閉狀態且沒有價格。
以錢包內有儲值資金的客戶身分建立金鑰,並呼叫閘道:
bashcurl https://your-domain/ai/v1/chat/completions \ -H "Authorization: Bearer sk-ai-…" -H "Content-Type: application/json" \ -d '{"model":"model-one","messages":[{"role":"user","content":"hello"}]}'200回應帶有模型的回答。Usage會顯示該請求,若您有輸入成本,Profit也會顯示該請求。當錢包餘額為零時,相同的呼叫會傳回
402 insufficient_balance。
限制與注意事項
- 此模組未內建任何供應商、模型或價格,且絕不會從供應商讀取價目表。
- 在供應商端執行且按次計費的工具(例如網路搜尋)會被拒絕,因為它們無法進行計量。只有少數請求參數會被傳遞。
- Token使用量取自供應商的回覆;若回覆中未包含,NexCMP會進行估算並將該記錄標記為預估。
- 來自供應商的錯誤在傳送給客戶之前會先經過清理(移除名稱、主機、位址與供應商的模型名稱)。客戶絕不會看到是哪家供應商處理了請求。
- 客戶透過您控制台的網域連線至閘道,因此該網域的TLS必須能正常運作。
- NexCMP不為此模組提供服務等級協定、微調或GPU託管。
故障排除
| 症狀 | 原因與解決方法 |
|---|---|
每個AI Models頁面與閘道皆回應404 module_disabled | 模組已關閉。請在License & updates、Modules下開啟AI Models。 |
新增供應商失敗,並顯示endpoint_host_not_allowed、endpoint_must_be_https或invalid_endpoint_port | 基礎URL必須是公開網域名稱上連接埠443的HTTPS。若使用內部主機、其他連接埠或純HTTP,請將host:port列於Allowed internal hosts之下。 |
blocked_endpoint | 該位址為IP,或是名稱解析為私人位址。若確有此需求,請將其列於Allowed internal hosts之下。 |
Test connection顯示auth | 金鑰錯誤或無存取權限。請重新輸入金鑰。 |
無法開啟模型(no_price) | 請先設定售價。 |
客戶收到503 ai_unavailable | 銷售開關處於關閉狀態,或分銷商的AI開關已關閉。 |
客戶收到503 upstream_unavailable | 沒有已啟用且具備金鑰的路由能以請求的格式提供該模型。請檢查該模型的路由與供應商類型。 |
客戶收到402 insufficient_balance | 錢包餘額低於最低限制或不足以支付該請求。請要求客戶儲值。 |