跳到主要内容

Ollama 模型节点常见问题#

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

处理参数#

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

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

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

无法连接远程 Ollama 实例#

Ollama 模型节点支持通过持有者令牌认证连接位于认证代理(如 Open WebUI)后端的远程 Ollama 实例。

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

更多信息请参阅 Ollama 凭据配置指南

使用 Docker 时无法连接本地 Ollama 实例#

Ollama 模型节点通过 Ollama 凭据 中定义的基础 URL 连接本地托管的 Ollama 实例。当您在 Docker 中运行 n8n 或 Ollama 时,需要配置网络使 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 网络实现互联。

在容器内部将 Ollama 配置为绑定 0.0.0.0 以监听所有网络接口(官方镜像已默认按此配置)。

配置 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 专用本地地址:http://127.0.0.1:11434

Ollama 与 HTTP/HTTPS 代理#

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

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