n8n 和 OpenAI API:创建简单的文本处理自动化
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
要点总结
- n8n 简化了自动化——其可视化工作流构建器让您无需编写代码即可创建复杂的文本处理自动化。
- OpenRouter 提供灵活的 API 访问——作为多个 OpenAI 兼容模型的稳定网关,使密钥管理和扩展比直接使用 OpenAI API 更容易。
- 自动化重复性文本任务——您可以获取、提取和总结文章、博客文章、报告或任何文本数据,从而节省时间并减少人工工作量。
- 可扩展的工作流– n8n + OpenRouter 工作流可以处理批量处理并与多个数据源集成,包括 URL、文件、数据库和 API。
- 触发器的灵活性——自动化可以手动启动,也可以通过 Webhook、计划或基于事件的触发器启动,从而实现免人工操作。
在实现文本处理任务自动化方面,您有两种可靠的选择:直接使用 OpenAI 的 API,或者使用像 OpenRouter 这样提供与 OpenAI 兼容模型的服务。两种方法都可行,但本文将重点介绍如何使用 OpenRouter 来处理文本自动化任务。
为什么选择 OpenRouter?
因为它简化了 API 管理,为 OpenAI 模型提供了稳定的网关,并且在处理多个模型端点方面提供了更大的灵活性——这在生产或大规模自动化设置中尤其有用。
举个实际例子,我们将构建一个自动化程序,自动获取并总结保罗·格雷厄姆的一篇长篇文章,将其转换为简洁的摘要,无需人工干预。
大规模自动化设置。
n8n是什么?
n8n是一款免费的开源自动化工具,可让您以可视化的方式构建跨API和服务的工作流程。它免去了自定义集成开发的繁琐工作,让您可以专注于解决问题和自动化流程,而不是编写重复的代码。
OpenAI API 与 OpenRouter API 的比较
-
直接使用 OpenAI API:
您可以直接与 OpenAI 的端点集成,但这需要您自行管理 API 密钥、速率限制和跟踪模型版本。 -
OpenRouter API:
作为统一的网关,可访问与 OpenAI 兼容的模型,并简化配置。
更易于密钥管理,可通过单一平台访问多个模型,更便于扩展自动化流程,无需担心单个 API 的变更。
在本文中,我们将使用 OpenRouter API 来进行自动化示例。
指数
- 设置 n8n
- 获取 OpenRouter API 访问权限
- N8N自动化流程
- 手动扳机
- 获取论文列表
- 摘录文章名称
- 拆分成单个项目
- 限前三篇论文
- 获取文章文本
- 摘录标题和内容
- 使用 OpenRouter LLM 进行总结
- 合并数据
- 清理输出
- 为什么 OpenRouter 有意义
- 您可以采取的后续步骤
- 注意
- 有趣的事实
- 常问问题
- 结论
使用 n8n + OpenRouter 构建简单的文本自动化
1. 设置 n8n
- 从https://n8n.io/安装 n8n或使用 Docker。
- 在浏览器中打开 n8n 编辑器界面。
- 另一种方法是克隆仓库:git clone https://github.com/n8n-io/n8n.git
“将自动化应用于高效的运营,将进一步提升效率。”——比尔·盖茨
2. 获取 OpenRouter API 访问权限
1. 创建 OpenRouter 帐户
- 访问https://openrouter.ai/?。
- 点击“注册”创建新账号。您可以使用 Google、GitHub 或 MetaMask 账号登录。
2. 生成您的 API 密钥
- 登录后,请导航至帐户设置中的 API 密钥部分。
- 点击“创建新密钥”。
- 请为您的 API 密钥提供一个描述性名称(例如,“n8n 文本自动化”)。
- (可选)设置密钥的信用额度以管理使用情况。
- 点击“创建密钥”生成您的 API 密钥。
- 重要提示:请复制并妥善保管您的 API 密钥,因为该密钥将不会再次显示。
- 生成您的API密钥。
3. N8N自动化流程
- 创建 N8N 帐户
Automation Flow
步骤 1:手动触发 — 启动工作流当您在 n8n 编辑器中
单击“执行工作流”手动触发工作流时,工作流就会启动。
- 这模拟了一个外部触发器,但之后可以替换为真正的 Webhook 用于生产环境。
- 它将单个元素传递给下一步。
步骤 2:获取文章列表(HTTP 请求)
该自动化流程会发出一个 HTTP GET 请求来获取文章列表。
为了演示实际应用,我们使用 Paul Graham 的一篇长文作为输入。
- 请求 URL:
http://www.paulgraham.com/articles.html
- 回复内容为原始 HTML,其中包含指向 Paul Graham 网站上所有文章的链接。
步骤 3:提取论文名称(HTML 提取)
解析 HTML 内容以提取论文标题和 URL。
- 该系统应用 CSS 选择器从 HTML 中提取文章名称和链接。
- 结果是论文元数据项(标题 + URL)列表。
步骤 4:拆分成各个项目
将完整的论文列表拆分成各个项目。
- 如果找到 234 篇论文,此步骤将它们变成 234 个单独的项目进行独立处理。
步骤 5:仅限前 3 篇作文
为了保持测试效率并避免系统过载,我们将测试过程限制为前 3 篇作文。
- 这样就将项目数量从 234 个减少到 3 个。
- 这三项内容现在都包含一篇论文的元数据。
步骤 6:获取文章文本(HTTP 请求)
对于 3 个文章 URL 中的每一个,都会发出一个单独的 HTTP GET 请求。
- 获取每篇文章的原始HTML内容。
- 现在每个项目都包含完整的文章 HTML 内容。
步骤 7:提取标题和正文内容(HTML 提取)
每篇文章都会同时进行两个提取步骤:
-
提取标题
从 HTML 代码中提取文章标题。 -
仅提取文本
从 HTML 中提取文章正文正文。
这样,每篇文章就会产生三对结构化数据:
- 标题
- 干净的文章文本
步骤 8:使用 OpenRouter GPT(基本 LLM 链)进行总结
每篇文章的干净文本都使用预定义的 LLM 链发送到OpenRouter 聊天模型节点。
- 该模型概括了文章正文。
- 输入:
- 系统提示:“您是一位文本摘要专家。”
- 用户输入:提取的文章文本。
这会为每篇文章生成一个摘要。
步骤 9:合并数据
汇总后,将结果合并。
- 提取的标题和生成的摘要被合并成一个连贯的结构。
每个商品现在包含:
{
"title": "Hackers and Painters",
"summary": "Paul Graham explains how the creative process of hackers is similar to that of painters..."
}
步骤 10:清理输出
最后,使用 Set 节点来格式化输出,使其清晰易读。
- 删除不必要的元数据或中间字段。
- 确保最终输出中只包含相关的标题和摘要字段。
最终输出示例
[
{
"title": "Hackers and Painters",
"summary": "Paul Graham explains how the creative process of hackers is similar to that of painters, emphasizing the importance of innovation, original ideas, and doing work that matters."
},
{
"title": "Another Essay Title",
"summary": "This essay discusses..."
},
{
"title": "Third Essay Title",
"summary": "In this piece, Paul Graham explains..."
}
]
“人工智能的未来不在于取代人类,而在于增强人类的能力。”——桑达尔·皮查伊
4. 为什么选择 OpenRouter 是个好主意
- 无需手动管理多个API接口。
- 在您和 OpenAI 模型之间提供一个稳定的隔离层。
- 更易于扩展和维护自动化工作流程。
- 简化密钥和模型版本管理。
5. 您可以采取的后续步骤
- 自动生成批量文档摘要。
- 根据事件触发工作流(例如,新邮件、文件上传)。
- 将摘要存储在数据库中,或通过 Slack 或电子邮件发送。
6. 注意
- API 速率限制:OpenRouter 的使用取决于您的订阅计划。
- 输入大小限制:请保持输入大小合理(几 KB)。
- 保护您的 API 密钥:使用环境变量而不是硬编码。
7. 有趣的事实
-
像OpenAI的GPT模型这样的机器学习模型可以自动化处理大多数知识型工作中高达10%到20%的任务,从而腾出时间从事更高价值的工作。
-
根据 OpenAI 和多项学术研究,人工智能工具可将内容创作、编码和翻译任务的效率提高 12% 至 25% 。
-
人工智能驱动的自动化每年可使全球生产力提高1.4%,加速各行业的数字化转型。
-
在受控基准测试中,前沿模型处理复杂任务的速度比传统方法快 100 倍,成本也更低。来源
“很多自动化技术并非要取代人类,而是要取代那些令人麻木的行为。”——斯图尔特·巴特菲尔德
8. 常见问题解答
1. 我需要具备编程知识才能构建这个 n8n + OpenRouter 自动化流程吗?
不需要。n8n 提供了一个可视化界面,因此您可以创建和连接工作流节点而无需编写代码。您只需要对 API 和请求参数有一定的了解即可。
2. 我可以使用官方的 OpenAI API 而不是 OpenRouter 吗?
可以,但是 OpenRouter 提供了更大的灵活性——它支持多种 OpenAI 兼容模型,并简化了生产环境中的密钥管理。
3. 我可以使用哪些模型与 OpenRouter 配合使用?
您可以通过一个 API 密钥访问 GPT-3.5、GPT-4、Claude、Mistral 和许多其他性能卓越的模型。
4. 使用 n8n 是否需要付费?
n8n 的自托管版本是免费且开源的。但是,使用 OpenRouter 或 OpenAI API 会根据您选择的模型产生按使用量计费的费用。
5. 我可以自动触发此工作流程吗?
可以。您可以将手动触发替换为 webhook、计划任务或基于事件的触发——例如,自动从 RSS 源或电子邮件中获取文本。
6. 我的 OpenRouter API 密钥在 n8n 中安全吗?
请将其存储为环境变量或 n8n 的凭证系统以确保安全。避免将其硬编码到工作流节点中。
7. 此设置能否汇总其他类型的文本,例如博客文章或报告?
当然可以。您可以将其连接到任何数据源——文件、URL 或 API——以汇总、清理或分类文本。
9. 结论
无论您选择直接使用 OpenAI API 还是 OpenRouter,n8n 都能让文本处理自动化变得更加轻松。对于大多数用例而言,OpenRouter 提供了更好的可扩展性、灵活性和易用性——尤其是在集成多个自动化流程时。
作者简介: Ankit 是AddWebSolution的一名全栈开发人员,也是一位人工智能爱好者,他使用 PHP、Laravel 和现代前端工具打造智能 Web 解决方案。
文章来源:https://dev.to/addwebsolutionpvtltd/n8n-and-openai-api-creating-simple-text-processing-automations-1i0f



