当前位置: 首页 > article >正文

在亚马逊云科技上使用n8n快速构建个人AI NEWS助理

前言:

N8n 是一个强大的工作流自动化工具,它允许您连接不同的应用程序、服务和系统,以创建自动化工作流程,并且采用了开源MIT协议,可以放心使用,他的官方网站也提供了很多的工作流,大家有兴趣的可以去学习学习。

环境准备:

开启一个AWS EC2机器,放置在公有子网中,本地通过SSH连接到机器上,机器具体配置如下:

c5.2xlarge操作系统选择al2023选择创建一个密钥,安全组对22端口放开

用到的大模型:

本文使用AWS Bedrock 提供的Claude3 模型,由于claude3.5和3.7在本测试账户有RPM限制,所以在本环境使用claude3模型,实际上本文演示的环境很简单,不需要大模型为我们做很复杂的事情,只需要帮我们总结文档,因此claude3已经足够。需要保证您的AWS账户需要有对bedrock的Claude3 模型访问的权限,并创建一个该用户的AKSK。

工作流概览:

整个n8n workflow 如下:
在这里插入图片描述

在您的EC2实例开启好之后,需要在您的本地终端执行命令 连接到EC2。

chmod 400 /path/to/your-key.pemssh -i /path/to/your-key.pem  ec2-user@your-ec2-public-ip

ssh登录到ec2机器上执行:

sudo dnf update -y
sudo dnf install docker -y
sudo systemctl enable docker

将 ec2-user 用户添加到 docker 用户组
• 允许该用户无需 sudo 权限即可运行 Docker 命令
• 注意:此更改需要用户重新登录才能生效

sudo usermod -aG docker ec2-user

创建一个名为 n8n_data 的 Docker 卷
• 这个卷将用于持久化存储 n8n 的数据和配置

docker volume create n8n_data

运行 n8n 容器:
• -d: 在后台运行容器
• --name n8n: 将容器命名为 “n8n”
• -p 5678:5678: 将容器内的 5678 端口映射到主机的 5678 端口
• -v n8n_data:/home/node/.n8n: 将之前创建的卷挂载到容器内的 n8n 数据目录
• --restart unless-stopped: 设置容器自动重启策略,除非手动停止
• docker.n8n.io/n8nio/n8n: 使用官方 n8n Docker 镜像

docker run -d --name n8n   -p 5678:5678   -v n8n_data:/home/node/.n8n   --restart unless-stopped   docker.n8n.io/n8nio/n8n

在本地机器上进行测试的话,需要设置 SSH 端口转发,需要在本地终端中执行以下命令:

ssh -i /path/to/your-key.pem -L 5678:localhost:5678 ec2-user@your-ec2-public-ip

打开本地浏览器http://localhost:5678 就可以进入到n8n官方界面,进行注册后就可以创建自己的的workflow啦
在这里插入图片描述

搜索Schedule Trigger,进行以下设置,如图所示是在每天早上9点进行触发

在这里插入图片描述

添加RSS节点:这里的RSS Link我们选择为:https://rsshub.app/aibase/news

在这里插入图片描述

添加limit节点,选择前10的新闻进行推送
在这里插入图片描述

添加HTML到Markdown转换的节点,具体配置如下:
在这里插入图片描述

添加agent节点:

本文的agent节点chat model使用的是bedrock的claude3模型,具体设置如下:

选择权限设置,选择Bedrock model ,选择你需要配置的区域和AKSK进行权限设置
在这里插入图片描述

设置完成后在agent的模型处选择此认证,并选择你需要使用的模型:
在这里插入图片描述

模型配置完成后就可以进行agent参数的配置,这里的prompt是将前面的RSS站点读取到的数据给到大模型,模型再去总结:
在这里插入图片描述

完成后点击test step就可以进行测试 使用大模型进行新闻关键内容的提取:
在这里插入图片描述

为了实现将这些新闻同步到我们的notion里,我们需要

配置notion账号集成:

访问 https://www.notion.so/profile/integrations,
创建集成,选择内部集成,为集成命名。

在这里插入图片描述

创建成功后,复制key到n8n内,点击n8n首页credential,创建notion api的credential

在这里插入图片描述
输入刚粘贴的key,

创建成功后,可以看到连接成功
在这里插入图片描述

