全球各地的公司越来越重视在利用 AI 能力的同时保护敏感信息。本文将介绍一种使用强大的开源工具组合来构建安全、本地 AI 应用的完整解决方案。
我们将使用 自托管 AI 入门工具包(Self-hosted AI Starter Kit) 来快速搭建本地 AI 环境。该工具包将自动运行 Ollama、Qdrant、n8n 和 Postgres。此外,我们还将通过 n8n 控制台学习如何使用《哈利·波特》数据集构建一个用于 RAG(检索增强生成)的聊天机器人工作流。
无论您是开发者、数据科学家,还是希望落地安全 AI 方案的非技术从业者,本教程都将为您提供创建强大的自托管 AI 工作流的基础,同时让您对敏感数据保持完全控制。
什么是本地 AI?
本地 AI 使您能够在自有基础设施上而非云服务上运行人工智能系统与工作流,从而提升隐私保护并降低成本。
如果您刚接触 AI 生态,建议先学习我们的技能路径 AI 基础 以快速入门。完成这一系列课程后,您将掌握诸如 ChatGPT、大语言模型、生成式 AI 等热门主题的可操作知识。
图片由作者提供
以下是我们用于构建并运行本地 AI 应用的工具清单:
Docker :容器化平台,用于将所有 AI 组件封装到可管理、相互隔离的环境中。它将帮助我们通过一条命令运行所有 AI 工具。
n8n :一款工作流自动化框架,允许您通过拖放界面构建 AI 工作流。无需编程知识,适合非技术人员。
Postgres :用于存储所有数据与日志,充当 n8n 框架的记忆缓冲区。
Qdrant :向量数据库与搜索引擎,使 AI 生成内容可检索、可管理。
Ollama :AI 模型管理器,使您能在本地以较低硬件要求运行任意开源大语言模型。
n8n 是我们为 RAG 聊天机器人构建 AI 工作流的主框架。我们将使用 Qdrant 作为向量存储,Ollama 作为 AI 模型提供方。这些组件将共同帮助我们创建 RAG 系统。
安装 Docker
我们将前往 Docker 官方网站下载并安装 Docker 桌面应用。安装和上手都相当简单。
想进一步了解 Docker,可参阅 面向数据科学的 Docker 教程,或参加我们的 Docker 入门课程 。
来源: Docker:加速容器化应用开发
Windows 用户需要额外的工具才能成功运行 Docker 容器:Windows Subsystem for Linux(WSL)。它使开发者能够在 Windows 上直接安装 Linux 发行版并使用 Linux 应用。
要在 Windows 上安装 WSL,请在终端或 PowerShell 中输入以下命令。务必以管理员身份启动 PowerShell。
$ wsl --install 技术支持
成功安装 WSL 后,重启系统。然后在 PowerShell 中输入以下命令,检查 Docker 是否正常工作。
$ docker run hello-world技术支持
Docker 已成功拉取 hello-world 镜像并启动容器。
使用 Docker Compose 安装并运行本地 AI 应用
本指南将介绍如何使用 Docker Compose 在本地搭建 AI 服务。该方法可在数分钟内加载 Docker 镜像并部署容器,为您在自有基础设施上运行与管理多个 AI 服务提供简单途径。
首先,我们将在终端中输入以下命令克隆 n8n-io/self-hosted-ai-starter-kit 。
$ git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
$ cd self-hosted-ai-starter-kit技术支持
该入门工具包是搭建构建 AI 工作流所需服务器与应用的最简方式。随后,我们将加载 Docker 镜像并运行容器。
$ docker compose --profile cpu up技术支持
如果您拥有 NVIDIA GPU,可尝试输入下方命令以加速响应生成。同时,请按照 Ollama Docker 指南为 Docker 配置 NVIDIA GPU。
$ docker compose --profile gpu-nvidia up技术支持
这将耗时数分钟下载所有 Docker 镜像,并依次运行各个 Docker 容器。
所有 Docker 服务均已运行。状态为退出的容器用于下载 Llama 3.2 模型并导入 n8n 备份工作流。
我们也可以在终端输入以下命令查看正在运行的 Docker 容器状态。
$ docker compose ps 技术支持
入门工具包包含了下载 Llama 3.2 模型的脚本。不过,对于完整的 RAG 聊天机器人应用,我们还需要嵌入模型。我们将进入 Ollama 的 Docker 容器,点击“Exec”选项卡,并输入以下命令下载“nomic-embed-text”模型。
$ ollama pull nomic-embed-text技术支持
可以看到,我们能够像操作一台独立虚拟机那样与 Docker 容器交互。
在浏览器中打开 n8n 控制台 URL http://localhost:5678/,使用邮箱和密码创建 n8n 用户账号。然后在主控制台页面点击主页按钮,进入 Demo 工作流。
该演示是一个简单的 LLM 工作流,接收用户输入并生成回复。
要运行该工作流,点击 Chat 按钮并开始输入您的问题。几秒内即可生成响应。
请注意,我们使用的是带有 GPU 加速的小型语言模型,因此响应通常仅需约 2 秒。
在 n8n 控制台创建 AI 工作流
本项目将构建一个 RAG(检索增强生成) 聊天机器人,使用《哈利·波特》电影数据提供具备上下文且准确的回答。该项目是无代码方案,您只需搜索所需的工作流组件并将其连接,即可创建 AI 工作流。
n8n 是类似 Langchain 的无代码平台。可参考 使用 Llama 3.1 8B、Ollama 和 Langchain 构建 RAG 教程,了解如何用 Langchain 创建类似的 AI 工作流。
1. 添加聊天触发器
点击控制台中央的“Add the first step”按钮,搜索“Chat Trigger”,并添加。
请确保已启用“Allow File Uploads”。
2. 添加 Qdrant 向量存储
在“Chat Trigger”组件上点击加号(+)按钮并搜索“Qdrant Vector Store”,添加该组件。
将操作模式改为“Insert Documents”,将 Qdrant 集合改为“By ID”,并输入 ID“Harry_Potter”。
退出该选项后,您会看到聊天触发器已与我们的向量存储连接。
3. 将嵌入模型连接到向量存储
点击 Qdrant 向量存储下方标注为“Embedding”的加号按钮。进入模型管理菜单后,选择 Embeddings Ollama,并将模型更改为“nomic-embed-text:latest”。
4. 将文档加载器连接到向量存储
点击 Qdrant 向量存储下方标注为“Document”的加号按钮,从菜单中选择“Default Data Loader”。将数据类型更改为“Binary”。
随后,为文档加载器添加一个令牌分割器(token splitter),块大小为 500,块重叠为 50。
最终我们的工作流应如下所示。该工作流会从用户处接收 CSV 文件,将其转换为文本,然后将文本转为嵌入并存储到向量存储中。
5. 测试 Qdrant 向量存储
点击控制台底部的 Chat 按钮。聊天窗口打开后,点击如下所示的文件按钮。
在该工作流中,我们将加载 《哈利·波特》电影 数据集中的所有 CSV 文件。不过,为了测试工作流,我们仅基于用户查询加载名为“spell”的单个 CSV 文件。
您可以通过 URL http://localhost:6333/dashboard 访问 Qdrant 服务器,检查文件是否已加载到向量存储中。
现在,将其余文件一并添加到向量存储中。
6. 添加 AI 代理
我们将把聊天触发器连接到向量存储,再将其连接到 AI 代理,并将代理类型修改为“Conversation Agent”。
7. 将聊天模型连接到 AI 代理
点击 AI 代理下方的“Chat Model”按钮,并在菜单中选择 Ollama Chat 模型。随后将模型名称更改为“Llama3.2:latest”。
8. 将向量存储工具连接到 AI 代理
点击 AI 代理下方的“Tool”按钮,并在菜单中选择向量存储工具。填写工具名称和描述。
9. 将 Qdrant 检索器连接到向量存储工具
我们需要为向量存储工具添加组件。首先将 Qdrant 作为向量存储,并将集合 ID 设为“Harry_Potter”。该向量存储将在相似度搜索时访问哈利·波特集合。此外,将操作模式改为“Retrieved Documents”。
10. 将聊天模型连接到向量存储工具
向量存储工具同样需要 LLM 模型。我们将连接 Ollama 聊天模型,并将模型改为“llama3.2:latest”。
11. 将嵌入模型连接到 Qdrant 检索器
最后一步,我们将为检索用的向量存储提供嵌入模型。这样它就能将用户查询转换为嵌入,再将嵌入转换回文本供 LLM 处理。
请确保为您的向量存储提供正确的嵌入模型。
AI 工作流应呈现如下所示。
12. 测试 AI 工作流
点击聊天按钮,开始就哈利·波特的世界提问。
提示词: “霍格沃茨最隐秘的地方是什么?”
提示词: “最强大的魔咒是什么?”
我们的 AI 工作流响应快速且运行顺畅。该无代码方法非常易于实施。n8n 还允许用户共享其应用,任何人都能像使用 ChatGPT 一样通过链接访问。
结语
n8n 是开展 LLM/AI 项目的理想工具,尤其适合非技术人员。有时我们甚至无需从零开始创建工作流。我们只需在 n8n 官网 上搜索类似项目,复制 JSON 代码并粘贴到我们的 n8n 控制台即可。就这么简单。
来源: 探索来自 n8n 社区的 900+ 自动化工作流
在本教程中,我们了解了本地 AI,以及如何使用自托管 AI 入门工具包来构建并部署多种 AI 服务。随后我们启动 n8n 控制台,并使用 Qdrant、嵌入模型、向量存储工具、LLM 和文档加载器创建了自己的 AI 工作流。借助 n8n,创建与执行工作流十分容易。若您刚接触 AI 工具并希望了解无代码 AI 方案,欢迎查阅以下资源:
全球各地的公司越来越重视在利用 AI 能力的同时保护敏感信息。本文将介绍一种使用强大的开源工具组合来构建安全、本地 AI 应用的完整解决方案。
我们将使用自托管 AI 入门工具包(Self-hosted AI Starter Kit)来快速搭建本地 AI 环境。该工具包将自动运行 Ollama、Qdrant、n8n 和 Postgres。此外,我们还将通过 n8n 控制台学习如何使用《哈利·波特》数据集构建一个用于 RAG(检索增强生成)的聊天机器人工作流。
无论您是开发者、数据科学家,还是希望落地安全 AI 方案的非技术从业者,本教程都将为您提供创建强大的自托管 AI 工作流的基础,同时让您对敏感数据保持完全控制。
什么是本地 AI?
本地 AI 使您能够在自有基础设施上而非云服务上运行人工智能系统与工作流,从而提升隐私保护并降低成本。
如果您刚接触 AI 生态,建议先学习我们的技能路径AI 基础以快速入门。完成这一系列课程后,您将掌握诸如 ChatGPT、大语言模型、生成式 AI 等热门主题的可操作知识。
图片由作者提供
以下是我们用于构建并运行本地 AI 应用的工具清单:
n8n 是我们为 RAG 聊天机器人构建 AI 工作流的主框架。我们将使用 Qdrant 作为向量存储,Ollama 作为 AI 模型提供方。这些组件将共同帮助我们创建 RAG 系统。
安装 Docker
我们将前往 Docker 官方网站下载并安装Docker 桌面应用。安装和上手都相当简单。
想进一步了解 Docker,可参阅面向数据科学的 Docker教程,或参加我们的Docker 入门课程。
来源:Docker:加速容器化应用开发
Windows 用户需要额外的工具才能成功运行 Docker 容器:Windows Subsystem for Linux(WSL)。它使开发者能够在 Windows 上直接安装 Linux 发行版并使用 Linux 应用。
要在 Windows 上安装 WSL,请在终端或 PowerShell 中输入以下命令。务必以管理员身份启动 PowerShell。
成功安装 WSL 后,重启系统。然后在 PowerShell 中输入以下命令,检查 Docker 是否正常工作。
Docker 已成功拉取 hello-world 镜像并启动容器。
使用 Docker Compose 安装并运行本地 AI 应用
本指南将介绍如何使用 Docker Compose 在本地搭建 AI 服务。该方法可在数分钟内加载 Docker 镜像并部署容器,为您在自有基础设施上运行与管理多个 AI 服务提供简单途径。
首先,我们将在终端中输入以下命令克隆n8n-io/self-hosted-ai-starter-kit。
该入门工具包是搭建构建 AI 工作流所需服务器与应用的最简方式。随后,我们将加载 Docker 镜像并运行容器。
如果您拥有 NVIDIA GPU,可尝试输入下方命令以加速响应生成。同时,请按照Ollama Docker指南为 Docker 配置 NVIDIA GPU。
这将耗时数分钟下载所有 Docker 镜像,并依次运行各个 Docker 容器。
所有 Docker 服务均已运行。状态为退出的容器用于下载 Llama 3.2 模型并导入 n8n 备份工作流。
我们也可以在终端输入以下命令查看正在运行的 Docker 容器状态。
入门工具包包含了下载 Llama 3.2 模型的脚本。不过,对于完整的 RAG 聊天机器人应用,我们还需要嵌入模型。我们将进入 Ollama 的 Docker 容器,点击“Exec”选项卡,并输入以下命令下载“nomic-embed-text”模型。
可以看到,我们能够像操作一台独立虚拟机那样与 Docker 容器交互。
在浏览器中打开 n8n 控制台 URL http://localhost:5678/,使用邮箱和密码创建 n8n 用户账号。然后在主控制台页面点击主页按钮,进入 Demo 工作流。
该演示是一个简单的 LLM 工作流,接收用户输入并生成回复。
要运行该工作流,点击 Chat 按钮并开始输入您的问题。几秒内即可生成响应。
请注意,我们使用的是带有 GPU 加速的小型语言模型,因此响应通常仅需约 2 秒。
在 n8n 控制台创建 AI 工作流
本项目将构建一个RAG(检索增强生成)聊天机器人,使用《哈利·波特》电影数据提供具备上下文且准确的回答。该项目是无代码方案,您只需搜索所需的工作流组件并将其连接,即可创建 AI 工作流。
n8n 是类似 Langchain 的无代码平台。可参考使用 Llama 3.1 8B、Ollama 和 Langchain 构建 RAG教程,了解如何用 Langchain 创建类似的 AI 工作流。
1. 添加聊天触发器
点击控制台中央的“Add the first step”按钮,搜索“Chat Trigger”,并添加。
请确保已启用“Allow File Uploads”。
2. 添加 Qdrant 向量存储
在“Chat Trigger”组件上点击加号(+)按钮并搜索“Qdrant Vector Store”,添加该组件。
将操作模式改为“Insert Documents”,将 Qdrant 集合改为“By ID”,并输入 ID“Harry_Potter”。
退出该选项后,您会看到聊天触发器已与我们的向量存储连接。
3. 将嵌入模型连接到向量存储
点击 Qdrant 向量存储下方标注为“Embedding”的加号按钮。进入模型管理菜单后,选择 Embeddings Ollama,并将模型更改为“nomic-embed-text:latest”。
4. 将文档加载器连接到向量存储
点击 Qdrant 向量存储下方标注为“Document”的加号按钮,从菜单中选择“Default Data Loader”。将数据类型更改为“Binary”。
随后,为文档加载器添加一个令牌分割器(token splitter),块大小为 500,块重叠为 50。
最终我们的工作流应如下所示。该工作流会从用户处接收 CSV 文件,将其转换为文本,然后将文本转为嵌入并存储到向量存储中。
5. 测试 Qdrant 向量存储
点击控制台底部的 Chat 按钮。聊天窗口打开后,点击如下所示的文件按钮。
在该工作流中,我们将加载《哈利·波特》电影数据集中的所有 CSV 文件。不过,为了测试工作流,我们仅基于用户查询加载名为“spell”的单个 CSV 文件。
您可以通过 URL http://localhost:6333/dashboard 访问 Qdrant 服务器,检查文件是否已加载到向量存储中。
现在,将其余文件一并添加到向量存储中。
6. 添加 AI 代理
我们将把聊天触发器连接到向量存储,再将其连接到 AI 代理,并将代理类型修改为“Conversation Agent”。
7. 将聊天模型连接到 AI 代理
点击 AI 代理下方的“Chat Model”按钮,并在菜单中选择 Ollama Chat 模型。随后将模型名称更改为“Llama3.2:latest”。
8. 将向量存储工具连接到 AI 代理
点击 AI 代理下方的“Tool”按钮,并在菜单中选择向量存储工具。填写工具名称和描述。
9. 将 Qdrant 检索器连接到向量存储工具
我们需要为向量存储工具添加组件。首先将 Qdrant 作为向量存储,并将集合 ID 设为“Harry_Potter”。该向量存储将在相似度搜索时访问哈利·波特集合。此外,将操作模式改为“Retrieved Documents”。
10. 将聊天模型连接到向量存储工具
向量存储工具同样需要 LLM 模型。我们将连接 Ollama 聊天模型,并将模型改为“llama3.2:latest”。
11. 将嵌入模型连接到 Qdrant 检索器
最后一步,我们将为检索用的向量存储提供嵌入模型。这样它就能将用户查询转换为嵌入,再将嵌入转换回文本供 LLM 处理。
请确保为您的向量存储提供正确的嵌入模型。
AI 工作流应呈现如下所示。
12. 测试 AI 工作流
点击聊天按钮,开始就哈利·波特的世界提问。
提示词:“霍格沃茨最隐秘的地方是什么?”
提示词:“最强大的魔咒是什么?”
我们的 AI 工作流响应快速且运行顺畅。该无代码方法非常易于实施。n8n 还允许用户共享其应用,任何人都能像使用 ChatGPT 一样通过链接访问。
结语
n8n 是开展 LLM/AI 项目的理想工具,尤其适合非技术人员。有时我们甚至无需从零开始创建工作流。我们只需在n8n 官网上搜索类似项目,复制 JSON 代码并粘贴到我们的 n8n 控制台即可。就这么简单。
来源:探索来自 n8n 社区的 900+ 自动化工作流
在本教程中,我们了解了本地 AI,以及如何使用自托管 AI 入门工具包来构建并部署多种 AI 服务。随后我们启动 n8n 控制台,并使用 Qdrant、嵌入模型、向量存储工具、LLM 和文档加载器创建了自己的 AI 工作流。借助 n8n,创建与执行工作流十分容易。若您刚接触 AI 工具并希望了解无代码 AI 方案,欢迎查阅以下资源: