跳到主要内容

Ollama 聊天模型节点常见问题#

以下是 Ollama 聊天模型节点 的常见错误与问题及其解决方法或排查步骤。

参数处理机制#

Ollama 聊天模型节点属于 子节点。在使用表达式处理多项数据时,子节点的行为模式与其他节点不同。

包括 根节点 在内的大多数节点可接收任意数量的输入项,处理这些项目后输出结果。您可以使用表达式引用输入项,节点会依次为每个项解析表达式。例如,当输入包含五个姓名值时,表达式 {{ $json.name }} 会依次解析每个姓名。

在子节点中,表达式始终解析第一项。例如,当输入包含五个姓名值时,表达式 {{ $json.name }} 始终只解析第一个姓名。

无法连接远程 Ollama 实例#

Ollama 聊天模型节点支持持有者令牌认证,可用于连接受认证代理(如 Open WebUI)保护的远程 Ollama 实例。

如需建立远程认证连接,请在 Ollama 凭据中同时配置远程 URL 和 API 密钥。

更多操作说明请参阅 Ollama 凭据配置指南

Docker 环境下无法连接本地 Ollama 实例#

Ollama 聊天模型节点通过 Ollama 凭据 中定义的基础 URL 连接本地托管的 Ollama 实例。当 n8n 或 Ollama 运行在 Docker 中时,需配置网络使 n8n 能够连接 Ollama。

Ollama 默认监听 localhost 本地网络地址。在 Docker 环境中,每个容器默认拥有独立的仅容器内可访问的 localhost。如果 n8n 或 Ollama 运行在容器中,它们将无法通过 localhost 相互连接。

解决方案取决于两个组件的部署方式。

仅 Ollama 运行于 Docker 的情况#

若仅 Ollama 运行在 Docker 中,需通过绑定容器内的 0.0.0.0 来配置 Ollama 监听所有网络接口(官方镜像已按此配置)。

运行容器时,使用 -p 参数 发布端口。Ollama 默认运行在 11434 端口,因此 Docker 命令应如下所示:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

配置 Ollama 凭据 时,localhost 地址应当能正常工作(将 基础 URL 设置为 http://localhost:11434)。

仅 n8n 运行于 Docker 的情况#

若仅 n8n 运行在 Docker 中,需通过绑定主机的 0.0.0.0 来配置 Ollama 监听所有网络接口。

若您在 Linux 系统的 Docker 中运行 n8n,启动容器时需使用 --add-host 参数将 host.docker.internal 映射至 host-gateway。例如:

docker run -it --rm --add-host host.docker.internal:host-gateway --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

若您使用 Docker Desktop,系统会自动完成相关配置。

在配置 Ollama 凭据 时,请使用 host.docker.internal 作为主机地址来替代 localhost。例如,要绑定默认端口 11434,可将基础 URL 设置为 http://host.docker.internal:11434

若 Ollama 与 n8n 运行于独立 Docker 容器#

当 n8n 与 Ollama 分别运行在不同 Docker 容器时,可通过 Docker 网络实现互联。

通过将容器内绑定地址设为 0.0.0.0 来配置 Ollama 监听所有接口(官方镜像已默认按此配置)。

在配置 Ollama 凭据 时,请使用 Ollama 容器名称作为主机地址来替代 localhost。例如,若将 Ollama 容器命名为 my-ollama 且其监听默认端口 11434,则应将基础 URL 设置为 http://my-ollama:11434

若 Ollama 与 n8n 运行于同一 Docker 容器#

当 Ollama 与 n8n 运行在同一 Docker 容器时,localhost 地址无需特殊配置。您可将 Ollama 配置为监听本地地址,并在 n8n 的 Ollama 凭据 中将基础 URL 设置为:http://localhost:11434

错误:connect ECONNREFUSED ::1:11434#

此错误在计算机启用 IPv6 但 Ollama 仅监听 IPv4 地址时出现。

解决方案是将 Ollama 凭据 中的基础 URL 从可能解析为 IPv4/IPv6 的 localhost 别名改为专用于 IPv4 的本地地址 127.0.0.1http://127.0.0.1:11434

Ollama 与 HTTP/HTTPS 代理#

Ollama 在其配置中不支持自定义 HTTP 代理。这导致在自定义 HTTP/HTTPS 代理后方使用 Ollama 存在困难。即使设置了 HTTP_PROXYHTTPS_PROXY 环境变量,根据代理配置情况仍可能无法正常工作。

更多信息请参阅 Ollama 常见问题解答