然后登录到notion账户里,创建一个数据表单

标题为AI NEWS,添加4列,参数分别为:标题、摘要、URL和时间

创建后点击右上角三个点符号,选择集成,就可以看到刚创建的集成为活跃状态,如果这里一直刷新不出来,可以换一个终端,比如网站换手机app去刷新一下:

在这里插入图片描述

然后我们选择添加新的notion节点到agent节点之后,选择create a database,并选择刚创建的credential,此时在下面的database里就可以看到我们notion里创建的database名字,选中后进行下一步的字段映射
在这里插入图片描述

字段映射配置

在这里插入图片描述
在这里插入图片描述

至此,我们的工作流就配置好了,可以点击右上角红色按钮测试,可以看到可以正常执行
在这里插入图片描述

同时也可以在notion里看到拉取到的数据

在这里插入图片描述

个人感想:

现在构建AI工作流的工具越来越多,从dify到coze, n8n,langflow还有ComfyUI等,需要注意的是个人开发者使用和企业商用的差距,企业商用需要考虑权限隔离,并发下的应用承载等更多的因素,因此在工具选择和部署上也需要考虑清楚。但需要注意的是,无论哪种工具,构建工作流必不可少的就是选择合适的模型,领先模型比如deepseek,claude3.7/3.5 他们可能适合普适性场景,但是真的到领域应用的话,直接使用这些FM未必是更好的选择。

相关文章:

在亚马逊云科技上使用n8n快速构建个人AI NEWS助理

前言: N8n 是一个强大的工作流自动化工具,它允许您连接不同的应用程序、服务和系统,以创建自动化工作流程,并且采用了开源MIT协议,可以放心使用,他的官方网站也提供了很多的工作流,大家有兴趣的…...

STM32单片机入门学习——第27节: [9-3] USART串口发送串口发送+接收

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.08 STM32开发板学习——第27节: [9-3] USART串口发送&串口发送接收 前言开发板说…...

python 3.9 随机生成 以UTF-8 编码 的随机中文

理论实践 因为python3的默认编码为UTF-8,我们将‘浪’的utf8\u6d6a进行打印测试 print(\u6d6a) >>浪 中文匹配范围有两种 [\u4e00-\u9fa5]和[\u2E80-\u9FFF],后者包括了日韩地区的汉字 由于utf采用16进制,则需要进行一个进制的变换&a…...

数字电子技术基础(四十)——使用Digital软件和Multisim软件模拟显示译码器

目录 1 使用Digital软件模拟显示译码器 1.1 原理介绍 1.2 器件选择 1.3 电路运行 1.4 结果分析 2 使用Multisim软件模拟显示译码器 2.1 器件选择 2.2 电路运行 1 使用Digital软件模拟显示译码器 1.1 原理介绍 7448常用于驱动7段显示译码器。如下所示为7448驱动BS201A…...

第十四届蓝桥杯大赛软件赛国赛C/C++研究生组

研究生C国赛软件大赛 题一:混乘数字题二:钉板上的正方形题三:整数变换题四:躲炮弹题五:最大区间 题一:混乘数字 有一点像哈希表: 首先定义两个数组,拆分ab和n 然后令n a*b 查看两个…...

innodb如何实现mvcc的

InnoDB 实现 MVCC(多版本并发控制)的机制主要依赖于 Undo Log(回滚日志)、Read View(读视图) 和 隐藏的事务字段。以下是具体实现步骤和原理: 1. 核心数据结构 InnoDB 的每一行数据&#xff08…...

多模态大语言模型arxiv论文略读(四)

A Survey on Multimodal Large Language Models ➡️ 论文标题:A Survey on Multimodal Large Language Models ➡️ 论文作者:Shukang Yin, Chaoyou Fu, Sirui Zhao, Ke Li, Xing Sun, Tong Xu, Enhong Chen ➡️ 研究机构: 中国科学技术大学、腾讯优图…...

空对象模式(Null Object Pattern)在C#中的实现详解

一 、什么是空对象模式 空对象模模是靠”空对孔象式是书丯一种引施丼文行为,行凌,凌万成,个默疤"空象象象象来飞䛿引用用用用电从延盈盈甘仙丿引用用用职从延务在仅代砷易行行 」这种燕式亲如要目的片片 也说媚平父如如 核心思烟 定义一个人 派一个 � 创建…...

