n8n 本地部署及实践应用,实现零成本自动化运营 Telegram 频道(保证好使)
n8n 本地部署及实践应用,实现零成本自动化运营 Telegram 频道(保证好使)
简介
n8n 介绍
一、高度可定制性
二、丰富的连接器生态
三、自托管部署(本地部署)
四、社区驱动
n8n 的部署
一、前期准备
二、部署步骤
1、检查系统的网络环境
2、下载 n8n 源码
3、n8n 容器的启动(docker run)
4、n8n 容器的启动(docker compose)
n8n 的使用
一、工作流的创建
二、触发器节点
自动化运营 Telegram 频道
备份与加载 n8n 的镜像
一、备份 n8n 的镜像
二、加载 n8n 的镜像
简介
在数字化办公与自动化流程日益普及的今天,高效地整合各种工具和服务,实现工作流的自动化,已成为提升生产力的关键。n8n 作为一款强大的开源工作流自动化平台,为我们提供了一种灵活且强大的方式,来连接不同的应用程序,自动化复杂的任务流程。本文将详细介绍 n8n 的特性,并一步步引导你完成 n8n 的本地部署,最后探索如何使用它创建实用的工作流。
n8n 介绍
n8n 是一个功能丰富的开源工作流自动化工具,旨在帮助用户轻松连接各种应用和服务,构建自动化工作流程。
一、高度可定制性
n8n 提供了可视化的工作流编辑器,通过简单的拖放操作,就能创建复杂的工作流程。同时,它还支持在节点中编写自定义 JavaScript 代码,满足高级用户对功能定制的需求。这意味着,无论是简单的数据处理任务,还是涉及多个系统交互的复杂业务流程,n8n 都能灵活应对。
二、丰富的连接器生态
n8n 拥有超过 600 个预构建的连接器,涵盖了常见的办公软件(如 Google Workspace、Microsoft 365)、社交媒体平台(如 Facebook、Twitter)、数据库(如 MySQL、PostgreSQL)、云存储服务(如 Dropbox、Google Drive)等。借助这些连接器,用户可以轻松实现不同应用之间的数据传输、操作和协同,极大地扩展了工作流的应用场景。
三、自托管部署(本地部署)
对于注重数据隐私和安全性的企业或个人用户,n8n 支持自托管部署。你可以将 n8n 部署在自己的服务器或本地环境中,完全掌控数据的存储和处理,避免数据泄露风险,n8n 支持 Nodejs 部署和 Docker 部署,比较推荐 Docker 部署,后面 n8n 的部署都是使用 Docker 进行部署。同时,自托管部署也为用户提供了更大的灵活性,可以根据自身需求进行系统配置和定制化开发。
四、社区驱动
n8n 拥有一个活跃的社区,社区成员不仅贡献了大量的插件、模板和使用案例,还积极参与技术讨论和问题解答。这使得用户在使用 n8n 的过程中,能够获得丰富的学习资源和技术支持,加速工作流的开发和优化。
n8n 的部署
一、前期准备
环境要求:
- 硬件要求:CPU ≥ 2 cores (x86)(n8n 不太占用 CPU 资源);内存 320 MB - 2 GB;硬盘 512 MB - 4 GB SSD
- 软件要求:Ubuntu ≥ 22.04;Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1 或 Docker Desktop 4.39.0 & Docker Engine 28.0.1(Windows 环境下)
网络要求:
- 本地网络:部署时可以使用 VMware 的 NAT 模式,如果只是本机使用就已经无需调整了,如果是需要内网中为其他设备提供服务,那就需要配置成 bridge(桥接)模式了;如果使用 Docker Desktop 进行部署,只需要保持默认设置即可
- 外部网络: n8n 是使用 docker 进行部署,在构建时需要从网络上拉去镜像,国内虽然有镜像源,但是并没有外面的全,所以可能会导致超时导致构建失败,所以提前准备一个靠谱的代理(科学上网)是非常必要的
- DNS:需要在 docker compose 或 docker run 时指定,否则可能会出现 The DNS server returned an error, perhaps the server is offline. 的错误
Ollama 的安装:DeepSeek + Ollama 部署自己本地的 AI 大模型(Windows,AMD 显卡也能用)_为啥deepseek要装ollama-CSDN博客
docker 的安装:
- Linux 环境:Ubuntu使用国内源安装Docker,Mysql,Redis_ubuntu docker源-CSDN博客
- Windows 环境(有图形化界面):https://blog.csdn.net/zjw529507929/article/details/146218875
二、部署步骤
本次演示将会在 Windows 环境下进行安装,Windows 和 Linux 除了 docker 的安装不太一样之外,后面的一系列命令都是一样的,在生产环境部署建议使用 Linux 这会相对稳定一点,但是也需要一定的基础。
1、检查系统的网络环境
在装好 Docker Desktop 后开始检查的及时网络问题了,首先我们要把之前提到的代理打开,并调节到全局模式(拉取镜像的成败关键)
同时即使开了代理有的还是会失败,这是由于运营商的问题,因为每个运营商对于不同 IP 访问的路由设置都不一样,目前在广东测试发现电信是最好使的。可以根据下面的命令进行 ping 测一下:
ping www.docker.com
ping www.github.com
如果到最后实在是没办法了,可以拿我提前安装好的镜像直接导入到 docker 当中来使用,这样就可以避免网络问题了,链接在“备份与加载 n8n 的镜像”的部分。
2、下载 n8n 源码
n8n 是一个开源软件,我们可以直接上 Github 上搜索并下载其源码,链接为:https://github.com/n8n-io/n8n,可以直接下载 ZIP 压缩包或通过 git 命令下载(需要提前安装 git)
git 的安装:
Linux:
sudo apt-get install -y git
如果已经安装过会如下图所示
Windows:
直接打开该链接下载:Git - Downloads
下载完成后双击安装,安装选项默认即可。然后我们去 Github 上获取克隆链接,如下图所示
打开目标目录,在地址栏输入 cmd 根据当前目录打开终端,并输入以下命令(该命令会下载到当前所在目录下)
git clone https://github.com/n8n-io/n8n.git
3、n8n 容器的启动(docker run)
在官方给出的 README 文件给出的快速启动方式当中,是使用以下命令来启动的
# 创建一个 Docker 数据卷,用于存储和持久化 n8n 容器的数据,该卷名为 n8n_data,即时 Docker 容器重启或者删除也不会丢失数据,该操作为幂等操作,所以重复执行也没关系
docker volume create n8n_data# 启动容器
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
但出于以后的管理需求,我个人还是建议使用 docker compose。
4、n8n 容器的启动(docker compose)
目前只是用到一个 n8n 的镜像所以并不需要构建就可以了,至于为什么要使用 docker compose,这是为了日后需要部署多个应用(traefik、postgre 等)支撑时方便我们自己维护环境。
.env(环境变量):
# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
# DOMAIN_NAME=example.com# The subdomain to serve from
# SUBDOMAIN=n8n# The above example serve n8n at: https://n8n.example.com# Optional timezone to set which gets used by Cron and other scheduling nodes
# New York is the default value if not set
GENERIC_TIMEZONE=Asia/Shanghai# The email address to use for the TLS/SSL certificate creation
# SSL_EMAIL=user@example.com# With Postgres env
# POSTGRES_USER=root
# POSTGRES_PASSWORD=123456
# POSTGRES_DB=n8n# POSTGRES_NON_ROOT_USER=root
# POSTGRES_NON_ROOT_PASSWORD=123456
docker-compose.yml(配置文件):
name: n8n_dockerservices:n8n:image: docker.n8n.io/n8nio/n8nrestart: alwaysports:- "127.0.0.1:5678:5678"dns: # 指定 DNS,如果未指定很可能某些网站会出现 The DNS server returned an error, perhaps the server is offline. 的错误- 8.8.8.8environment:- N8N_PORT=5678- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}volumes:- n8n_data:/home/node/.n8n- ./local-files:/files # 把容器环境中的 /files 映射到 ./local-files 中networks: # 指定容器所属的网络- backend# 创建一个 Docker 数据卷,用于存储和持久化 n8n 容器的数据,该卷名为 n8n_data,即时 Docker 容器重启或者删除也不会丢失数据
volumes:n8n_data:networks:backend:driver: bridge # 使用桥接模式来连接网络ipam: # 容器内的网络设置driver: default # 使用宿主机默认的网卡config:- subnet: 169.254.50.0/24gateway: 169.254.50.1
你可以把环境变量和配置文件都放在根目录下,也可以像我一样都放在一个文件夹下
无论你使用哪一种方式,只需要注意,使用 docker compose 时在 docker-compose.yml 文件所在目录下执行即可
启动完成后,看到 http://localhost:5678 表示启动成功
在浏览器输入以下 URL 来进行测试(127.0.0.1 与 localhost 是一样的)
我们需要先注册一个账号,然后在进行登录。登陆后我们点击加号就可以开始创建我们自己的自动化流程了
至此,自托管部署的 n8n 就部署完成了。
n8n 的使用
一、工作流的创建
创建空白工作流后的操作界面如下
如果之前使用过 Dify 之类的相信对这个工作流的操作页面不会陌生,同样的点击加号开始选择不同的节点来创建工作流
二、触发器节点
通常工作流最开始的都是触发器节点,当然一个工作流当中也可以有多个触发器节点。
手动触发(即点击该按钮手动触发):
APP 事件触发:
n8n 支持多种 app 事件触发,点进去可以发现有挺多是我们平常都会使用的,如 Github、Excel、Telegram 等
点开后,可以发现它支持非常多的 Github 事件,如通过评论来触发工作流、对项目的创建或删除来触发工作流等
定时触发:
可以设置工作流每天或者每小时执行一次,还支持 Cron 来进行设置定时任务,在“自动化运营 Telegram 频道”中会使用到。
Webhook 调用:
这种方式是一种第三方服务进行回调的方式,但由于我们使用的个人电脑通常都没有公网 IP,所以不能提供 Webook 给第三方服务唤起,如果实在想用,那可以考虑把 n8n 部署在云上面。
表单提交:
当有人填写表单并提交时就会触发工作流。
其他工作流来触发:
聊天消息触发:
其他触发:
n8n 还支持,邮件、错误触发、本地文件操作等触发方式。
在添加触发节点后,后续会有个加号,可以陆续地添加各种其他的工作节点,如需要了解更多可以查看官方文档:https://docs.n8n.io/integrations/
自动化运营 Telegram 频道
该工作流,计划每天早上8点,定时自动抓取国外的 AI 相关的新闻,经过 AI 翻译整理后,自动发送到我指定的 Telegram 频道当中,总体的工作流如下图所示
1、定时触发
设置完成后,点击右上角的 Test step 来进行节点测试,如下图所示
由于时区我们在环境变量当中已经设置了,所以这里就直接按照环境变量当中的时区来显示时间,如果未在环境变量当中设置,可以在 Settings ——> Timezone 中的值设置为 Asia/Shanghai,如下图所示
2、获取国外新闻 API
这里我们需要使用两个国外网站提供的 API,地址如下:
- News API – Search News and Blog Articles on the Web
- GNews: News API to Search for the Latest & Historical News
注意:这两个网站可能需要科学上网
两个网站均需要注册账号后才能使用 API,针对个人用户每天可以请求100次,个人用户足够用了。
News API 的 API Key 获取:
注册登录后,点击主页的 Get API Key 来获取 API Key
API Key 创建完成后如下图所示
HTTP 请求的 URL 在下图所示的地方获取
GNews 的 API Key 获取:
注册登录后,点击主页右上角的 Dashboard 进入控制面板
进入控制面板后就能看到已经创建好的 API Key 了
HTTP 请求的 URL 在下图所示的地方获取
3、向 API 发起 HTTP 请求来获取新闻数据
回到 n8n 工作流当中,我们创建两个 HTTP 请求
News API 和 GNews 的配置分别如下图所示
News API:
注意:需要把搜索的 q 参数改为需要的值,如 AI 相关的新闻就是 q=ai。
GNews:
注意:
- 需要把搜索的 q 参数改为需要的值,如 AI 相关的新闻就是 q=ai
- GNews 搜索出来的新闻会有多语种,这里我们需要设置 lang=en 来限定语言为英语的新闻
设置完成后,点击Test step 测试是否设置成功,成功如下图所示
4、数据转换(JSON 转为 String)
由于两个网站返回的 JSON 结构并不一致,为了方便后续的处理,我们需要数据转换节点来进行数据转换
在配置前需要先执行前面的节点先,这是因为配置当中需要引用前面节点的结果,如下图所示
两个返回的 JSON 格式结果都执行同样的数据转换,配置和操作一样。设置完成后,点击Test step 测试是否设置成功,成功如下图所示
5、合并两个数据转换后结果数据
配置如下
设置完成后,点击Test step 测试是否设置成功,成功如下图所示
6、调用大模型来处理数据
创建完成后需要点击 Chat Model 下方的加号来添加 LLM
我们这里使用 Ollama 来调用大模型
刚开始我们需要先配置以下 LLM,按照下图配置即可
配置好之后我们就可以回到上一个页面选择需要使用的大模型了,这里 n8n 已经把 Ollama 中的大模型列表都加载进来了
回到 AI Agent 当中,还需要进行一些提示词相关的配置
设置完成后,,点击Test step 测试是否设置成功,这里调用大模型需要一点时间,时间长短要看你电脑的配置,成功如下图所示
7、Telegram 频道与机器人的创建
在调用 n8n 中的 Telegram 节点之前我们需要先获取两样与 Telegram 相关的东西:
- Telegram 的 Access Token
- Chat ID
Access Token:
我们要在 Telegram 上搜索 botfather,来创建我们的频道与机器人
初次使用时请点击下方的 Start 来开始使用,然后他会自动发一段话过来,点击 /newbot 来创建
Chat ID:
在 Telegram 上搜索 get_id_bot 来查询我们的 Chat ID
同样的初次使用时请点击下方的 Start 来开始使用,然后我们发送 /my_id 来查询自己的 Chat ID
8、n8n 中 Telegram 的设置
然后我们使用之前获得的 Access Token 和 Chat ID 来配置节点,如下图所示
连接成功
设置完成后,,点击Test step 测试是否设置成功,成功如下图所示
同时 Telegram 也能收到该频道的机器人发出来的消息
可以看出,发送的内容与提示词当中要求的内容是比较一致的。
备份与加载 n8n 的镜像
一、备份 n8n 的镜像
1、n8n 需要备份的镜像有:docker.n8n.io/n8nio/n8n,我们可以使用以下命令来查看
docker image ls
2、使用下面的命令来进行备份
docker save -o "F:\10_Professional Resource\Docker\Images\n8n-1.86.1_images\docker.n8n.io_n8nio_n8n_latest.tar" docker.n8n.io/n8nio/n8n
备份好的镜像:https://pan.baidu.com/s/1ScnIBzJ1E6fkswmn0IGfoA?pwd=6ab3 提取码:6ab3
二、加载 n8n 的镜像
将备份的镜像拷贝到需要部署的机器之后使用以下命令进行镜像的载入
docker load -i "F:\10_Professional Resource\Docker\Images\n8n-1.86.1_images\docker.n8n.io_n8nio_n8n_latest.tar"
加载完成后可以使用以下命令查看是否加载成功
docker image ls
当然也是需要重新下载源码以及修改环境变量和配置文件的,请重复前面 n8n 部署第四步中的相关点,在一切处理完成后就可以使用以下命令来启动了
# 在 n8n 中 docker-compose.yml 文件的目录下执行
docker compose up -d
相关文章:
n8n 本地部署及实践应用,实现零成本自动化运营 Telegram 频道(保证好使)
n8n 本地部署及实践应用,实现零成本自动化运营 Telegram 频道(保证好使) 简介 n8n 介绍 一、高度可定制性 二、丰富的连接器生态 三、自托管部署(本地部署) 四、社区驱动 n8n 的部署 一、前期准备 二、部署步…...
嵌入式学习(37)-STM32串口发送中断的实现
一、概述 项目中需要用到发送中断,所以了解了发送中断的一些知识。 二、应用 状态寄存器USART_SR的复位值为0x00C0H, 也就是第七位TXE和第六位TC复位值为1,而TXE1,表明发送数据寄存器为空, TC1表明发送已完成。 USART_ITConfig(USART1, USA…...
Android envsetup与Python venv使用指南
Android envsetup 和 Python venv 是两种完全不同的环境配置工具,分别服务于不同的开发场景。以下是对它们的详细解释及使用方法: 1. Android envsetup 用途: Android envsetup 是 Android 源码开发中的环境配置脚本(envsetup.sh…...
安卓关机和重启源码流程
// systemui关机 frameworks/base/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsComponent.java Overridepublic void shutdown() {try {mBarService.shutdown();} catch (RemoteException e) {}}frameworks/base/services/core/java/com/android…...
解决单设备号双目摄像头调用难题:经验分享与总结
解决单设备号双目摄像头调用难题:经验分享与总结 在计算机视觉项目中,双目摄像头的调用是常见需求,但过程中往往会遇到各种挑战。最近,我就经历了一段曲折但最终成功解决问题的历程,现在将这段宝贵经验分享给大家。 一、问题背景 我手头的双目摄像头仅有一个设备号(设…...
【RL系列】DAPO: An Open-Source LLM Reinforcement Learning System at Scale
1. 简介 尽管RL对complex reasoning效果提升有重要作用,但是在openAI o1和DeepSeek R1 technical report上都没有详细的实验细节。本文主要提出了DAPO算法,提出了4个关键技术点并开源参数和代码。在AIME 2024验证了DAPO算法的有效性。 2. Tricks Exc…...
五子棋(测试报告)
文章目录 一、项目介绍二、测试用例三、自动化测试用例的部分展示注册登录游戏大厅游戏匹配 总结 一、项目介绍 本项目是一款基于Spring、SpringMVC、MyBatis、WebSocket的双人实时对战五子棋游戏,游戏操作便捷,功能清晰明了。 二、测试用例 三、自动化测试用例的…...
【小工具】定时任务执行器
定时任务执行器 背景版本代码JobJob执行机 背景 有时我们的项目内需要一个定时执行器来执行某些任务,就需要一个简单好用的定时任务机。 注意,这个定时任务机并不原生支持分布式,如果需要分布式的功能请自己实现。 版本 jdk21 代码 Job …...
LVGL源码(7):渲染
在LVGL源码(4):LVGL关于EVENT事件的响应逻辑_lvgl实现显示打车-CSDN博客这篇文章中,我们提到了LVGL的三大步骤:检测用户输入操作、调用我们编写的逻辑、在屏幕上显示对应的画面;而在学习完“样式”之后,我们或许可以将上述步骤说明…...
02_通过调用硅基流动平台deepseekapi按输入的标题生成文章
from openai import OpenAIclient OpenAI(base_urlhttps://api.siliconflow.cn/v1,api_keyyou api-key )# 定义关键词变量 keyword "人性的弱点都有哪些?"# 发送带有流式输出的请求 response client.chat.completions.create(model"deepseek-ai/D…...
三、Virtual Device Manager
一、创建AVD AVD是Android Virtual Device(安卓虚拟设备),我们可以启动Android Studio 选择 Virtual Device Manager 创建并启动一个模拟器。 二、设置屏幕大小 上面直接创建的镜像是不能设置屏幕大小的,启动后笔记本屏幕都放不下ÿ…...
MATLAB2022b安装
1 从百度网盘下载MATLAB2022b,下载完成后解压到某个文件夹; 链接: MATLAB2022b 提取码: 6666 2 打开解压后的文件夹,进入setup文件夹,双击打开“setup.exe”文件; 3 在弹出窗口中选择“高级选项”-->“我有文件安…...
计算机编码
计算机,不能直接存储文字,存储的是编码。 计算机只能处理二进制的数据,其它数据,比如:0-9、a-z、A-Z,这些字符,我们可以定义一套规则来表示。假如:A用110表示,B用111表示…...
Dell EMC Unity NAS 认证方式介绍
近日有个客户要配置EMC Unity的NAS访问,我们知道NAS有Linux环境下的NFS和Windows环境下的SMB(也叫做CIFS)。单独配置其中的一种访问协议相对简单,但是客户提出的要求是要对文件系统同时NFS和SMB访问,这就有些复杂&…...
SpringAi 会话记忆功能
在使用chatGPT,豆包等产品后,就会发现他们的会话有“记忆”功能。 那么我们用API接口的话,这个是怎么实现的呢? 属于比较粗暴的方式,把之前的内容与新的提示词一起再次发给大模型。让我们看到他们有记忆功能。 下面介绍…...
BUUCTF-web刷题篇(25)
34.the mystery of ip 给出链接,输入得到首页: 有三个按钮,flag点击后发现页面窃取客户端的IP地址,通过给出的github代码中的php文件发现可以通过XFF或Client-IP传入值。使用hackbar或BP 使用XSS,通过github给出的目录…...
Elasticsearch 性能优化:从原理到实践的全面指南
Elasticsearch(ES)作为一款基于 Lucene 的分布式搜索和分析引擎,广泛应用于日志分析、搜索引擎和实时数据处理等场景。然而,在高并发、大数据量环境下,Elasticsearch 的性能可能面临瓶颈,如查询延迟高、索引…...
UITableVIew性能优化概述
UITableVIew性能优化概述 文章目录 UITableVIew性能优化概述前言如何优化优化的本质卡顿的原因 CPU层级cell复用UITableVIew尽量采用复用 定义cell的种类尽量少,可以多用hidden缓存cell高度基础设置预先设置高度设置一个预先缓存 异步绘制滑动按照需加载尽量显示大小…...
【Linux网络与网络编程】09.传输层协议TCP
前言 TCP 即 传输控制协议 (Transmission Control Protocol),该协议要对数据的传输进行一个详细的控制(数据传输时什么时候传输,一次发多少,怎么发,出错了怎么办……) 本篇博客将从下面这张TCP协议格式图…...
08.unity 游戏开发-unity编辑器资源的导入导出分享
08.unity 游戏开发-unity编辑器资源的导入导出分享 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是存在的有:学习and理解的关联性,希望对您有用~ unity简介…...
Docker Swarm 集群
Docker Swarm 集群 本文档介绍了 Docker Swarm 集群的基本概念、工作原理以及相关命令使用示例,包括如何在服务调度中使用自定义标签。本文档适用于需要管理和扩展 Docker 容器化应用程序的生产环境场景。 1. 什么是 Docker Swarm Docker Swarm 是用于管理 Docker…...
数据中台、数据湖和数据仓库 区别
1. 核心定义与定位 数据仓库(Data Warehouse) 定义:面向主题的、集成的、历史性且稳定的结构化数据集合,主要用于支持管理决策和深度分析。定位:服务于管理层和数据分析师,通过历史数据生成报表和商业智能…...
【CodeMirror】系列(二)官网示例(五)可撤销操作、拆分视图、斑马条纹
一、可撤销操作 默认情况下,history 历史记录扩展仅跟踪文档和选择的更改,撤销操作只会回滚这些更改,而不会影响编辑器状态的其他部分。 不过你也可以将其他的操作定义成可撤销的。如果把这些操作看作状态效果,就可以把相关功能整…...
SpringBoot 动态路由菜单 权限系统开发 菜单权限 数据库设计 不同角色对应不同权限
介绍 系统中的路由配置可以根据用户的身份、角色或其他权限信息动态生成,而不是固定在系统中。不同的用户根据其权限会看到不同的路由,访问不同的页面。对应各部门不同的权限。 效果 [{"id": 1,"menuName": "用户管理"…...
scikit-learn 开源框架在机器学习中的应用
文章目录 scikit-learn 开源框架介绍1. 框架概述1.1 基本介绍1.2 版本信息 2. 核心功能模块2.1 监督学习2.2 无监督学习2.3 数据处理 3. 关键设计理念3.1 统一API设计3.2 流水线(Pipeline) 4. 重要辅助功能4.1 模型选择4.2 评估指标 5. 性能优化技巧5.1 并行计算5.2 内存优化 6…...
GPT-4、Grok 3与Gemini 2.0 Pro:三大AI模型的语气、风格与能力深度对比
更新后的完整CSDN博客文章 以下是基于您的要求,包含修正后的幻觉率部分并保留原始信息的完整CSDN博客风格文章。幻觉率已调整为更符合逻辑的描述,其他部分保持不变。 GPT-4、Grok 3与Gemini 2.0 Pro:三大AI模型的语气、风格与能力深度对比 …...
Cyber Weekly #51
赛博新闻 1、英伟达开源新模型,性能直逼DeepSeek-R1 本周,英伟达开源了基于Meta早期Llama-3.1-405B-Instruct模型开发的Llama-3.1-Nemotron-Ultra-253B-v1大语言模型,该模型拥有2530亿参数,在多项基准测试中展现出与6710亿参数的…...
QT聊天项目开发DAY02
1.添加输入密码的保密性 LoginWidget::LoginWidget(QDialog*parent): QDialog(parent) {ui.setupUi(this);ui.PassWord_Edit->setEchoMode(QLineEdit::Password);BindSlots(); }2.添加密码的验证提示 3.修复内存泄漏,并嵌套UI子窗口到主窗口里面 之前并没有设置…...
Spring AI高级RAG功能查询重写和查询翻译
1、创建查询重写转换器 // 创建查询重写转换器queryTransformer RewriteQueryTransformer.builder().chatClientBuilder(openAiChatClient.mutate()).build(); 查询重写是RAG系统中的一个重要优化技术,它能够将用户的原始查询转换成更加结构化和明确的形式。这种转…...
速盾:高防CDN的原理和高防IP一样吗?
随着互联网的发展,网络安全威胁日益严重,尤其是DDoS攻击、CC攻击等恶意行为,给企业带来了巨大的风险。为了应对这些挑战,许多企业开始采用高防CDN(内容分发网络)和高防IP作为防御措施。尽管两者都能提供一定…...
SQLite-Web:一个轻量级的SQLite数据库管理工具
SQLite-Web 是一个基于 Web 浏览器的轻量级 SQLite 数据库管理工具。它基于 Python 开发,免费开源,无需复杂的安装或配置,适合快速搭建本地或内网的 SQLite 管理和开发环境。 SQLite-Web 支持常见的 SQLite 数据库管理和开发任务,…...
数智读书笔记系列028 《奇点更近》
一、引言 在科技飞速发展的今天,我们对未来的好奇与日俱增。科技将如何改变我们的生活、社会乃至人类本身?雷・库兹韦尔的《奇点更近》为我们提供了深刻的见解和大胆的预测,让我们得以一窥未来几十年的科技蓝图。这本书不仅是对未来科技趋势…...
深入理解linux操作系统---第4讲 用户、组和密码管理
4.1 UNIX系统的用户和组 4.1.1 用户与UID UID定义:用户身份唯一标识符,16位或32位整数,范围0-65535。系统用户UID为0(root)、1-999(系统服务),普通用户从1000开始分配特殊UID&…...
系统设计模块之安全架构设计(常见攻击防御(SQL注入、XSS、CSRF、DDoS))
一、SQL注入攻击防御 SQL注入是通过恶意输入篡改数据库查询逻辑的攻击方式,可能导致数据泄露或数据库破坏。防御核心在于隔离用户输入与SQL代码,具体措施包括: 参数化查询(预编译语句) 原理:将SQL语句与用…...
redission锁释放失败处理
redission锁释放失败处理 https://www.jianshu.com/p/055ae798547a 就是可以删除 锁的key 这样锁就释放了,但是 还是要结合业务,这种是 非正规的处理方式,还是要在代码层面进行处理。...
Visual Studio Code 在.S汇编文件中添加调试断点及功能简介
目录 一、VS Code汇编文件添加断点二、VS Code断点调试功能简介1. 设置断点(1) 单行断点(2) 条件断点(3) 日志断点 2. 查看断点列表3. 调试时的断点控制4. 禁用/启用断点5. 删除断点6. 条件断点的使用7. 多线程调试8. 远程调试9. 调试配置文件 一、VS Code汇编文件添加断点 最…...
计算视觉与数学结构及AI拓展
在快速发展的计算视觉领域,算法、图像处理、神经网络和数学结构的交叉融合,在提升我们对视觉感知和分析的理解与能力方面发挥着关键作用。本文探讨了支撑计算视觉的基本概念和框架,强调了数学结构在开发鲁棒的算法和模型中的重要性。 AI拓展…...
Vue2 老项目升级 Vue3 深度解析教程
Vue2 老项目升级 Vue3 深度解析教程 摘要 Vue3 带来了诸多改进和新特性,如性能提升、组合式 API、更好的 TypeScript 支持等,将 Vue2 老项目升级到 Vue3 可以让项目获得这些优势。本文将深入解析升级过程,涵盖升级前的准备工作、具体升级步骤…...
器件封装-2025.4.13
1.器件网格设置要与原理图一致,同时器件符号要与数据手册一致 2.或者通过向导进行编辑,同时电机高级符号向导进行修改符号名称 2.封装一般尺寸大小要比数据手册大2倍到1.5倍 焊盘是在顶层绘制,每个焊盘距离要用智能尺子测量是否跟数据手册一…...
Python 基础语法汇总
Python 语法 │ ├── 基本结构 │ ├── 语句(Statements) │ │ ├── 表达式语句(如赋值、算术运算) │ │ ├── 控制流语句(if, for, while) │ │ ├── 定义语句(def…...
Java函数式编程魔法:Stream API的10种妙用
在Java 8中引入的Stream API为函数式编程提供了一种全新的方式。它允许我们以声明式的方式处理数据集合,使代码更加简洁、易读且易于维护。本文将介绍Stream API的10种妙用,帮助你更好地理解和应用这一强大的工具。 1. 过滤操作:筛选符合条件…...
【力扣hot100题】(094)编辑距离
记得最初做这题完全没思路,这次凭印象随便写了一版居然对了。 感觉这题真的有点为出题而出题的意思,谁拿到这题会往动态规划方向想啊jpg 也算是总结出规律了,凡是遇到这种比较俩字符串的十有八九是动态规划,而且是二维动态规划&…...
穿透三层内网VPC2
网络拓扑 目标出网web地址:192.168.139.4 信息收集端口扫描: 打开8080端口是一个tomcat的服务 版本是Apache Tomcat/7.0.92 很熟悉了,可能存在弱口令 tomcat/tomcat 成功登录 用哥斯拉生成马子,上传war包,进入后台 C…...
AI数字消费第一股,重构商业版图的新物种
伍易德带领团队发布“天天送AI数字商业引擎”,重新定义流量与消费的关系 【2025年4月,深圳】在人工智能浪潮席卷全球之际,深圳天天送网络科技有限公司于深圳大中华喜来登酒店重磅召开“AI数字消费第一股”发布盛典。公司创始人伍易德首次系统…...
Unity 基于navMesh的怪物追踪惯性系统
今天做项目适合 策划想要实现一个在现有的怪物追踪系统上实现怪物拥有惯性功能 以下是解决方案分享: 怪物基类代码: using UnityEngine; using UnityEngine.AI;[RequireComponent(typeof(NavMeshAgent))] [RequireComponent(typeof(AudioSource))] …...
【OpenCV】【XTerminal】talk程序运用和linux进程之间通信程序编写,opencv图像库编程联系
目录 一、talk程序的运用&Linux进程间通信程序的编写 1.1使用talk程序和其他用户交流 1.2用c语言写一个linux进程之间通信(聊天)的简单程序 1.服务器端程序socket_server.c编写 2.客户端程序socket_client.c编写 3.程序编译与使用 二、编写一个…...
中断的硬件框架
今天呢,我们来讲讲中断的硬件框架,这里会去举3个开发板,去了解中断的硬件框架: 中断路径上的3个部件: 中断源 中断源多种多样,比如GPIO、定时器、UART、DMA等等。 它们都有自己的寄存器,可以…...
大数据面试问答-Hadoop/Hive/HDFS/Yarn
1. Hadoop 1.1 MapReduce 1.1.1 Hive语句转MapReduce过程 可分为 SQL解析阶段、语义分析阶段、逻辑计划生成阶段、逻辑优化阶段、物理计划生成阶段。 SQL解析阶段 词法分析(Lexical Analysis):使用Antlr3将SQL字符串拆分为有意义的token序列 语法分析(Syntax An…...
【小沐学GIS】基于C++绘制三维数字地球Earth(QT5、OpenGL、GIS、卫星)第五期
🍺三维数字地球系列相关文章如下🍺:1【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第一期2【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第二期3【小沐学GIS】…...
初始图形学(3)
昨天休息了一天,今天继续图形学的学习 向场景发射光线 现在我们我们准备做一个光线追踪器。其核心在于,光线追踪程序通过每个像素发送光线。这意味着对于图像中的每个像素点,程序都会计算一天从观察者出发,穿过该像素的光线。并…...