华为云Flexus+DeepSeek征文|基于Dify构建抓取金融新闻并发送邮箱工作流

  • 一、构建抓取金融新闻并发送邮箱工作流前言
  • 二、构建抓取金融新闻并发送邮箱工作流环境
    • 2.1 基于FlexusX实例的Dify平台
    • 2.2 基于MaaS的模型API商用服务
  • 三、构建抓取金融新闻并发送邮箱工作流实战
    • 3.1 配置Dify环境
    • 3.2 配置Dify工具
    • 3.3 创建抓取金融新闻并发送邮箱工作流
    • 3.4 使用抓取金融新闻并发送邮箱工作流
  • 四、总结

一、构建抓取金融新闻并发送邮箱工作流前言

在信息爆炸的金融领域,实时获取精准资讯是投资者和从业者的核心需求。通过Dify工作流搭建自动化新闻抓取系统,可高效聚合The Daily UpsideEdward Jones等权威平台的关键信息,结合大语言模型提炼核心要点,还可以翻译为中文,最终通过邮件定时推送,实现从数据采集到智能分发的全链路闭环。

华为Flexus X云服务器MaaS平台的核心优势在于:Flexus X提供100+种CPU/内存柔性配比(如1:3、3:7),结合X-Turbo加速技术使MySQL/Redis等关键应用性能达业界6倍,显著降低新闻处理延迟;MaaS平台集成盘古大模型及30+预置模型,支持金融摘要一键生成与敏感内容拦截(拦截率90%+),并通过智能调度实现资源成本优化30%;双平台协同保障99.995%跨可用区高可用性,为工作流提供安全可靠的全链路支撑。

在这里插入图片描述

二、构建抓取金融新闻并发送邮箱工作流环境

2.1 基于FlexusX实例的Dify平台

华为云FlexusX实例提供高性价比的云服务器,按需选择资源规格、支持自动扩展,减少资源闲置,优化成本投入,并且首创大模型QoS保障,智能全域调度,算力分配长稳态运行,一直加速一直快,用于搭建Dify-LLM应用开发平台。

Dify是一个能力丰富的开源AI应用开发平台,为大型语言模型(LLM)应用的开发而设计。它巧妙地结合了后端即服务(Backend as Service)和LLMOps的理念,提供了一套易用的界面和API,加速了开发者构建可扩展的生成式AI应用的过程。

参考:华为云Flexus+DeepSeek征文 | 基于FlexusX单机一键部署社区版Dify-LLM应用开发平台教程

2.2 基于MaaS的模型API商用服务

MaaS预置服务的商用服务为企业用户提供高性能、高可用的推理API服务,支持按Token用量计费的模式。该服务适用于需要商用级稳定性、更高调用频次和专业支持的场景。

参考:华为云Flexus+DeepSeek征文 | 基于ModelArts Studio开通和使用DeepSeek-V3/R1商用服务教程

在这里插入图片描述

三、构建抓取金融新闻并发送邮箱工作流实战

3.1 配置Dify环境

输入管理员的邮箱和密码,登录基于FlexusX部署好的Dify网站

在这里插入图片描述

将MaaS平台的模型服务接入Dify,这里我们选择的是DeepSeek R1商用服务,需要记住调用说明中的接口信息和 API Key 管理中API Key,若没有可以重新创建即可

在这里插入图片描述

配置Dify模型供应商:设置 - 模型供应商 - 找到OpenAI-API-compatible供应商并单击添加模型,在添加 OpenAI-API-compatible对话框,配置相关参数,然后单击保存

在这里插入图片描述

参数说明
模型类型选择LLM
模型名称填入模型名称。
API Key填入创建的API Key。
API Endpoint URL填入获取的MaaS服务的基础API地址,需要去掉地址尾部的“/chat/completions”后填入

3.2 配置Dify工具

1. Firecrawl

Firecrawl 是一个强大的 API 集成,用于网络爬虫和数据抓取。它允许用户提取 URL、抓取网站内容以及从网页中检索结构化数据。凭借其模块化工具,Firecrawl 简化了有效收集 Web 数据的过程。现在,您可以在应用程序工作流中使用它来自动提取和分析 Web 数据。

进入 Firecrawl API 密钥 页面,创建新的 API 密钥,默认是有一个 API Key

