你正在設定的內容
如果你是輸入 openwebui 如何聊天 n8n 來到這裡,你可能想同時做兩件相關的事:在 Open WebUI 中與模型對話,以及從 n8n 工作流程呼叫該模型。這兩個工具都可以指向遵循 OpenAI 聊天完成格式的伺服器,因此一個帳戶即可涵蓋兩者。
Open WebUI 是一個自託管的聊天介面。n8n 是一個工作流程自動化工具,你可以將節點連接在一起。後方的 API 在兩種情況下都是相同的:
- Base URL:
https://api.nofilteraichat.com/v1 - 模型 ID:
uncensored - 驗證:使用
Authorization: Bearer標頭,並附上你的金鑰
你首先需要一個金鑰。API 金鑰頁面會引導你完成註冊,並提供一鍵取得 $0.50 試用額度,這足以測試以下所有內容。
第一部分:Open WebUI
選項 A:管理員面板
如果 Open WebUI 已在運行,請以管理員身分登入並開啟管理員設定,然後進入連線。新增一個新的 OpenAI API 連線,填入以下值:
- URL:
https://api.nofilteraichat.com/v1 - 金鑰:你的 API 金鑰
- 儲存,然後如果你的版本有驗證按鈕,請使用它。
選單名稱在不同版本間可能略有差異,請尋找列出 OpenAI 風格連線的區段。儲存後,開始新的聊天並開啟模型選單。模型 uncensored 應該會出現,因為 Open WebUI 會從 GET /v1/models 載入列表。
選項 B:Docker 中的環境變數
如果你是全新開始,請在啟動容器時傳遞設定:
docker run -d --name open-webui -p 3000:8080 \
-e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
-e OPENAI_API_KEY="$NOFILTER_API_KEY" \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main開啟 http://localhost:3000,建立第一個本機帳戶,模型就會在選擇器中等待。注意,Open WebUI 會在首次啟動後將連線設定儲存至資料庫。如果你稍後更改變數卻無反應,請改為在管理員面板中編輯連線。
調整聊天設定
你可以在聊天控制項中設定 temperature、top_p、停止序列和系統提示詞。這些參數會傳遞給模型。對於小說和角色扮演,temperature 設為 0.7 到 1.0 可產生更生動的文本。對於事實性問題,請調低。如果模型開始重複短語,請稍微提高頻率懲罰。
第二部分:搭配 OpenAI 節點的 n8n
n8n 擁有原生的 OpenAI 憑證。其設定包含一個基礎 URL 欄位,預設值為官方伺服器。更改它後,該節點就會與你的端點通訊:
- 在 n8n 中,建立一個類型為 OpenAI 的新憑證。
- 貼上你的 API 金鑰。
- 將 Base URL 設為
https://api.nofilteraichat.com/v1。 - 儲存並將憑證附加至 OpenAI Chat Model 節點或 AI Agent 工作流程。
關鍵在於模型欄位。某些節點會從模型列表填充下拉選單,有些則將選項限制為已知名稱。如果你無法選取 uncensored,請將欄位切換為運算式模式並手動輸入 ID。如果你的 n8n 版本仍然拒絕,請使用下一節的 HTTP Request 方法,該方法沒有此限制。
憑證運作正常後,你可以將聊天模型附加至 AI Agent 節點並提供工具。API 支援工具呼叫(tools、tool_choice,以及以 role: "tool" 格式回傳結果)。與任何開放權重模型一樣,請在真實輸入上測試 Agent,並將工具描述保持簡短且字面化。
第三部分:從 HTTP Request 節點聊天
最可預測的選項是純淨的 HTTP Request 節點。它會顯示確切發送的內容,且適用於所有 n8n 版本。將節點設定如下:
- 方法:POST
- URL:
https://api.nofilteraichat.com/v1/chat/completions - 驗證:標頭驗證,名稱
Authorization,值Bearer YOUR_KEY(請將其儲存為憑證,而非放在節點內) - 發送主體:開啟,內容類型 JSON
將主體設定為以下內容,使用者文字請使用運算式:
{
"model": "uncensored",
"messages": [
{ "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
{ "role": "user", "content": "{{ $json.prompt }}" }
],
"temperature": 0.8,
"max_tokens": 600
}回覆文字位於 choices[0].message.content。在下一個節點中,使用運算式 {{ $json.choices[0].message.content }} 讀取它。相同的回應也包含 usage 區塊,因此你可以將 token 計數記錄到試算表或資料庫。
典型的工作流程是 Webhook 觸發器、此 HTTP 節點,以及一個返回文字的回應節點。另一個常見的做法是讀取試算表的資料列,為每一列產生草稿,然後將結果寫回。你也可以先在 n8n 之外使用 curl 測試請求:
curl https://api.nofilteraichat.com/v1/chat/completions \
-H "Authorization: Bearer $NOFILTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'n8n 的限制、重試與批次
完整金鑰允許 8 個並行請求和每分鐘 300 個請求;試用金鑰允許 2 個和 60 個。n8n 很容易超過這些限制,因為節點會處理每個傳入項目,並可能快速觸發它們。
在 HTTP Request 節點中,開啟選項並使用批次處理:設定批次大小為 4 或 6,間隔為 1 秒或 2 秒。在節點設定下,開啟失敗時重試,設定 3 次嘗試和 5000 毫秒的等待時間。這符合 API 的行為:當伺服器短暫過載時,會傳回 HTTP 429 並附上 Retry-After: 5 標頭。其他 429 代碼告訴你觸及了哪個限制:rate_limited 表示每分鐘請求過多,concurrency 表示同時請求過多。
串流輸出值得注意。串流請求會保留其並行槽位直到串流結束。在 n8n 中,請在 HTTP 節點關閉串流,因為工作流程仍會等待完整答案。Open WebUI 預設會串流,這很適合聊天視窗。
工作流程的成本
假設工作流程處理 500 列資料,每列傳送 800 個輸入 token 並取得 250 個輸出 token。輸入:500 × 800 = 400,000 個 token,費用為 400,000 × $0.15 / 1,000,000 = $0.06。輸出:500 × 250 = 125,000 個 token,費用為 125,000 × $0.50 / 1,000,000 = $0.0625。總計費用為 $0.1225,約 12 美分。請參閱定價頁面進行儲值。
故障排除
| 症狀 | 可能原因 | 修復方法 |
|---|---|---|
| Open WebUI 未顯示任何模型 | URL 或金鑰錯誤 | 使用以 /v1 結尾的基礎 URL;使用 curl 測試 GET /v1/models |
| Docker 環境變數變更被忽略 | 設定已儲存 | 在管理員設定中編輯連線 |
| n8n 傳回 401 | 標頭值缺少 Bearer 字樣 | 值必須為 Bearer、一個空格,然後是金鑰 |
| Docker 中的 Open WebUI 無法連接到本機代理 | localhost 指向容器 | 使用主機位址,而非 localhost |
| 迴圈中間出現 429 | 並行項目過多 | 對 HTTP 節點進行批次處理並啟用重試 |
| 找不到模型 | 名稱輸入錯誤 | 唯一的 ID 是 uncensored |
設計流程時請記住產品限制:僅支援文字聊天,提示詞與回覆共用 100,000 token 的上下文視窗,且請求主體為 8 MB。沒有嵌入端點,因此請將任何向量搜尋保留在其他服務上。快速入門提供完整的請求參考,整合指南涵蓋更多前端。透過 API 送出的提示詞不會用於訓練。
嚴格規則適用於所有工具:禁止涉及未成年人的性內容。在合法成人使用範圍內,模型經過調校以不拒絕回答的方式回應,適合成人小說、角色扮演和伴侶應用程式。
