Skip to content

Ollama 模型节点常见问题

以下是Ollama 模型节点的一些常见错误和问题以及解决或排除故障的步骤。

加工参数

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

大多数节点(包括根节点)接受任意数量的项作为输入,处理这些项并输出结果。您可以使用表达式来引用输入项,节点会依次解析每个项的表达式。例如,给定一个包含五个名称值的输入,表达式会依次解析每个名称。

在子节点中,表达式始终解析为第一项。例如,给定五个名称值的输入,表达式始终解析为第一个名称。

无法连接到远程 Ollama 实例

Ollama 模型节点仅设计用于连接本地托管的 Ollama 实例。它不包含连接远程托管的 Ollama 实例所需的身份验证功能。

要使用 Ollama 模型,请按照Ollama 凭据说明在本地设置 Ollama 并在 n8n 中配置实例 URL。

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

Ollama 模型节点使用Ollama credentials定义的基本 URL 连接到本地托管的 Ollama 实例。在 Docker 中运行 n8n 或 Ollama 时,需要配置网络,以便 n8n 可以连接到 Ollama。

Ollama 通常监听本地网络地址 上的连接。在 Docker 中,默认情况下,每个容器都有自己的,并且只能在容器内部访问。如果 n8n 或 Ollama 在容器中运行,则它们将无法通过 进行连接。

解决方案取决于您如何托管这两个组件。

如果只有 Ollama 在 Docker 中

如果 Docker 中只运行 Ollama,则通过绑定到容器内部来配置 Ollama 监听所有接口(官方镜像已经这样配置了)。

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

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

配置Ollama 凭证时,地址应该可以正常工作(将基本 URL设置为)。

如果 Docker 中只有 n8n

如果 Docker 中仅运行 n8n,则通过绑定到主机来配置 Ollama 以监听所有接口。

如果您在Linux上的 Docker 中运行 n8n ,请在启动容器时使用标志进行映射。例如:

1
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 凭据时,请使用作为主机地址,而不是。例如,要绑定到默认端口 11434,可以将基本 URL 设置为。

如果 Ollama 和 n8n 在单独的 Docker 容器中运行

如果 n8n 和 Ollama 都在 Docker 中的单独容器中运行,则可以使用 Docker 网络连接它们。

配置 Ollama 通过绑定到容器内部来监听所有接口(官方镜像已经这样配置了)。

配置Ollama 凭据时,请使用 Ollama 容器的名称作为主机地址,而不是。例如,如果您调用 Ollama 容器并且它监听默认端口 11434,则应将基本 URL 设置为。

如果 Ollama 和 n8n 在同一个 Docker 容器中运行

如果 Ollama 和 n8n 在同一个 Docker 容器中运行,则该地址不需要任何特殊配置。您可以将 Ollama 配置为监听 localhost,并在 n8n 中的 Ollama 凭据中将基本 URL 配置为使用 localhost: 。

错误:连接 ECONNREFUSED ::1:11434

当您的计算机启用了 IPv6,但 Ollama 正在监听 IPv4 地址时,就会发生此错误。

要解决此问题,请将Ollama 凭据中的基本 URL 更改为连接到(特定于 IPv4 的本地地址),而不是可以解析为 IPv4 或 IPv6 的别名: 。

Ollama 和 HTTP/HTTPS 代理

Ollama 的配置不支持自定义 HTTP 代理。这使得在自定义 HTTP/HTTPS 代理后使用 Ollama 变得困难。根据您的代理配置,即使设置了或环境变量,Ollama 也可能完全无法工作。

请参阅Ollama 的常见问题解答以了解更多信息。