面向企业的AI自动化工作流搭建指南
2025年2月28日
来源:n8n blog
原文:点这里
我们为那些需要开始考虑其人工智能采纳策略以保持竞争力,但对数据完整性或隐私相关风险容忍度较低的风险敏感型企业,设计了本指南。
该指南概述了一系列技术,例如优化大型语言模型(LLM)的准确性、添加保护措施、在工作流自动化工具中本地运行AI模型、可扩展性以及其他可以使AI达到企业级标准的考虑因素。
一些工作流自动化工具——如n8n——可以在自动化逻辑中集成AI。将AI作为更广泛的可定制工作流的一部分执行,是企业减轻大型语言模型、计算机视觉和其他AI算法固有风险的最佳方式。
将AI作为自动化工作流的一部分运行有三个主要考虑因素:
- 工作流自动化工具可以本地嵌入AI,或者可以调用外部服务。
- AI代理只是工作流的一个组成部分,因此可以为AI的输入和输出定义额外的逻辑。
- 自动化逻辑可以轻松地将AI与专有工具和遗留系统集成。
当基于工作流的自动化工具作为大型语言模型等AI工作负载的包装器时,组织可以解决一些最紧迫的与AI相关的挑战,包括:
- 数据隐私:AI模型可以在本地或受信任的位置运行。在数据发送到AI代理之前以及生成响应之后,可以实施额外的隐私和数据丢失防护机制。
- 人才不足和缺乏整合AI的技能 :基于工作流的自动化工具提供直观的图形用户界面,使开发者和非开发者都能构建实现AI的自动化逻辑。
- 最小化幻觉:这些指的是不真实或无意义的LLM响应,必须受到输出控制的约束,以检测错误或不合规的响应。
- 足够且有组织的数据用于小型语言模型(SLM)或上下文响应 - 工作流自动化工具可以访问不同的数据集,并在AI模型生成响应之前对数据进行规范化。
AI和ML模型的类型
自2023年以来,AI一词与大型语言模型(LLMs)和基于文本的生成AI交替使用,这要归功于ChatGPT的病毒式流行。然而,区分不同类型的生产就绪AI工作负载是非常重要的。
- 生成式人工智能 - 包括大型和小型语言模型、图像生成和视频生成等。
- 大型语言模型 - 在庞大的文本数据集上训练的神经网络,能够理解上下文、生成类人文本、代码,并执行复杂的推理任务(例如,GPT-4、Claude、PaLM)。例如,您可以创建一个 多代理PDF到博客内容生成。
- 小型/专业语言模型 - 这些模型针对特定任务进行训练,如文本补全、情感分析或特定领域的生成,参数数量显著少于大型语言模型。
- 图像生成 - 从文本描述创建新图像或修改现有图像的模型(例如,DALL-E、Midjourney、Stable Diffusion)。这是一个基于AI的图像生成的用例。
- 视频生成 - 能够根据文本提示或现有视频素材创建或编辑视频内容的AI系统(例如,Runway Gen-2、Google Image Video、Meta的Make-A-Video)。
- 语音生成 - 将文本转换为音频的模型,例如 这个使用OpenAI TTS模式的工作流。
- 计算机视觉 - 可用于图像/视频中的物体检测和识别、面部识别和分析。这是一个使用AI视觉自动化图像验证任务的案例。。
- 语音识别 - 可用于将音频实时转换为文本,并支持多种语言。
- 时间序列分析 - 可用于分析和预测趋势、检测季节性模式、识别异常,并基于顺序的时间依赖数据进行预测。 基于上述内容,目前一些可实现且适合生产的AI应用案例包括代理支持和Slack机器人、预约调度、与内部PDF进行摘要和聊天、网页抓取和网页摘要、为AI代理添加记忆、自动化竞争对手研究、图像描述以及使用文本分类器解决客户支持问题。完整的AI模板库可以在这里找到。
优化大型语言模型的准确性
在当前所有可用的AI模型中,大型语言模型在短期内为企业提供价值的潜力最高。因此,本文的这一部分将重点关注针对特定用例优化这些模型,并主动解决与幻觉相关的挑战。
大型语言模型的优化通常包括提示工程、检索增强生成(RAG)和模型微调。这些方法针对不同的优化用例,通常是结合使用的。我们还将讨论保护机制,以防止诸如提示注入和数据泄露等问题。
来源: https://platform.openai.com/docs/guides/optimizing-llm-accuracy/
在上述图形中,背景优化指的是如果训练集中缺少数据,模型缺乏上下文知识,或者其知识过时,或需要了解专有信息。大型语言模型的优化则指行为的一致性,如果模型在给定合适的提示时产生不一致的结果,格式不正确,语气或说话风格不正确,或者推理不一致,都必须考虑这一点。
提示工程
提示工程是对输入请求进行调整,以便与大型语言模型(LLM)进行交互,通常是用于摘要、翻译和代码生成等用例的唯一方法,在这些情况下,零-shot方法可以达到生产级的准确性和一致性。
基本的提示工程技术关注于对齐输入提示,以产生期望的输出。一些指导方针建议从一个简单的提示和预期输出开始,然后通过添加上下文、指令或示例来优化提示。
我们推荐这份 OpenAI 提示工程指南。从高层次来看,该指南建议以下策略:
- 提供参考文本
- 将复杂任务拆分为更简单的子任务
- 给模型时间“思考”
- 使用外部工具
- 系统地测试更改
您还可以参考 Anthropic 和 Mistral 的提示工程指导方针。
检索增强生成 (RAG)
RAG 是获取相关内容以为 LLM 提供额外上下文的过程,以便在生成答案之前进行参考。它用于为模型提供特定领域的上下文,以解决任务。
例如,如果您需要 LLM 生成包含统计数据的答案,它可以通过从相关数据库中检索信息来实现。当用户提出问题时,提示被嵌入并用于从知识库中检索最相关的内容。这些内容被呈现给模型,模型随后回答问题。
虽然这是一种引用硬数据的好技术,但 RAG 也引入了一个新的维度需要考虑——检索。如果 LLM 提供了错误的上下文,它将无法正确回答;如果提供了过多无关的上下文,可能会增加幻觉的发生。 检索本身必须进行优化,这包括调整搜索以返回正确的结果、减少噪音以及在每个检索结果中提供更多信息。像 LlamaIndex 和 LangChain 这样的库是优化 RAG 的有用工具。
本演示文稿 提供了关于检索增强生成的良好概述。
微调
微调是指在较小的特定领域数据集上继续训练 LLM 的过程,以使其针对特定任务进行优化。微调通常是为了通过提供许多正确执行该任务的示例来提高模型在特定任务上的准确性,并通过在更少的标记上实现相同的准确性或使用更小的模型来提高模型的效率。
微调过程中的最重要步骤是准备一个训练示例的数据集,该数据集包含干净、标记且无偏的数据。
保护措施
保护措施是指控制 LLM 输入和输出的机制,这些机制能够检测、量化和减轻特定类型风险的存在,例如提示注入。有一个同名开源项目,提供了一个 Python 框架,用于实现这些额外的保护机制。
这些机制可以用于检查生成的文本是否有毒,确保响应以中性或积极的语气提供,确保响应不包含任何符合 FINRA 指导方针的财务建议,防止用户的个人数据在响应中泄露,防止提及竞争对手并用其他措辞替代,以及其他类似的用例。
AI增强工作流自动化的部署模型
在工作流自动化平台中运行AI模型有两种选择,即在工具中本地运行AI模型,或将AI模型作为独立服务运行并通过网络发起请求。
在工作流自动化工具中本地集成的AI
- 优点:不依赖外部AI服务,数据不离开工具,没有网络延迟,也没有按请求计费的成本。
- 缺点:设置和配置更复杂,模型更难更改。
独立AI模型
- 优点:设置和配置简单,模型选择范围广。
- 缺点:由于数据离开自动化工具,存在隐私和数据丢失的担忧,导致网络延迟,并产生按请求计费的成本。
这两个组件——AI模型和工作流工具——可以以服务模型部署,由供应商或第三方运行和管理,或者可以自我托管。
工作流自动化工具中原生集成的 AI | 独立 AI 模型 | |
---|---|---|
自托管 | 企业在其环境中管理和运行整个平台,无论是在本地还是在云端 | 企业在其环境(例如 Ollama)中管理和运行,无论是在本地还是在云端 |
即服务 | 供应商在云中运行的平台 | LLM 在云端运行并通过 API 请求集成(例如 ChatGPT) |
在上述部署模型中,不常见且值得进一步探索的是具有本地集成AI的工作流自动化工具的自我托管版本。我们将在下面进一步详细描述这一点。
自我托管的集成AI工作流自动化工具