在这里插入图片描述

并确保您的账户余额充足,默认是有500额度的,测试发现可以运行500次爬虫操作,还是很够用的,似乎和爬取的数据量无关

在这里插入图片描述

访问 Plugin Marketplace,找到 Firecrawl 工具,然后安装它

在这里插入图片描述

授权 Firecrawl:导航到 Plugins > Firecrawl > To Authorize in Dify,然后输入您的 API 密钥以启用该工具

在这里插入图片描述

授权成功后,我们就可以将 Firecrawl 节点添加到 Chatflow 或 Workflow 管道用于网页爬取和数据抓取了

在这里插入图片描述

2. 163SMTP邮件发送

用于发送邮件的工具,使用 smtp.163.com 的电子邮件服务而不进行任何数据处理,可以使用多个电子邮件收件人。

开启 SMTP 服务并获取授权码,登录 网易邮箱,打开设置 - POP3/SMTP/IMAP,开启 SMTP 服务,再授权密码管理中新增授权密码即可,注意只能查看一次,需要复制保存

在这里插入图片描述

访问 Plugin Marketplace,找到 163SMTP邮件发送 工具,然后安装它

在这里插入图片描述

使用此工具,需要输入以下参数,邮箱用户名、授权码、收件人邮箱、主题和内容,稍后就会使用此工具发送爬取的金融新闻

在这里插入图片描述

3.3 创建抓取金融新闻并发送邮箱工作流

在 Dify - 工作室,创建空白应用,选择工作流,输入应用名称和图标,点击创建

在这里插入图片描述

删除其他默认节点,在开始节点后添加一个代码执行节点,用于构建我们需要的时间格式:"tduDate": "tdu-june-23-2025",代码参考如下

function main() {const date = new Date(new Date().toLocaleString("en-US", {timeZone: "Asia/Shanghai"}));date.setDate(date.getDate());// Ensuring the month and day are always two digitsconst day = String(date.getDate()).padStart(2, '0');const month = String(date.getMonth() + 1).padStart(2, '0'); // getMonth() returns 0-11, so add 1const year = date.getFullYear();const monthNames = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];const tduDate = `tdu-${monthNames[date.getMonth()]}-${day}-${year}`; // Updated lineconst mbDate = `${monthNames[date.getMonth()].toUpperCase().substring(0, 3)} ${date.getDate()}, ${date.getFullYear()}`;const ejDate = `${month}/${day}/${year}`; // Already updated in your codereturn {tduDate: tduDate,mbDate: mbDate,ejDate: ejDate};
}

在这里插入图片描述

再添加2个并行的 Firecrawl 节点,选择单页面爬取即可,分别用于爬取 DAILYUPSIDE 网站 和 EDWARD JONES 网站

在这里插入图片描述

DAILYUPSIDE 节点 中配置抓取的Url为:https://www.thedailyupside.com/newsletter/{{日期获取.tduDate#}},这里就用上了代码执行中构建的时间参数,再填入一些其他配置,如仅抓取这些标签、要移除这些标签

在这里插入图片描述

EDWARD JONES 节点 中配置抓取的Url为:https://www.edwardjones.com/us-en/market-news-insights/stock-market-news/daily-market-recap,也填入一些要抓取和移除的标签参数

在这里插入图片描述

再接入LLM节点,分别解析2个爬虫得到信息,模型都选用华为Maas通过的DeepSeek R1模型,上下文填入上一步 Firecrawl 的输出变量

在这里插入图片描述

DAILYUPSIDE REPORTER 系统提示词参考:

<instructions>
根据提供的Markdown英文新闻,你的任务是列出新闻并逐一进行总结。英文行文按照如下格式来提供,其中[Title], [Content], [NewsType]为占位符:
[NewsType(auto, economics, indicators, inflation)]\n
# [Title]
[Content]
以及
## Extra Upside
- **[Title]:** [Content]对于每一条新闻,你需要使用以下模板创建中文总结:标题:xxx
内容:xxx
\n\n---\n\n
标题:xxx
内容:xxx标题与内容应该为中文。并且标题应具有吸引力,并涵盖新闻中的三个要素:谁、何时、发生了什么。内容应是对新闻的概括性陈述。以下是需要遵循的步骤:1. 阅读提供的Markdown英文新闻。
2. 剔除最后有“\*”的“新闻”,因为该“新闻”是广告
2. 识别每条新闻中的关键要素:谁、何时、发生了什么。
3. 为每条新闻创建一个包含这些关键要素的吸引人的标题。
4. 撰写一条概括性陈述,总结每条新闻的内容。
5. 对于内容中提到关键数据、成果、举措或事件以及任何吸引眼的内容,通过markdown bold语法进行重点展示。请确保你的输出不包含任何XML标签。
</instructions>