在kotlin的安卓项目中使用dagger

在 Kotlin 的 Android 项目中使用 ​​Dagger​​(特别是 ​​Dagger Hilt​​,官方推荐的简化版)进行依赖注入(DI)可以大幅提升代码的可测试性和模块化程度。 1. 配置 Dagger Hilt​​ ​​1.1 添加依赖​​ 在 bu…...

(三)链式工作流构建——打造智能对话的强大引擎

上一篇:(二)输入输出处理——打造智能对话的灵魂 在前两个阶段,我们已经搭建了一个基础的智能对话,并深入探讨了输入输出处理的细节。今天,我们将进入智能对话的高级阶段——链式工作流构建。这一阶段的目…...

python三大库之---pandas(二)

python三大库之—pandas(二) 文章目录 python三大库之---pandas(二)六,函数6.1、常用的统计学函数6.2重置索引6.3 遍历6.3.1DataFrame 遍历6.3.2 itertuples()6.3.3 使用属性遍历 6.4 排序6.4.1 sort_index6.4.2 sort_…...

php7.4.3连接MSsql server方法

需要下载安装Microsoft Drivers for PHP for SQL Server驱动, https://download.csdn.net/download/tjsoft/90568178 实操Win2008IISphp7.4.3连接SqlServer2008数据库所有安装包资源-CSDN文库 适用于 SQL Server 的 PHP 的 Microsoft 驱动程序支持与 SQL Server …...

Flask返回文件方法详解

在 Flask 中返回文件可以通过 send_file 或 send_from_directory 方法实现。以下是详细方法和示例: 1. 使用 send_file 返回文件 这是最直接的方法,适用于返回任意路径的文件。 from flask import Flask, send_fileapp = Flask(__name__)@app.route("/download")…...

JS中的Promise对象

基本概念 Promise 是 JavaScript 中用于处理异步操作的对象。它代表一个异步操作的最终完成及其结果值。Promise 提供了一种更优雅的方式来处理异步代码,避免了传统的回调地狱。 Promise 有三种状态 Pending(等待中):初始状态&…...

macOS设置定时播放眼保健操

文章目录 1. ✅方法一:直接基于日历2. 方法二:基于脚本2.1 音乐文件获取(ncm转mp3)2.2 创建播放音乐任务2.3 脚本实现定时播放 1. ✅方法一:直接基于日历 左侧新建一个日历,不然会和其他日历混淆,看起来会有点乱 然后…...

Python 小练习系列 | Vol.14:掌握偏函数 partial,用函数更丝滑!

🧩 Python 小练习系列 | Vol.14:掌握偏函数 partial,用函数更丝滑! 本节的 Python 小练习系列我们将聚焦一个 冷门但高能 的工具 —— functools.partial。它的作用类似于“函数的预设模板”,能帮你写出更加灵活、优雅…...

记录学习的第二十三天

老样子,每日一题开胃。 我一开始还想着暴力解一下试试呢,结果不太行😂 接着两道动态规划。 这道题我本来是想用最长递增子序列来做的,不过实在是太麻烦了,实在做不下去了。 然后看了题解,发现可以倒着数。 …...

Web品质 - 重要的HTML元素

Web品质 - 重要的HTML元素 在构建一个优秀的Web页面时,HTML元素的选择和运用至关重要。这些元素不仅影响页面的结构,还直接关系到页面的可用性、可访问性和SEO表现。本文将深入探讨一些关键的HTML元素,并解释它们在提升Web品质方面的重要性。 1. <html> 根元素 HTM…...

SpringBoot整合sa-token,Redis:解决重启项目丢失登录态问题

SpringBoot整合sa-token&#xff0c;Redis&#xff1a;解决重启项目丢失登录态问题 &#x1f525;1. 痛点直击&#xff1a;为什么登录状态会消失&#xff1f;2.实现方案2.1.导入依赖2.2.新增yml配置文件 3.效果图4.结语 &#x1f600;大家好&#xff01;我是向阳&#x1f31e;&…...

Python 字典和集合(子类化UserDict)

