自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

原创 什么是规范驱动开发 (SDD)?AI 时代的编程新范式

这是一种充满魔力的即兴创作过程,正如 AI 领域的思想家 Andrej Karpathy 所描述的,他称之为:“我正在构建一个项目,但这并不真正是编码——我只是看到什么,说到什么,运行什么,然后复制粘贴,它基本上就跑起来了。在规范驱动开发的模式下,开发者的核心价值不再是逐行编写代码的体力劳动,而是更高层次的思考、设计与决策。在 AI 时代,编程的核心正在发生深刻的变革。掌握从关注“怎么做”到定义“做什么”的思维转变,拥抱规范驱动的开发模式,你将不仅仅是一名代码的实现者,更是一名系统的设计者和价值的创造者。

2025-12-30 11:00:00 312

原创 GitHub Spec Kit 的 6 个惊人真相:它将彻底改变你与 AI 的编程方式

引言:告别“凭感觉编程”的混乱时代在 AI 辅助开发的新纪元,向 Copilot 这样的助手抛出一个模糊的想法——例如“给我做一个照片分享功能”——然后得到一堆混乱、不完整的代码,已不仅仅是一种普遍的挫败感。这种被称为“凭感觉编程”(vibe coding) 的方式,正迅速成为阻碍团队有效扩展 AI 应用的系统性风险和关键瓶颈。为了应对这一挑战,GitHub 推出了一个名为 Spec Kit 的开源工具包,及其核心理念——规范驱动开发 (Spec-Driven Development, SDD)。

2025-12-23 11:00:00 616

原创 AI 浏览器自动化:结合 Claude 与 chrome-devtools-mcp 的革命性实践

传统自动化工具需要开发者手动定位元素,而 chrome-devtools-mcp 能让 Claude 直接“读取”DOM 结构、监控网络请求、模拟用户点击——相当于给 AI 装上了“眼睛”和“手脚”,使其能像人类开发者一样操作浏览器。Claude 与 chrome-devtools-mcp 的组合,将浏览器自动化从“代码驱动”推向“意图驱动”,其核心优势在于降低了门槛——开发者无需精通自动化框架,只需用自然语言描述需求即可。明确指令边界,例如“若未找到目标元素,等待3秒后重试2次,仍失败则返回错误信息”。

2025-12-16 11:00:00 561

原创 知识图谱与GNN在低代码推荐中的挑战(下):动态性与跨领域难题

例如,OA系统中的"表单"组件,在人事场景中强调"数据收集完整性",在财务场景中强调"计算准确性",在项目管理场景中则强调"进度关联性"。传统的"训练-部署"模式无法应对数据分布的持续变化,需要引入持续GNN学习方法,在保留历史知识的同时,快速学习新组件和新关系特征,避免"灾难性遗忘"OA领域的"汇报关系"、财务领域的"核算关系"、销售领域的"客户归属关系",需要建立跨领域的关系映射规则。例如,"流程"在OA领域指"审批流程",在项目管理领域指"任务流程",在供应链领域指"物流流程"

2025-12-02 11:00:00 549

原创 知识图谱与GNN在低代码推荐中的挑战:当前面临的技术瓶颈(上)

同时,GNN模型本身存在的“黑箱”特性、对稀疏数据的敏感性以及计算效率的挑战,也限制了其在要求高可信、高效率的低代码场景中的应用深度。然而,在实际应用中,知识图谱与GNN的结合面临着低代码场景特有的技术挑战。实验显示,在OA组件推荐中,GNN模型对"数据关联"关系的注意力权重与"样式继承"关系的权重差异仅为0.03,人类难以区分这种细微差异对应的实际含义。实验表明,基于BERT的远程监督关系抽取在低代码文档上的F1值仅为0.62,远低于通用领域的0.78,主要原因是领域术语的歧义性和关系表达的多样性。

2025-11-24 11:04:33 1089

原创 大规模低代码系统推荐:知识图谱与 GNN 的性能优化策略