EDWARD JONES REPORTER 系统提示词参考:

<instructions>
根据提供的Markdown英文新闻,你的任务是列出新闻并逐一进行总结。英文行文按照如下格式来提供,其中[Title], [Content], [NewsType]为占位符:
**[Date(Thursday, 01/30/2025 a.m.)]**\n\n
**[Title] –** [Content] ...对于每一条新闻,你需要使用以下模板创建中文总结:标题:xxx
内容:xxx
\n\n---\n\n
标题:xxx
内容:xxx标题与内容应该为中文。并且标题应具有吸引力,并涵盖新闻中的三个要素:谁、何时、发生了什么。内容应是对新闻的概括性陈述。以下是需要遵循的步骤:1. 请选择日期为{{#1739247876689.ejDate#}}的新闻进行阅读,不要阅读日期为其他事件的新闻内容。
2. 阅读提供的Markdown英文新闻。
3. 识别每条新闻中的关键要素:谁、何时、发生了什么。
4. 为每条新闻创建一个包含这些关键要素的吸引人的标题。
5. 撰写一条概括性陈述,总结每条新闻的内容。
5. 对于内容中提到关键数据、成果、举措或事件以及任何吸引眼的内容,通过markdown bold语法进行重点展示。请确保你的输出不包含任何XML标签。
</instructions>

在这里插入图片描述

再将2个并行节点添加到代码执行节点,用于拼接2个网站的新闻信息,输入变量为2个LLM节点的输出变量,执行的拼接代码参考:


def main(daily_upside: str, edward_jones: str) -> dict:return {"result": daily_upside +"\n\n---\n\n"+ edward_jones,}

在这里插入图片描述

再添加节点 - 工具 - 163SMTP邮件发送,输入5个必要的参数,主题为:今日新闻+时间戳,内容则为输出格式整理节点的输出变量还有三个变量使用环境变量填入

环境变量是一种存储敏感信息的方法,如 API 密钥、数据库密码等。它们被存储在工作流程中,而不是代码中,以便在不同环境中共享。

在这里插入图片描述

邮箱用户名:username,收件人邮箱:receiver,授权码:secret

在这里插入图片描述

最后添加结束节点,标志工作流执行完毕,输出发送163邮件通知节点的结果

在这里插入图片描述

编排工作流后点击右上角的运行,进行测试,查看整个流程可以看到先获取当前日期,再进入2个并行的爬取新闻过程,再分别进行LLM总结爬取内容,最后格式整理并发送邮件

在这里插入图片描述

整个流程50秒就完成了

在这里插入图片描述

打开我们的收件邮箱查看到如下的内容,标题为 今日新闻06/23/2025,输出的内容是 markdown 格式的,我们这里是没有进行中文翻译的,因为爬取的网站的英文,这里也就是英文了,可以在 LLM节点 中添加提示词中文输出

在这里插入图片描述

测试完成就可以发布更新到探索页面了,发布后选择运行就可以获得一个在线运行的工作流的网页!

3.4 使用抓取金融新闻并发送邮箱工作流

在探索 - 抓取金融新闻并发送邮箱中开启新对话

在这里插入图片描述

运行一次Tab页中点击运行即可执行工作流

在这里插入图片描述

为了区别测试的内容,我在LLM节点最后都加上了一个提示词:最后将所有内容翻译成中文输出,查看接收到的邮件效果,格式还是有点问题的,需要根据爬取的不同新闻网站的样式再优化

在这里插入图片描述

四、总结

该工作流革新了传统手动筛选模式,以动态日期生成、并行抓取和AI摘要技术大幅提升效率,降低信息过载风险。通过自动化整合与精准推送,用户可快速掌握市场动态,为投资决策提供实时支持,同时推动金融信息处理向智能化、结构化跃迁。

通过本次Dify工作流实践,深刻体会到其可视化编排与AI无缝集成的核心价值:仅需拖拽HTTP抓取、LLM摘要、邮件推送等节点,即可快速构建从金融新闻采集→智能精炼→定时分发的全自动化链路,将传统手动处理耗时从几小时压缩至5分钟。华为Flexus X云服务器提供精准弹性的CPU/内存配比,有效支撑多源数据并行抓取;MaaS平台内置的盘古大模型则实现关键信息的高精度提纯与敏感内容拦截。整体部署过程印证了低代码开发+云原生算力在落地企业级自动化场景中的高效性与可靠性,真正实现数据流动自动化、信息获取结构化、决策支持实时化的核心目标,化繁为简,智能提效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912011.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912011.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912011.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

疲劳检测与行为分析:工厂智能化实践

视觉分析算法赋能工厂疲劳与安全管理 一、背景与需求 在制造业中&#xff0c;疲劳作业是导致安全事故和效率下降的核心因素之一。传统人工巡检存在覆盖面不足、响应滞后等问题&#xff0c;而基于视觉分析的智能监控系统通过多算法协同&#xff0c;可实现全天候、高精度的疲劳…

医院信息化建设的要点

随着医疗技术的不断发展和患者需求的日益多样化&#xff0c;医院信息化建设已经成为提高医疗质量和效率的必要手段。医院信息化建设是指通过信息技术手段对医院日常运营、管理和服务进行数字化、智能化和网络化的改造&#xff0c;以提高医疗服务水平和管理效率。在实施医院信息…

Sql Server常用命令整理篇:根据某个字段删除重复数据

通过比较同一表中的两行数据&#xff0c;删除那些在Text_data或Title字段上有重复值的行&#xff0c;同时保留id较小的行&#xff1a; DELETE t1 FROM data_zq t1 JOIN data_zq t2 WHERE t1.id > t2.id AND (t1.Text_data t2.Text_data OR t1.Title t2.Title);注意事项 备…

Spring AI 入门到实战:我如何用它让系统具备“理解能力”

我向来对“整合大模型进 Java 应用”这件事持谨慎态度。在 GPT 火了之后&#xff0c;我们团队最初是用 HTTP 手动调 OpenAI 接口&#xff0c;把它当成一个 JSON API 用。但随着业务交互变复杂&#xff0c;我意识到&#xff1a;我们需要的是一个语义系统&#xff0c;而不是一个封…

C++链表的虚拟头节点

C链表虚拟头节点&#xff08;Dummy Head&#xff09; 虚拟头节点是链表操作中极为实用的设计技巧&#xff0c;它通过在链表真实头部前添加一个特殊节点&#xff0c;有效简化边界条件处理。 一、虚拟头节点的本质与核心作用 1. 定义 虚拟头节点是一个不存储真实数据的特殊节…

使用vllm部署 Nanonets-OCR-s

使用vLLM部署Nanonets-OCR-s模型的完整指南 Nanonets-OCR-s作为基于Qwen2.5-VL-3B的多模态OCR模型,结合vLLM的高效推理引擎可显著提升部署性能。 一、环境准备与依赖安装 1. 安装vLLM与多模态依赖 # 安装vLLM(含CUDA加速) pip install vllm==0.3.21 # 建议使用稳定版本…

大数据在UI前端的应用深化研究:用户行为模式的挖掘与分析

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字化用户体验竞争白热化的时代&#xff0c;用户行为数据已成为产品迭代的核心资产。据 Ad…

解决“Belkin USB-C LAN”有一个自分配的IP地址,将无法接入互联网。

MacBookPro使用belkin转换器连接网线&#xff0c;网络不能正常连通&#xff0c;已确定网线、交换机均正常&#xff0c;可以按照如下操作尝试。我自己的情况是通过下面的方式成功解决。如有其他情况后续继续补充。 1. 打开“设置”-“网络”&#xff0c;点击名字为“Belkin USB…

Python 爬虫初学者教程

一、爬虫基础概念 什么是爬虫&#xff1f; 爬虫是模拟浏览器行为&#xff0c;自动获取网页数据的程序&#xff0c;常用于数据采集、信息监控等场景。 爬虫的基本流程&#xff1a; 1. 发送请求获取网页内容 2. 解析内容提取数据 3. 存储数据 二、环境准备 1. 安装 Python&…

windows下 tomcat的安装部署

Tomcat是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP程序的首选。 本文将详细介绍在Windows环境下搭建Tomcat服务器&#xff0c;来搭建小型应用。 要…

ASIO 避坑指南:高效、安全与稳健的异步网络编程

ASIO 避坑指南&#xff1a;高效、安全与稳健的异步网络编程 引言 ASIO是很强大的一个异步io库&#xff0c;但服务器除了高效以外&#xff0c;稳定也是关键&#xff0c;这篇文章主要总结了ASIO使用遇到的典型问题和坑&#xff1a; 如何榨干io_context的性能&#xff0c;让CPU…

鲸孪生中三维模型的常见问题~

鲸孪生是山海鲸中专门负责3D 场景搭建和渲染的组件&#xff0c;可以双击进入编辑&#xff0c;进入编辑之后组件栏也会跟着变化&#xff0c;可以插入更多的 3D 内部的组件。 搭建三维场景经常会使用到模型&#xff0c;包括人物模型、建筑物模型、汽车模型等&#xff0c;这些都可…

PyTorch中实现开立方

技术背景 在PyTorch中&#xff0c;没有直接实现cbrt这一算子。这个算子是用于计算一个数的开立方&#xff0c;例如&#xff0c;最简单的-8开立方就是-2。但这里有个问题是&#xff0c;在PyTorch中&#xff0c;因为没有cbrt算子&#xff0c;如果直接用幂次计算去操作数字&#x…

关于如何在 Git 中切换到之前创建的分支的方法

文章目录 关于如何在 Git 中切换到之前创建的分支的方法一、确保你在项目目录中二、查看所有分支&#xff08;可选&#xff09;三、切换到目标分支四、如果分支仅在远程存在五、验证是否切换成功六、常见问题处理七、总结命令流程 PS:下次进入分支时&#xff0c;只需完成步骤1 …

基于深度学习的智能图像语义分割系统:技术与实践

前言 图像语义分割是计算机视觉领域中的一个重要任务&#xff0c;其目标是将图像中的每个像素分配到预定义的语义类别中。这一技术在自动驾驶、医学影像分析、机器人视觉等多个领域有着广泛的应用。近年来&#xff0c;深度学习技术&#xff0c;尤其是卷积神经网络&#xff08;C…

历史轨迹组件性能优化方案

针对历史轨迹组件的性能优化&#xff0c;可从数据处理、渲染策略、内存管理和交互优化四个方面入手。以下是具体的优化方向和实现方案&#xff1a; 一、数据处理优化 1. 轨迹数据抽稀算法 原理&#xff1a;在不影响轨迹整体形状的前提下&#xff0c;减少轨迹点数量实现方案&…

【论文阅读36】- Graph Attention Network(2025)

这篇论文主要介绍了一种基于改进型图注意力网络&#xff08;Graph Attention Network, GAT&#xff09;的滑坡变形异质性监测方法。该方法通过融合多尺度时间嵌入和自适应图学习&#xff0c;能够同时捕捉监测点之间复杂的时空依赖关系&#xff0c;有效反映滑坡的局部与整体变形…

CSS基础3

动画-animation 动画-animation与 transition过渡动画的区别 transition过渡动画&#xff1a;实现两个状态间的变化过程动画animation&#xff1a;实现多个状态间的变化过程&#xff0c;动画过程可控&#xff08;重复播放、最终画面、是否暂停&#xff09; 走马灯-使用transiti…

Java 程序设计试题​

​考试时间&#xff1a;120 分钟​ ​总分&#xff1a;100 分​ 一、选择题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 1.以下哪个不是 Java 的关键字&#xff1f; A. final B. sizeof C. static D. void 2.以下代码输出结果是&#xff1f; System.out.printl…

Elasticsearch(ES)与 OpenSearch(OS)

Elasticsearch&#xff08;ES&#xff09;与 OpenSearch&#xff08;OS&#xff09;本质上是同源分叉、独立演进的技术&#xff0c;两者关系可概括为“起源相同、目标分化”。以下是关键要点解析&#xff1a; &#x1f50d; 一、核心关系&#xff1a;分叉与独立演进 起源相同 O…