中文 ▾
获取 API 密钥

Open WebUI 和 n8n:将聊天连接到无审查 API

Open WebUI 提供聊天窗口,n8n 提供自动化,两者都可以使用同一个兼容 OpenAI 的接口。以下是如何配置每个工具,以及如何从 n8n 工作流中聊天。

更新于

聊天窗口和工作流面板通过电缆连接到一个 API 服务器,显示 Open WebUI 和 n8n 共享一个接口

要点

  1. 在 Open WebUI 中,在管理设置、连接中添加基础 URL 和密钥,或在 Docker 中设置两个环境变量。
  2. 在 n8n 中,要么在 OpenAI 凭据中覆盖基础 URL,要么使用 HTTP 请求节点。
  3. 在两个工具中使用模型 ID uncensored。
  4. 将 n8n 循环保持在 8 个并发请求以下,并为 429 响应开启重试。

你正在设置的内容

如果你是输入 openwebui how to chat n8n 到达此处的,你可能正在尝试做两件相关的事情:在 Open WebUI 中与模型对话,并从 n8n 工作流中调用同一模型。两个工具都可以指向遵循 OpenAI 聊天补全格式的任何服务器,因此一个账户即可覆盖两者。

Open WebUI 是一个自托管的聊天界面。n8n 是一个工作流自动化工具,你可以将节点连接在一起。它们背后的 API 在每种情况下都是相同的:

  • 基础 URL:https://api.nofilteraichat.com/v1
  • 模型 ID:uncensored
  • 认证:携带密钥的 Authorization: Bearer 请求头

你需要先获取密钥。API 密钥页面 介绍了注册和一键获取 $0.50 试用额度的过程,这足以测试以下所有内容。

第一部分:Open WebUI

选项 A:管理面板

如果 Open WebUI 已在运行,请以管理员身份登录并打开「管理员设置」,然后进入「连接」。使用以下值添加一个新的 OpenAI API 连接:

  1. URL:https://api.nofilteraichat.com/v1
  2. 密钥:你的 API 密钥
  3. 保存,如果你的版本有验证按钮,请使用它。

菜单名称在不同版本之间略有变化,因此请寻找列出 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、停止序列和系统提示词。这些将传递给模型。对于小说和角色扮演,0.7 到 1.0 之间的 temperature 会产生更生动的文本。对于事实性问题,请降低数值。如果模型开始重复短语,请稍微提高频率惩罚。

第二部分:使用 OpenAI 节点的 n8n

n8n 有一个原生的 OpenAI 凭据。其配置包括一个基础 URL 字段,默认指向官方服务器。更改它,节点将连接到您的接口:

  1. 在 n8n 中,创建一个新的 OpenAI 类型凭据。
  2. 粘贴你的 API 密钥。
  3. 将基础 URL 设置为 https://api.nofilteraichat.com/v1。
  4. 保存并将凭据附加到 OpenAI Chat Model 节点或 AI Agent 工作流。

难点在于模型字段。一些节点显示从模型列表填充的下拉菜单,一些将选择限制为已知名称。如果您无法选择 uncensored,将字段切换到表达式模式并手动输入 ID。如果您的 n8n 版本仍然拒绝该 ID,请使用下一部分中的 HTTP 请求方法,该方法没有此类限制。

凭证生效后,你可以将聊天模型连接到 AI Agent 节点并赋予工具。API 支持函数调用(tools、tool_choice,以及返回结果为 role: "tool")。与任何开放权重模型一样,请在真实输入下测试 Agent,并保持工具描述简短且字面化。

第三部分:从 HTTP 请求节点聊天

最可预测的选项是普通的 HTTP 请求节点。它显示发送的确切内容,并且适用于所有 n8n 版本。按如下方式配置节点:

  • 方法:POST
  • URL:https://api.nofilteraichat.com/v1/chat/completions
  • 认证:Header 认证,名称为 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 节点中,打开 Options 并使用 Batching:设置批量大小为 4 或 6,间隔时间为 1 到 2 秒。在节点设置中,开启 Retry On Fail,重试 3 次,等待 5000 毫秒。这与 API 行为匹配:当 API 短暂过载时,会返回带有 Retry-After: 5 头的 HTTP 429 状态码。其他 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 发送的提示词不会用于训练。

该硬性规则适用于所有工具:禁止涉及未成年人的性内容。在合法的成人用途范围内,该模型经过调整,可在无内容审查的情况下回答,适合成人小说、角色扮演和伴侣应用。

问答

如何向 Open WebUI 添加自定义 OpenAI 接口?

前往管理设置、连接,添加带有基础 URL 和密钥的 OpenAI API 连接。或者在启动 Docker 容器时设置 OPENAI_API_BASE_URL 和 OPENAI_API_KEY。

n8n 能否为 OpenAI 节点使用不同的基础 URL?

可以。OpenAI 凭据有一个 Base URL 字段。如果模型下拉菜单不接受 uncensored,请以表达式模式输入,或使用 HTTP 请求节点。

为什么我的 n8n 循环返回 429 错误?

你正在发送超过 8 个并行请求,或者在完整密钥上每分钟发送超过 300 个请求。在 HTTP 节点中添加批处理并启用失败重试。

我能否同时在 Open WebUI 和 n8n 中使用同一个密钥?

是的,但这两个工具共享 8 个并发请求的限制,因此在聊天时请保持工作流批处理数量较少。

只需填写一个表单即可获得密钥

创建账户,复制密钥,更改基础 URL。这就是全部设置。

获取 API 密钥