对于一个由千万个组件和上亿条关系构成的图,进行一次全图的节点嵌入计算或图结构更新,在单机环境下可能需要数天甚至数周的时间,这完全无法满足在线服务的实时性要求。将CRM相关的组件、供应链相关的组件、数据分析相关的组件等分别存储在不同的数据库节点上。在查询时,优先利用索引进行过滤,减少不必要的图遍历。在线推理阶段,系统的目标是将缓存中的Embedding进行快速计算,生成最终的推荐列表。当用户行为(如评分、点击)发生变化时,需要及时更新对应的Embedding,并使相关的缓存条目失效,以保证推荐的实时性。

2025-11-17 11:04:40 1015

原创 低代码用户画像构建:结合知识图谱提升推荐精准度

想象一下,平台中的数据是散落的珍珠:用户的技术背景是一颗珍珠,用户的业务领域是另一颗,而平台中的每个组件又是一颗。本文旨在探讨一种更高级的用户画像构建方法 —— 结合知识图谱(Knowledge Graph),通过将用户行为、技术组件、业务场景等信息结构化地连接起来,构建一个动态、智能的用户画像体系,从而显著提升推荐系统的精准度和用户体验。通过知识图谱,我们不仅能知道用户会用哪些组件,还能推断出用户可能掌握的相关技术(如通过组件间的调用关系),以及用户可能关注的业务领域(如通过组件的行业应用标签)。

2025-11-11 11:00:00 901

原创 GNN 基础架构:从图卷积到图注意力,哪种更适配低代码推荐?

GNN能够将推荐系统中的各类实体(用户、商品、服务、组件等)视为图中的节点,实体之间的交互关系(如购买、评分、依赖、调用等)视为图中的边。其核心思想是对图中的每个节点进行局部的卷积操作,通过聚合其邻居节点的特征来更新自身的特征表示。无疑是最适配的选择。但在低代码平台中,一个用户的“重要”朋友(如经常一起协作的同事)和一个“普通”朋友对其偏好的影响是不同的。注意力机制使得GAT能够更灵活地捕捉不同邻居的重要性,从而更好地建模用户与用户、组件与组件之间的复杂关系,尤其是在低代码平台这种高度连接的环境中。

2025-11-04 11:00:00 669

原创 支撑低代码推荐的 “数据底座”:知识图谱的存储与查询

如果我们想描述“连接”这个关系的属性,比如连接类型是“数据流”,触发条件是“点击”,就需要引入“具象化(Reification)”等复杂概念,将一个关系变成一个节点,再为这个新节点添加属性,这无疑增加了模型的复杂度和查询难度。:将知识图谱作为大型语言模型(LLM)的结构化“外部记忆”,用户或许可以通过自然语言(如“帮我创建一个包含用户注册和登录功能的页面”)来构建应用,LLM 负责理解意图,知识图谱则提供精确的组件和逻辑关系供其调用和组装。低代码平台是“活”的,用户无时无刻不在创建、修改、删除应用。

2025-10-28 11:00:00 887

原创 低代码系统中的实体与关系:知识图谱构建的关键要素