该模型为企业提供了更多控制权,以管理和运行AI模型,但与向ChatGPT发送API请求相比,这需要更为主动的操作。
在本地运行AI时的一些困难包括模型选择、向量存储和框架,以及配置这些组件以协同工作。
为了应对这一高门槛,n8n自2024年8月起发布了一个自托管AI入门工具包。
该工具包包含一个开源的Docker Compose模板,可以初始化本地AI和低代码开发环境。
它包括n8n工作流自动化平台和一系列最佳本地AI工具,旨在成为构建自托管AI工作流的最快方式。作为一个基于虚拟容器的设备,它可以在本地和客户管理的云环境中部署。
该工具包使用Ollama作为与本地语言模型交互的API,使用Qdrant作为向量数据库,使用PostgreSQL作为关系数据库。它还包含预配置的AI工作流模板。
该入门工具包还提供网络配置,以便在本地或云实例(如Digital Ocean和runpod.io)中部署。
该工具包还旨在通过创建一个共享文件夹来帮助组织访问本地文件,该文件夹挂载到n8n容器上,从而允许n8n访问磁盘上的文件。
在自动化工作流中集成AI
基于AI的工作流通常侧重于AI模型所提供的能力,例如解释自然语言命令、对象识别与分类或非结构化数据分析。基于AI的工作流在AI模型之前定义了自定义逻辑,例如触发工作流的条件和获取正确数据的方式,以及在AI模型之后的逻辑,例如验证响应和防止数据泄露。
在考虑实施AI的自动化工具的价值实现时间时,组织需要评估供应商的现成工作流组合以及工作流设计工具本身。
现成工作流 - 供应商可以提供一个市场或库,包含预构建、预配置和预验证的AI模板,组织可以在最小配置的情况下进行部署。这些工作流需要有文档记录并且模块化,以便根据客户的技术栈进行的任何必要更改能够轻松实施。
这些模板可以由供应商直接开发,或者他们可以开放市场,允许社区成员发布工作流。例如,n8n提供了超过160个基于AI的工作流库,其中许多是免费使用的。 工作流设计器 - 为了支持客户编写新的基于AI的工作流,供应商必须提供充分的文档,解释AI功能在自动化逻辑中的实现方式。此外,还需要提供开发和预发布环境,以便客户在将工作流部署到生产环境之前进行测试。最后,验证工具可以识别剧本中的任何配置错误和安全隐患,例如数据格式不符合预期或通过不安全通道调用外部服务。
在生产环境中运行AI工作流工具
一旦设计了基于AI的自动化工作流,您需要考虑该工具在生产环境中的表现,包括推理引擎、可扩展性、监控、故障排除、授权和访问等方面。
推理引擎
要在生产环境中运行大型语言模型(LLMs),您可以选择多种推理引擎。这些引擎在不同框架(如PyTorch、Scikit-Learn、TensorFlow等)或处理器(如GPU、CPU等)上对训练好的机器学习或深度学习模型进行推理。
大多数推理引擎都是开源软件,可以标准化AI模型的部署和执行。
一些最广泛部署的推理引擎包括:
可扩展性
运行增强AI的自动化工作流时的可扩展性考虑包括AI模型的可扩展性和工作流工具的可扩展性。
对于工作流工具,可扩展性可以包括
- 动态扩展:这涉及到随着数据摄取量的增加动态添加更多资源。虽然基于云的解决方案可以自动配置这些资源,但自托管的等效方案则需要添加更多实例以实现横向扩展,且对系统的干扰或额外配置要求最小。
- 绝对规模限制:这些可以是硬性限制,例如并发工作流的数量、最大文件大小、每个剧本的最大操作数量。
- 支持考虑:规模较小的供应商虽然有可扩展的产品,但在非常大规模的部署中可能难以提供内部企业级支持,包括支持票据和事件管理。此外,他们可能尚未与能够协助大型操作的第三方服务提供商建立合作关系。
- 定价考虑:某些供应商的定价机制可能会使客户无法进行大规模或不断增长的部署,这迫使组织在摄取、存储或分析的数据类型上做出妥协。
对于由第三方(即 ChatGPT)托管的 AI 模型,主要的可扩展性问题集中在定价上,大量请求的成本超过了实施 AI 所带来的任何效率提升。
为了实现自托管AI模型的可扩展性,需要考虑的因素包括最大数据输入量、最大输出量、错误率以及获取输出的平均时间。计算基础设施是扩展AI模型的主要因素,底层硬件必须具备足够的处理能力以支持请求,并且支持横向扩展。当选择在云端托管模型时,横向可扩展性通常不是问题,但在本地部署时,随时可用的服务器数量有一个硬限制。部署规模与模型的大小和复杂性直接相关,较小的模型(10亿到30亿参数)所需的计算基础设施明显少于具有30亿到70亿参数的大型语言模型。
自托管模型在响应时间上也有一定的控制能力。模型的选择可能会产生影响,较小的模型可以在100-500毫秒内响应,而较大的模型可能需要每次推理1-5秒。可以通过模型量化、分布式推理、批处理、智能缓存和硬件加速等技术进一步优化响应时间。
在像n8n的AI入门工具包这样的实例中,使用Kubernetes来编排运行工作流工具和大型语言模型的容器,可以根据请求需求提供横向可扩展性。除了横向可扩展性,使用Kubernetes还可以帮助进行负载均衡和请求处理。
自托管的GPU要求
要计算在本地运行大型语言模型所需的GPU内存,可以使用以下公式:
来源在这里
其中:
- M = GPU内存(单位:GB)
- P = 参数数量
- 4B = 每个参数4字节
- 32 = 4字节对应的32位
- Q = 用于加载模型的位数
- 1.2 = 20%的额外分配
作为一个例子,对于具有700亿参数的Llama-3.1-70b,应用此公式我们得到总共需要168GB的GPU内存。
这将需要两个NVIDIA A-100 80GB内存模型来运行。
在计算能力有限的情况下,您可以通过使用量化来降低计算和内存成本。这是一种使AI模型能够以更少的内存存储、理论上消耗更少能量,并加快矩阵乘法等操作的技术。
它通过使用低精度数据类型(如8位整数)来表示权重和激活,而不是通常的32位浮点数。
将这种量化技术应用于上述Llama 70B的计算中,使用float16精度而不是float32将内存需求减半。
授权与认证
由于增强AI的工作流可能有多个业务所有者并访问各种数据资源,因此授权和基于角色的访问控制可以帮助隔离访问,以减少隐私问题和攻击面。
用户访问控制 指的是如何授予和管理对工作流设计器的管理员、开发者和非开发者的权限。
服务访问控制 指的是工作流自动化工具如何访问其他服务和数据库,例如提供API密钥或JWT令牌,仅允许通过特定端口访问,要求加密等。
监控与错误处理
工作流自动化工具可以为工作流中每个步骤或操作(包括任何AI代理)实施监控功能。这些工具可以报告执行时间、错误、API代码,并生成日志。
为了监控AI代理的性能,工具可以跟踪以下指标:
- 延迟 - LLM在接收到输入后多快能够提供响应。更快的响应时间提升用户满意度和参与度。
- 吞吐量 - LLM在给定时间内可以处理的任务或查询数量,用于评估模型同时处理多个请求的能力。这对于生产环境中的可扩展性和性能至关重要。
- 资源利用率 - LLM使用计算资源(如CPU和GPU内存)的效率。最佳的资源利用确保模型高效运行,从而实现成本效益的扩展和可持续部署。
根据报告的指标,组织可以实施多层验证,包括:
- 输入预处理和清理
- 置信度阈值监控
- 低置信度预测的回退机制,例如在环中引入人工代理
n8n 用于构建基于AI的工作流
安全和隐私优先的AI是n8n的核心战略,因此我们开发了一系列利用AI的功能。在n8n,我们在内部使用增强AI的工作流来处理各种用例,感兴趣的可以在此处进行探索。
我们提供AI工作流定制服务、AI培训,联系请加微信: a52947593
公众号:「匠程」