跳到主要内容

Ollama Model 节点常见问题

以下列出 Ollama Model 节点的常见错误和问题,以及解决或排查步骤。

参数处理 ​

Ollama Model 是子节点1。使用表达式处理多个数据项时,子节点的行为与其他节点不同。

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

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

无法连接远程 Ollama 实例 ​

Ollama Model 节点支持 Bearer 令牌身份验证,可连接位于身份验证代理(例如 Open WebUI)后的远程 Ollama 实例。

使用经过身份验证的远程连接时,请在 Ollama 凭据中同时配置远程 URL 和 API 密钥。

更多信息请参阅 Ollama 凭据说明。

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

Ollama Model 节点通过 Ollama 凭据中定义的基础 URL 连接本地托管的 Ollama 实例。n8n 或 Ollama 任一组件在 Docker 中运行时,都需要配置网络,使 n8n 能连接到 Ollama。

Ollama 通常在本地网络地址 localhost 上监听连接。Docker 中,每个容器默认都有自己的 localhost,只能从该容器内部访问。n8n 或 Ollama 任一组件在容器中运行时,都无法通过 localhost 相互连接。

解决方法取决于两个组件的托管方式。

仅 Ollama 在 Docker 中运行 ​

如果只有 Ollama 在 Docker 中运行,请在容器内将其绑定到 0.0.0.0,以监听所有网络接口;官方镜像已采用此配置。

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

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

配置 Ollama 凭据时,localhost 地址应可正常使用,将 base URL(基础 URL)设为 http://localhost:11434。

仅 n8n 在 Docker 中运行 ​

如果只有 n8n 在 Docker 中运行,请在宿主机上将 Ollama 绑定到 0.0.0.0,以监听所有网络接口。

如果在 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 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 配置为监听 localhost,并在 n8n 的 Ollama 凭据中将基础 URL 配置为 localhost:http://localhost:11434。

错误:connect ECONNREFUSED ::1:11434 ​

计算机启用了 IPv6,而 Ollama 监听 IPv4 地址时,会出现此错误。

解决方法是在 Ollama 凭据中修改基础 URL,连接 IPv4 专用本地地址 127.0.0.1,替代可能解析为 IPv4 或 IPv6 的 localhost 别名:http://127.0.0.1:11434。

Ollama 与 HTTP/HTTPS 代理 ​

Ollama 的配置不支持自定义 HTTP agent,因此难以通过自定义 HTTP/HTTPS 代理使用。根据代理配置的不同,即使设置了 HTTP_PROXY 或 HTTPS_PROXY 环境变量,也可能完全无法工作。

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

Footnotes​

  1. n8n 集群节点由连接到根节点的一个或多个子节点组成。子节点通过访问特定服务或资源,或提供特定类型的专用处理(例如计算器功能),扩展根节点的功能。 ↩

  2. 每个 n8n 集群节点都包含一个根节点,用于定义集群的主要功能。一个或多个子节点连接到根节点,以扩展其功能。 ↩

本文为社区中文翻译。查看对应英文原文