更多推荐阅读图神经网络(GNN)核心:让低代码推荐拥有 “学习能力”-CSDN博客知识图谱入门:为低代码系统推荐搭建“知识骨架”(上)-CSDN博客知识图谱入门:为低代码系统推荐搭建“知识骨架”(下)-CSDN博客低代码系统推荐困境——为何传统推荐方法难以满足需求?-CSDN博客目录引言一、低代码系统中知识图谱的实体分类与定义标准二、实体间核心关系类型1. 包含关系(Contain)2. 依赖关系(Depend On)3. 适配关系(Adapt To)4. 触发关系(Trigger)5. 关联关系(Ass

2025-10-21 11:00:00 1750

原创 图神经网络(GNN)核心:让低代码推荐拥有 “学习能力”

传统神经网络(如 CNN、RNN)无法处理这类数据:CNN 擅长 “网格数据”(如图片的像素网格、表格的行列结构),RNN 擅长 “序列数据”(如文本的文字序列、用户的操作步骤),但面对不规则的图结构(比如 “客户表单” 可能关联 10 个组件,“日志组件” 仅关联 2 个组件),它们就会 “无从下手”。在低代码的图结构中,每个节点(如 “客户表单”)都有自己的 “邻居节点”(如 “姓名输入框”“销售流程”“日志组件”),节点间的边会附带 “权重”—— 关系越紧密,权重越高。

2025-10-14 11:00:17 716

原创 知识图谱入门:为低代码系统推荐搭建“知识骨架”(下)

知识图谱在低代码系统中的核心作用低代码开发平台旨在通过可视化界面和预置组件,让用户快速构建应用。然而,一个强大的低代码系统不仅要提供丰富的组件库,还需要理解用户的业务场景,主动提供有价值的建议。这正是知识图谱能够发挥作用的地方。将知识图谱引入低代码系统,可以为其推荐功能搭建一个“知识骨架”,让系统更“聪明”地理解用户需求并给出相关推荐。低代码平台上的组件和功能往往对应现实业务中的实体和流程。通过构建业务领域的知识图谱,系统可以将这些组件和功能关联起来。

2025-09-23 15:00:00 1777

原创 知识图谱入门:为低代码系统推荐搭建“知识骨架”(上)

知识图谱是一种以图形式表示知识的方法,它用节点代表实体或概念,用边代表实体之间的关系。简单来说,知识图谱就是把现实世界中的各种“东西”以及它们之间的联系,像绘制地图一样表示出来。例如,在一张人物关系知识图谱中,我们可以有“张三”和“李四”两个节点,如果他们是朋友,就在这两个节点之间连一条边并标注“朋友”关系。通过这样的方式,大量分散的信息被组织成语义网络,计算机可以基于这个网络进行推理和查询。知识图谱由三个核心要素构成:实体(Entities)、关系(Relations)和属性(Attributes)。

2025-09-23 11:00:00 670

原创 低代码系统推荐困境——为何传统推荐方法难以满足需求?

但低代码场景下,“组件 - 流程 - 用户” 构成复杂网络:组件间有依赖关系(如 “表单组件” 需 “数据存储组件”)、组件与流程有归属关系(如 “支付组件” 适配 “交易流程”)、用户与流程有权限关系(如管理员可编辑审批流程)。组件可能适配多个流程,但适配程度不同:如 “表单组件” 可用于 “审批流程”(需搭配 “签字组件”)和 “数据采集流程”(需搭配 “导出组件”),且同一流程中组件优先级有差异(如 “交易流程” 中 “支付组件” 是核心)。:仅关注组件自身属性(如 “支持拖拽”),忽略依赖。

2025-09-15 11:15:22 837

原创 Spark生态全景图:图计算与边缘计算的创新实践

Apache Spark已从内存计算引擎发展为覆盖数据处理、机器学习、图计算和边缘计算的完整生态系统。本文将深入探讨Spark生态中两大前沿方向:GraphX图计算在金融风控的应用以及Spark在IoT边缘计算场景的创新实践。随着Spark 3.5对边缘场景的深度优化及图神经网络的融合,开发者将获得更强大的工具应对数字化挑战。Spark正从"数据中心框架"蜕变为连接云端与边缘的"全域智能计算中枢"。二、边缘计算场景:Spark on IoT设备数据聚合。在边缘端实现"数据智能过滤,价值精准上传"

2025-09-08 11:00:16 808

原创 Spark前沿篇:AI与生态融合的技术突破与实践

在大数据与AI深度融合的浪潮中,Spark凭借其分布式计算框架与AI生态的深度整合,正在重塑深度学习的技术范式。传统深度学习框架(如TensorFlow/PyTorch)在处理海量数据时,面临单机内存瓶颈,而Spark通过RDD/DataFrame的分布式抽象,将数据预处理、特征工程与模型训练无缝衔接,形成"数据驱动AI"的新模式。据Gartner预测,到2026年,75%的企业将采用Spark生态构建AI流水线,这一趋势正在加速到来。:Spark 3.4+原生支持FP16计算,GPU训练效率提升3倍。

2025-09-02 11:00:00 781

原创 Spark云原生流处理实战与风控应用

Spark在云原生和流处理领域的深度演进,使其成为现代数据架构的核心引擎。通过Kubernetes实现资源弹性、利用Structured Streaming保证精确一次处理,并在实时风控等关键场景验证其能力,Spark正重新定义实时计算的边界。随着无服务器架构和AI集成的深入,Spark在云原生时代的价值将愈加凸显。本文将深入探讨Spark在Kubernetes环境下的动态扩缩容、Structured Streaming的精确一次处理机制,并通过真实案例解析实时风控系统架构实现。

2025-08-26 11:00:12 936 1

原创 Spark性能调优的道与术:从理论到实践的精髓

性能优化是Spark开发中永恒的话题,优秀的调优策略往往需要在理论深度与实践经验之间找到平衡点。本文将系统性地介绍Spark性能调优的核心方法论,涵盖资源分配策略、Shuffle机制演进以及现代监控调优工具链,帮助开发者构建高性能的Spark应用。随着Spark on Kubernetes的普及和AI驱动的自动调优发展,性能优化正变得更加智能化。但深入理解这些核心原理,仍是应对复杂场景的基础。:对于批处理作业,初始Executors设为总任务的1/4,最大Executors设为集群可用资源的80%。

2025-08-19 11:00:00 780

原创 PySpark性能优化与多语言选型讨论

本文将深入探讨PySpark的底层实现机制、多语言API性能差异以及如何与深度学习框架集成实现分布式推理。:监控Python Worker内存,避免OOM(建议开启spark.python.worker.memory),PySpark在多语言生态中的优势将进一步扩大。:Driver端的Python解释器与JVM分离,通过Socket通信,避免GC相互影响。:PySpark通过Py4J实现Python-JVM交互,Worker进程隔离保障稳定性。PySpark与多语言支持:架构原理、性能对比与AI集成实践。

2025-08-12 11:08:03 798

原创 Spark SQL:用SQL玩转大数据

突破传统Hive单一数据源限制,支持RDD、Parquet、JSON、CSV、JDBC(如MySQL/Oracle)等异构数据源,形成统一抽象的数据帧(DataFrame)接口。Spark SQL的核心价值在于以SQL语法统一异构数据处理流程,通过Catalyst与Tungsten的深度协同,使开发者无需关注底层分布式复杂性,专注业务逻辑实现。摆脱对Hive执行引擎的依赖(仅复用其元数据存储与HQL解析),自研执行引擎实现更高性能扩展。一、Spark SQL核心定位:大数据处理统的一入口。

2025-08-04 11:00:27 1386

原创 Spark初探:揭秘速度优势与生态融合实践

与MapReduce强制将计算过程分为Map和Reduce两个阶段不同,Spark的DAGScheduler可以将一系列操作合并为更高效的任务阶段,只有在需要与其它节点交换数据时才进行shuffle操作,从而大幅减少不必要的磁盘I/O。本文将深入探讨Spark为何能比Hadoop MapReduce快上数十倍甚至百倍,剖析其核心内存计算机制与RDD弹性分布式特性,阐述Spark与Hadoop生态系统的互补关系,并最终通过一个5分钟快速搭建本地Spark环境的实践指南,帮助读者快速上手这一强大工具。

2025-07-29 11:34:31 943

原创 Spark与Flink深度对比:大数据流批一体框架的技术选型指南

Spark的定位为"快速的、通用的、可扩展的大数据处理引擎",如同一个全能型选手,能够处理各种类型的数据任务。Spark最初以批处理闻名,后通过Spark Streaming实现微批处理(Micro-batch)来支持流计算,近期又推出Structured Streaming向真正的流处理靠拢。,Flink的设计更为完善。根据Apache路线图,Flink 2.0将引入性能提升3倍的流处理SQL引擎,而Spark Structured Streaming计划实现与Flink API的互操作性。

2025-07-22 11:00:00 1215

原创 LightProxy使用操作手册

LightProxy是一款由阿里巴巴集团开发团队精心打造并开源的网络代理和调试工具,旨在帮助开发人员在进行Web开发和测试时,能够轻松实现网络数据的抓取、调试以及性能分析等复杂操作。这款工具不仅支持macOS和Windows两大主流操作系统,实现跨平台操作,而且其界面设计简洁直观,功能布局合理,即使是初次接触的用户也能迅速上手,进行基本的代理设置和调试操作。LightProxy是一款功能强大的网络调试工具,它可以帮助我们捕获和分析网络请求,是进行前端开发、后端调试以及移动应用测试的重要工具。

2025-07-15 11:30:24 1133

原创 Sentry一看就会教程

前情摘要此前发布的低代码前端异常监控相关文章中,我们已了解到通过 Sentry 实现错误监控与日志上报的核心要点。这不仅有助于快速定位和解决问题,还能提升应用程序的稳定性和用户体验:优化日志上报机制:通过手动和自动上报日志,确保所有错误都能被记录和上报。提高问题定位效率:利用Sentry的搜索和分析功能,快速定位问题根源。建立使用规范:通过规范Sentry的使用,确保日志信息的准确性和一致性。提升开发效率:减少因问题定位困难而导致的开发时间浪费,提高开发效率。

2025-07-08 11:00:29 1005

原创 微前端架构解析:核心概念与主流方案特性对比

微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于参与人员、团队的增多、变迁,从一个普通应用演变成一个巨石应用后,随之而来的应用不可维护的问题。弹框类的功能无法应用到整个大应用中,只能在对应的窗口内展示。多种构建模式 - 同时支持在微前端模式和非微前端模式构建,兼容动态化的运行时集成和静态化的构建时集成。CSS 隔离 - 可选的 CSS 隔离设定,并根据不同的渲染方式,具备宽松隔离和严格隔离的可选项。EMP是由欢聚时代业务中台自主研发的最年轻的单页微前端解决方案,除了具备微前端的能力外,还实现了。

2025-07-01 11:00:00 1048

原创 JavaScript中的递归与回溯

细心的朋友应该能发现,嵌套 for 循环的次数其实就等于我们要排列的 (k) 的次数。当我们选择到了[1,2]之后,则需要回到1的位置,因为这个时候需要选择3选项,形成[1,3],那么回到'1'的操作,就类似于二叉树遍历回到父节点的操作,如果此时我们不操作,path.pop(),就会形成了[1,2,3],这样的结果明显不是我们想要的,因此在操作push "3"的过程中,需要先把2给pop掉。以上面题目为例子,从1-4(n)的数字中,排列2(k)个数的组合。要想理解回溯的含义,最为经典的还是二叉树的遍历。

2025-06-24 11:05:18 817

原创 vue2.7升级指南

vue3中,新增了 defineComponent ,它并没有实现任何的逻辑,只是对setup函数进行封装,返回options的对象,它的存在是完全让传入的整个对象获得对应的类型,它的存在就是完全为了服务 TypeScript 而存在的,在TypeScript下,给予了组件正确的参数类型推断。7月1号,尤大在博客上宣布了 Vue2.7 版本的正式发布,这对于 Vue2 版本的用户来说绝对是一个利好消息 —— 不需要大刀阔斧的重构就能体验到 Vue3 中的核心特性了。.userInfo?

2025-06-17 11:00:00 1936

原创 前端性能优化-虚拟滚轮(Virtual Scroll)

该方案的解决方法是第一次只渲染所能承受范围内的数据量,当滚动条拖动接近底部(或右部)时,再去追加下一批所需要渲染的元素,该方案也是有一个明显的缺陷在于,无限地滚动下去必然会触及浏览器的性能瓶颈,而且所需要渲染的元素会越来越多,性能迟早会被拖垮。这个方案是大家浏览到页面所常用的,通常在需要展示非常多行的数据时,页面会采用分页的做法来分割数据,虽然该方法减少了一次性所渲染的行数,但是如果查询的表列数非常多的话,还是有很大概率需要渲染非常多的元素,所以不是一个稳妥的选型。

2025-06-09 11:05:11 1093

原创 Nginx实战

1、正向代理例子(VPN):正向代理就是代理客户端,正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求,并将获得的内容返回给客户端。访问百度,这个时候肯定不是访问同一个服务器,而是通过nginx来转发和控制服务器,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端。

2025-06-03 11:14:30 907

原创 关于列表性能分析与标准

同时下面还有一个updateStyle的方法,这是列表中更新样式的方法,通过源码解读可以发现,在内部处理了空白区域的高度和top,这个方法是在开启了虚拟滚动才会调用的,所以更加坚定了干掉虚拟滚动的想法。然后会看到操作过程的性能分析,可以看到有一段一段的红色进度条,出现红色的进度条说明操作过程,是超出长任务(大于50ms)的,一般出现这种是频繁的操作了DOM元素,触发了浏览器的layout,也会是js的宏微任务运行过多导致。类似于这样的操作,我一般都是选取红色长任务条的平均值,作为衡量列表滚动的时长。

2025-05-26 11:15:38 1050

原创 storybook使用指南

此处写文档与我们平常写文档直接一个table是存在区别的,要按照storybook的规则进行书写,否则无法正常在下方的controls内看到可交互的文档内容。完成了这些设置后,基本就完成了一个组件简单的说明文档了,接下来就可以在网页内进行测试。使用storybook写文档时,需要先引入所需的组件,并且做好注册操作。看到在项目中有对应的菜单了,接下来要进行参数的设置。在引入了组件后,就可以开始写我们熟悉的属性文档了。在进行了基本的初始化之后,就可以执行。1. storybook是什么。喜欢本文请点点关注~

2025-05-20 11:00:00 725

原创 Fullcalendar常用功能介绍

注意:除非确认所有视图都不能使用,才使用这种视图,文档上描述不是很清晰,并不能让我们知道自定义后事件是如何触发的,很多东西都要重新写过,事件触发还得自己搞。使用方式以当前的日历视图实例.getApi()去获取整个日历视图的相关数据,返回的是一个Calendar的类型。显示日历视图:FullCalendar可以显示日历视图,包括月视图、周视图和日视图等。由于返回的是Calendar,所以可以直接使用Calendar下面的方法,如。从上面可以看出,我们的视图,是由对应视图插件,加上展示条件进行共同配置的。

2025-05-14 11:00:00 2685

原创 前端性能&异常分析排查流程

在确保前端应用程序提供无与伦比的用户体验的同时,还需考虑到性能方面的因素。使用 Chrome 开发者工具中的Performance 选项卡,查看页面加载过程中的时间线,并分析每个时间段的耗时情况。工具:可以自动测试网站的性能、可访问性和最佳实践等指标,并提供建议和改进方案,帮助开发者全面评估网站的性能和质量。第三方库冲突:使用了多个第三方库或框架,可能会产生依赖冲突或版本不兼容的问题,导致页面无法正常运行。4、点击长任务,可以看到执行的总时长,可以从这里分析是渲染的时间占比长还是函数调用的时间长。

2025-05-09 11:00:00 1407

原创 Dify平台压测

选择该工具的原因:由于Dify的chat-messages为流式响应接口,经调研Locust相较其他工具(如Jmter、K6、wrk),直接在测试脚本中通过参数设置即可支持流式接口的调用,故本次压测使用Locust作为压测工具。由于在8核16G的限制下,资源已无法再进行调整,同时在压测过程中发现接口最终会通过pdsql进行数据的查询和修改,故对pdsql的配置进行调优,具体调整如下。该查询sql是压测接口中会执行的sql,同时查看表结构确认查询可以命中索引,且该表无数据,通过。

2025-04-29 11:00:00 2905 1

原创 SQL问数提示词模板与测试

输出格式:请以 json返回,json里面的格式为{"sql":"{需要返回的sql}", "desc": "对sql的解析"}, sql不需要换行。通过提示词提取到核心字段后,将属于低代码外键字段的名称修改为"xxID",并保存视图,用视图的字段名,作为表结构维护起来,再做一次大模型总结。:请以 json返回,json里面的格式为{"sql":"{需要返回的sql}", "desc": "对sql的解析"}, sql不需要换行。查询项目名称为中粮考勤的参与人,并按参与工时降序排序,最多返回 10 条。

2025-04-22 11:00:00 1858

原创 Dify架构分析

随着业务的发展,如果原有的模块已经无法满足需求,Dify可以快速地添加新的模块,而不需要对原有的系统进行大规模的修改。Dify作为主流的AI开发平台工具,具有独特的优势。如下图,用于提供每个节点配置prompt、配置输入、配置输出的一项核心功能,核心本质是根据不同的节点类型,作为节点的上下文,对这个节点的输入和输出进行字符串替换,无实现的技术难度。实际上调试使用的功能就是工作流节点的节点停留,可以调试从开头节点到当前节点的实现逻辑,并将每个节点的运行信息显示在前端的一个基础功能,无实现的技术难度。

2025-04-14 11:00:05 1962

原创 Dify内部工具实现过程

因为我们要了解的是工作流怎么调用到插件的过程,所以根据上面的入口,继续探查时,我们会进入到这个else if的判断逻辑,需要继续进入到WorkflowAppGenerator里面的逻辑。从上面的实例化映射中,我们可以知道ToolNode就是内置工具的节点处理类,其中ToolNode的核心是ToolManager。循环的核心逻辑实际上就是遍历工作流的边和节点,获取到新的节点后,实例化节点,执行节点的内部run函数。收集上一个节点产生的内容,以上下文的方式中传入到当前节点,并作用于当前节点的参数配置。

2025-04-07 10:59:15 1176

原创 使用pycharm社区版调试DIFY后端python代码

原来的docker compose文件并没有暴露中间件的端口,请修改各个中间件的端口暴露,方便本地和docker跑的用的中间件一样,下面的文件是从0.15.3版本文件里面更改中间件后的docker-compose文件,主要改了redis、pgsql、weaviate等,同时还限制了新建的网络为172网络,防止和一般的192局域网段冲突。配置PYCHARM的运行参数;这里的.env文件要和第一个步骤的.env文件的sercetKey一致,理论上两个东西是一样的,不知道为什么开源的搞了两个文件放在不同的地方。

2025-04-02 11:00:00 3669 1

原创 Dify 0.15.3版本 本地部署指南

通过本地部署,用户可以更灵活地定制和扩展Dify的功能,满足多样化的需求。由于有些代码逻辑,前端是取后端返回的URL进行请求的,例如图标地址是后端给的地址,因此需要修改一下.env文件里面的各种http地址为具体的ip或者域名,如下图,根据自己部署的域名或者IP,将原来的127.0.0.1改成对应的地址,生产建议全域名。Dify 0.15.3版本在Linux上的本地部署指南,涵盖单机部署机器配置、系统Python环境安装、中间件部署、npm环境配置、Dify及相关组件运行、Rerank模型安装等内容。

2025-03-27 10:59:31 3768 1

原创 OpenAI没做到的,梁文锋他们做到了?长上下文赛道的NSA与MoBA启示录(下)

一、解剖NSA:当算法设计师和硬件工程师"联姻"DeepSeek的NSA像一台精密的瑞士钟表,将算法创新与硬件优化完美啮合。其核心奥秘在于:让稀疏计算不再是理论上的"节能标兵",而是实际部署中的"速度狂魔"。要实现这一点,团队祭出了三把"手术刀":动态分层筛选、硬件对齐设计、端到端可训练性。1.动态分层筛选:注意力界的"三明治法则"NSA的注意力计算像吃三明治——先大口咬下主体结构,再细品关键夹心:● 第一层:望远镜模式。

2025-03-19 16:00:00 1822

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除