本章内容的大纲如下&#xff1a; 常见的字典方法 如何处理查找不到的键 标准库中 dict 类型的变种set 和 frozenset 类型 散列表的工作原理 散列表带来的潜在影响&#xff08;什么样的数据类型可作为键、不可预知的 顺序&#xff0c;等等&#xff09; 子类化UserDict 就创造自…...

npm fund 命令的作用

运行别人的项目遇到这个问题&#xff1a; npm fund 命令的作用 npm fund 是 npm 提供的命令&#xff0c;用于显示项目依赖中哪些包需要资金支持。这些信息来自包的 package.json 中定义的 funding 字段&#xff0c;目的是帮助开发者了解如何支持开源维护者。 典型场景示例 假…...

ES:账号、索引、ILM

目录 笔记1&#xff1a;账号权限查看、查看账号、创建账号等查看所有用户查看特定用户验证权限修改用户权限删除用户 笔记2&#xff1a;索引状态和内容的查看等查看所有索引查看特定索引内容查看索引映射查看索引设置查看索引统计信息查看ILM策略 笔记1&#xff1a;账号权限查看…...

哈希表(开散列)的实现

目录 引入 开散列的底层实现 哈希表的定义 哈希表的扩容 哈希表的插入 哈希表查找 哈希表的删除 引入 接上一篇&#xff0c;我们使用了闭散列的方法解决了哈希冲突&#xff0c;此篇文章将会使用开散列的方式解决哈希冲突&#xff0c;后面对unordered_set和unordered_map的…...

#在docker中启动mysql之类的容器时,没有挂载的数据...在后期怎么把数据导出外部

如果要导出 Docker 容器内的 整个目录&#xff08;包含所有文件及子目录&#xff09;&#xff0c;可以使用以下几种方法&#xff1a; 方法 1&#xff1a;使用 docker cp 直接复制目录到宿主机 适用场景&#xff1a;容器正在运行或已停止&#xff08;但未删除&#xff09;。 命…...

[蓝桥杯] 挖矿(CC++双语版)

题目链接 P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷 题目理解 我们可以将这道题中矿洞的位置理解成为一个坐标轴&#xff0c;以题目样例绘出坐标轴&#xff1a; 样例&#xff1a; 输入的5为矿洞数量&#xff0c;4为可走的步数。第二行输入是5个矿洞的坐标。输出结果为在要求步数…...

Johnson算法 流水线问题 java实现

某印刷厂有 6项加工任务J1&#xff0c;J2&#xff0c;J3&#xff0c;J4&#xff0c;J5&#xff0c;J6&#xff0c;需要在两台机器Mi和M2上完 成。 在机器Mi上各任务所需时间为5,1,8,5,3,4单位; 在机器M2上各任务所需时间为7,2,2,4,7,4单位。 即时间矩阵为&#xff1a; T1 {5, …...

远程监控系统项目里练习

1、项目目标 设备端&#xff1a; &#xff08;1&#xff09;基于stm32mp157开发板&#xff0c;裁剪linux5.10.10&#xff0c;完成ov5640摄像头移植&#xff1b; &#xff08;2&#xff09;完成用户层程序&#xff0c;完成对摄像头的控制及与云端服务的数据交互。 云端&…...

安装并配置Maven

如图所示&#xff0c;解压安装包&#xff0c;配置环境变量&#xff0c;在bin目录那个界面新建文件夹repository&#xff0c;写上安装路径的坐标&#xff0c;修改Maven仓库镜像&#xff0c;输入cmd验证是否安装成功 <mirror><id>alimaven</id><mirrorOf>…...

PlatformIO 自定义脚本选择编译库源文件 - 设置只用于C++ 的编译选项

PlatformIO 只支持以文件夹为单位选择要编译的源文件&#xff0c;不像Keil 或者CMake&#xff0c;可以手动控制每一个源文件。而且默认只会将库的src 文件夹下的源文件全部加入编译。比如&#xff0c;某个库的文件结构如下&#xff1a; libx src include mem| a.c| b.c| c.c…...

dolphinscheduler单机部署链接oracle

部署成功请给小编一个赞或者收藏激励小编 1、安装准备 JDK版本:1.8或者1.8oracle版本&#xff1a;19Coracle驱动版本&#xff1a;8 2、安装jdk 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#java8 下载后上传到/tmp目录下。 然后执行下面命…...