Skip to content

Ollama Chat Model 节点常见问题#

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

处理参数#

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

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

在子节点中,表达式总是解析为第一个项目。例如,给定五个名称值的输入,表达式{{ $json.name }}总是解析为第一个名称。

无法连接到远程 Ollama 实例#

Ollama Chat Model节点支持Bearer token身份验证,用于连接到经过身份验证的代理(如Open WebUI)后面的远程Ollama实例。

对于远程身份验证连接,请在您的Ollama凭据中配置远程URL和API密钥。

请按照Ollama凭据说明获取更多信息。

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

Ollama Chat Model节点使用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命令应该如下所示:

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

配置Ollama凭据时,localhost地址应该可以正常工作(将base URL设置为http://localhost:11434)。

如果只有 n8n 在 Docker 中#

如果只有n8n在Docker中运行,请通过在主机上绑定到0.0.0.0来配置Ollama监听所有接口。

如果您在Linux上的Docker中运行n8n,请在启动容器时使用--add-host标志将host.docker.internal映射到host-gateway。例如:

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凭据时,使用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监听localhost,并在n8n中的Ollama凭据中配置基础URL以使用localhost:http://localhost:11434

错误:connect ECONNREFUSED ::1:11434#

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

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

Ollama 和 HTTP/HTTPS 代理#

Ollama在其配置中不支持自定义HTTP代理。这使得在自定义HTTP/HTTPS代理后面使用Ollama变得困难。根据您的代理配置,尽管设置了HTTP_PROXYHTTPS_PROXY环境变量,它可能根本无法工作。

请参考Ollama的FAQ获取更多信息。