全球各地的企业都在积极探索如何在利用人工智能的同时保护敏感信息。本指南旨在为那些希望构建安全的本地人工智能应用程序的公司提供全面的解决方案。
我们将借助自托管人工智能入门套件来快速设置本地人工智能环境。该套件将自动运行Ollama、Qdrant、n8n和Postgres等工具。我们将学习如何通过n8n仪表板,使用哈利波特数据集为RAG(检索增强生成)聊天机器人构建人工智能工作流。
无论你是开发人员、数据科学家,还是希望实施安全人工智能解决方案的非技术专业人士,本教程都将为你提供创建强大的自托管人工智能工作流的基础,同时保持对敏感数据的完全控制。
本地人工智能允许你在自己的基础设施上而不是云端运行人工智能系统和工作流,从而提供更高效的隐私和成本效益。
下面是我们将用于构建和运行本地人工智能应用程序的工具列表:
Docker:你的容器化平台,将所有人工智能组件打包到可管理的隔离环境中。它将帮助我们使用单个命令运行所有人工智能工具。
n8n:一个工作流自动化框架,允许你使用拖放界面构建人工智能工作流。它不需要编码知识,非常适合非技术人员。
Postgres:此工具存储所有数据和日志,作为n8n框架的内存缓冲区。
Qdrant:一个矢量数据库和搜索引擎,使人工智能生成的内容可搜索和管理。
Ollama:一种人工智能模型管理器,可在本地运行任何开源大型语言模型,对硬件要求低。
我们将以n8n为主要框架,为RAG Chatbot构建人工智能工作流。我们将使用Qdrant作为向量存储,Ollama作为人工智能模型提供程序。这些组件将共同帮助我们创建RAG系统。
要开始此教程,你需要访问Docker官方网站下载并安装Docker桌面应用程序。安装和使用都非常简单。
对于Windows用户,你需要一个额外的工具来成功运行Docker容器:Windows Subsystem for Linux (WSL)。这将允许开发人员安装Linux发行版并直接在Windows上使用Linux应用程序。
要在Windows上安装WSL,请在终端或PowerShell中输入以下命令,确保以管理员身份启动PowerShell。
成功安装WSL后,重新启动系统。然后,在PowerShell中键入以下命令以检查Docker是否正常工作。
接下来,我们将学习如何使用Docker Compose在本地设置人工智能服务。这种方法允许你快速加载Docker映像并部署容器,提供了一种在基础设施上运行和管理多个人工智能服务的简单方法。
通过终端键入以下命令来克隆n8n-io/self-hosted-ai-starter-kit。入门套件是设置构建人工智能工作流所需的服务器和应用程序的最简单方法。然后,我们将加载Docker映像并运行容器。
如果你有NVIDIA GPU,可以尝试键入以下命令以访问响应生成中的加速。按照Ollama Docker指南为Docker设置NVIDIA GPU。
所有Docker服务都在运行后,我们可以下载Llama 3.2模型并导入n8n备份工作流。
我们甚至可以通过在终端中输入命令来检查正在运行的Docker容器的状态。
入门套件包含用于下载Llama 3.2模型的脚本。为了正确的RAG Chatbot应用程序,我们还需要嵌入模型。我们将进入Ollama Docker容器,单击“Exec”选项卡,然后键入以下命令以下载“nomic-embed-text”模型。
在浏览器中打开n8n仪表板URL localhost:5678/ ,使用电子邮件和密码设置n8n用户帐户。然后,单击主仪表板页面上的主页按钮并访问演示工作流。这个演示是一个简单的LLM工作流,它接受用户输入并生成响应。
在这个项目中,我们将构建一个RAG(检索增强生成)聊天机器人,它使用来自《哈利波特》电影的数据来提供情境感知和准确的响应。这个项目是一个无代码解决方案,意味着你需要做的就是搜索必要的工作流组件并将它们连接起来以创建人工智能工作流。n8n是一个类似于Langchain的无代码平台。
接下来,我们将通过添加各种组件和配置设置来构建AI工作流。首先单击仪表板中间的“添加第一步”按钮,搜索“聊天触发器”,然后添加它。确保你已启用“允许文件上传”。之后,你可以按照类似的方式添加其他组件,如Qdrant向量存储、嵌入模型、向量存储工具等等。这些组件将共同协作,使我们的AI工作流能够处理用户查询、加载数据、生成响应等。
最终,我们的工作流程将如下所示:用户通过聊天触发器提交查询,查询被转换为嵌入并存储在向量存储中,然后使用LLM生成响应并返回给用户。这个过程可以通过n8n仪表板轻松实现,无需编写任何代码。
通过这个教程,我们了解了本地人工智能以及如何使用自托管AI入门套件来构建和部署各种AI服务。我们还学习了如何使用n8n仪表板创建自己的AI工作流,并使用各种工具如Qdrant、嵌入模型、向量存储工具等来实现这个功能。使用n8n创建和执行工作流非常容易,