自主託管 n8n 上的 AI 助手:早期設置說明

嘿社群!:waving_hand:

除了在 n8n Cloud 上推出 AI 助手,我們也分享在自我託管 n8n 上執行 AI 助手的早期說明。

開始前的提醒。

這是一個測試版預覽,仍在開發中。我們已經在內部執行過,確實有效,但設定需要手動操作,涉及許多細節。我們正在積極簡化設定過程。我們知道你們中許多人想盡快上手,所以與其讓你們等待,不如告訴你們今天如何設定。

你需要什麼

  • n8n 版本 2.29.7 或更新版本
  • 來自 LLM 提供商(Anthropic、OpenAI 或 OpenRouter)的 API 金鑰。
    你使用自己的金鑰,所以 LLM 使用費由你的提供商計費。
  • 搜尋提供商(Brave Search 或 SearXNG),如果你想要助手能搜尋網路。可選,但強烈推薦。
  • 沙箱提供商。
    AI 助手在隔離的沙箱中執行工作,所以這是必需的。我們推薦 Daytona,因為這是我們在 n8n cloud 上使用的,你只需要一個帳戶和 API 金鑰。如果你想把所有東西都保留在自己的基礎設施上,也有自我託管 n8n 沙箱服務的選項,但設定會更複雜。

:light_bulb: 如果「沙箱」對你來說是個新概念:它是一個隔離、可棄置的環境(本質上是一個受限制的容器),AI 助手在其中執行程式碼並建構工作流程,與你的 n8n 實例和資料完全分開。這可以保護你的實例免受 AI 生成程式碼可能造成的任何影響,這就是為什麼 AI 助手無法在沒有沙箱的情況下執行。

設定透過 n8n 實例上的環境變數進行。完整的逐步說明,包括 Docker Compose 範例,在文件中:

:backhand_index_pointing_right: 在自我託管 n8n 上設定 AI 助手(預覽)

發佈問題的地點

  • 關於自我託管設定的問題或回饋:在此執行緒中發佈。
    我們會監看它,它將直接影響我們如何簡化設定。
  • 關於 AI 助手本身的問題(它能做什麼、它如何建構工作流程、對結果的回饋):前往主公告執行緒,以便一切保持在一個地方。

祝你自動化愉快!

12 個讚

嗨,我知道自從這項公告發布才12小時,但似乎支援的提供者比文件中提及的3個還要多。(我自己使用Nvidia NIM)。我必須挖掘錯誤和日誌才能找到這一點。如果我們能在docker compose中啟用AI助手就太好了,但其他所有功能(沙盒提供者、llm提供者、搜尋提供者)都能透過UI配置。這樣就不需要不斷更新文件或盡快通知使用者。

仍在測試執行AI助手,它對我來說經常出錯,不過我設法建立了一個工作流程。不確定這些錯誤是由於使用的llm提供者還是n8n本身引起的。稍後會進一步回報。

1 個讚

這看起來真的很有希望,謝謝!

我認為我可能在自訂 OpenAI 相容的端點上發現了一個問題,除非我遺漏了某個設定步驟。

我的設定:

  • N8N_INSTANCE_AI_MODEL_URL=https://my-endpoint/v1
  • N8N_INSTANCE_AI_MODEL_API_KEY=...

最初我嘗試:

N8N_INSTANCE_AI_MODEL=glm-5.2

但得到:

所以我改為:

N8N_INSTANCE_AI_MODEL=openai/glm-5.2

但得到:

當 AI 助手發出請求時,它似乎沒有使用 N8N_INSTANCE_AI_MODEL_URL。相反,它將請求發送到 openai,日誌顯示:

url: 'https://api.openai.com/v1/responses'
model: 'glm-5.2'

根據文件,我預期 N8N_INSTANCE_AI_MODEL_URL 會覆蓋 OpenAI 相容 API 的端點,但看起來請求仍在被發送到預設的 OpenAI 端點。

這是目前預覽版本中的已知限制/錯誤,還是需要另一個設定步驟來使自訂 OpenAI 相容端點正常運作?

2 個讚

嗨,你能解决这个问题吗?我在 DeepSeek 上遇到了同样的情况。

我們正在處理這個問題,應該很快就能為您提供修復程序——可能明天就會有

1 個讚

嘿大家,自訂 N8N_INSTANCE_AI_MODEL_URL 的修正已在 2.31.0 版本推出。

4 個讚

AI 助理是否支援 AWS Bedrock 作為 LLM 提供者?如果支援,需要哪些環境變數?你能分享一下嗎?我在文件中找不到。

另外,我用 OpenRouter 就能正常運作。

嗨,我正在學習 n8n,發現了一些可能是 bug 的東西,或者也許是我操作不當。我想分享一下,以防有幫助。

我注意到的問題:當我配置一個帶有 openai/ 前綴的模型來使用我自己的 API(例如:DeepSeek)時,AI Assistant 停止回應。經過一番摸索,我發現 n8n 在請求中發送了 reasoningEffort: ‘high’。我用 curl 直接測試 DeepSeek 和 Mistral:沒有這個參數的話,它們回應完美。加上這個參數就會失敗。

我理解這是因為代碼檢測到 openai/ 前綴,然後自動應用推理功能,但沒有區分我是指向 OpenAI 還是通過自訂端點指向其他提供商。

我的疑問是:有什麼方法可以停用我沒看到的這個行為嗎?如果不存在,是否有意義公開一個像 N8N_INSTANCE_AI_THINKING_ENABLED 這樣的變數,讓用戶可以自己選擇?

目前我通過 OpenRouter 解決了這個問題,效果不錯。但我想能夠直接使用我自己的 API 金鑰。

另外讓我注意到的是 token 消耗量,可能是因為這個 thinking 配置?

有關於 AWS Bedrock 作為 LLM 提供者的資訊嗎?

我看到上面的圖片似乎表明它受到支援?

我們會看到對 e2b 或 modal 作為沙箱提供者的支援嗎?Lambda 微型虛擬機?