首页 文章 精选 留言 我的

精选列表

搜索[动效],共4758篇文章
优秀的个人博客,低调大师

基于Rspack实现大仓应用构建提实践|得物技术

一、实践背景 随着项目的逐步迭代,代码量和依赖的逐渐增长,应用的构建速度逐步进入缓慢期。以目前所在团队的业务应用来看(使用webpack构建),应用整体构建耗时已经普遍偏高,影响日常开发测试的使用效率,其中编译耗时大约占50%。 实际上随着近些年前端的技术发展以及业务对前端交互体验的要求提高,前端整个代码量复杂度和代码量增长飞快。随着这一趋势的变化,服务于前端工程构建方案多年的webpack,在构建效率上已经逐渐成为瓶颈。因此业界也存在不少优化思路和方案,主要分两个方向: 基于原有Node.js语言实现,通过缓存等方案来提升构建效率,主要是缓存、预构建的方式来减少编译。此类方案多数存在条件限制,比如缓存方案前提是第一次先生成缓存来提升二次构建效率,对于发布平台等需要冷启场景无法生效。 另外一类是采用Golang、Rust等语言重新实现耗时较为复杂的编译过程,从语言层面实现编译过程的性能提升。比较有代表的有,基于Golang实现的esbuild、基于Rust实现的SWC,都在对应的场景得到不少的性能提升。 二、业界方案 既然是业界的普遍性问题,那么外界也肯定会存在不少优化案例可以借鉴或者复用。由于Node.js的优化方案通常都会存在各种场景限制,这里我们主要从另外一个思路去寻找方案。经过调研目前业界的主要方案有Rspack、Vite、Turbopack、swcpack相对比较有代表性(可能还有其他方案,由于笔者时间精力有限未能了解到)。几个方案主要的情况如下(笔者个人主观分析,仅供参考): 三、技术选型 先看当前大仓前端应用主要技术体系:整体技术栈主要是React为主,未来Vue还会逐步迁移React;框架层面UmiJS@4大概占60%、UmiJS@v3大概占20%、剩余为其他Vue或者C端的多页应用。整体技术体系主要是UmiJS为主,配套主要是webpack的构建方案,部分Vue项目有使用Vite。 在这样的现实情况下,我们面对的主要是React+UmiJS+webpack的应用。基于应用广泛性考虑,只要解决这部分应用就可以达到80%的应用提速覆盖。为此,我们选择了基于Rspack来实现构建方案的性能提升,主要考虑有以下几点: 高性能:基于Rust实现核心能力,全量编译+增量编译(HMR)的实现方式,官方宣称实际落地有5~10倍的提升,随着未来逐步优化完善还有提升空间,且生产和开发阶段除缓存之外,基本可以获得一致性的性能收益。 低成本:Rspack大量兼容webpack生态,大量配置和插件可以直接或者调整一下配置即可复用,仅需对一些特殊的插件自研定制开发即可。以下是对项目主要使用到的webpack能力进行了梳理,并对其在Rspack中的情况情况也进行了对照。 综合情况来看:虽然性能Rspack未必是最高的,但其兼容webpack生态带来的低成本迁移,是其他的方案基本上无法做到的。对此,选择了基于Rspack来作为基础的底层能力。得益于此,我们最终实现了业务代码零改动即可实现构建方案迁移(仅微调构建配置),并获得云构建2倍+编译性能的提升。 四、方案设计思路 由于大仓目前大量的应用为UmiJS@4体系,作为我们主要服务的目标对象,本文也是主要先针对解决UmiJS@4版本的应用方案。 方案难点 UmiJS仅支持webpack和Vite两种构建模式,如何扩展Rspack构建? 业务应用中有大量使用UmiJS插件、Babel插件来实现一些特殊能力,如何支持此类插件的能力? 如何尽可能降低业务应用接入成本,进而达成方案快速应用到各个业务应用中? 通过扩展插件命令实现Rspack构建 UmiJS默认构建能力是封装在@umi/max内部,通过max dev/build来调用内置配套的本地/生产构建。在UmiJS官方上并未提供编译能力的完全自定义扩展能力,仅支持Vite/webpack的选择以及提供了一些修改构建配置的方法。 通过查看UmiJS项目的源码,发现其内部的构建实现全部集中在dev/build这两个扩展命令中。源代码在preset-umi/src/commands/目录下的dev/dev.ts和build.ts 两个文件,分别对应dev和build命令。而实际上的构建逻辑,实现上主要是在 @umijs/bundler-vite 和 @umijs/bundler-webpack两个包中。其内部执行的主要逻辑如下(这里以dev模式为例,build模式基本上类似,就是少了文件监听编译和express相关逻辑): 那么我们只需要在新的命令中实现相关的逻辑,即可通过扩展命令的方式来扩展Rspack构建能力。另外,使用该方法实现,还能沿用UmiJS原本的代码生成等原本的插件,进而可以避免需要大量重新实现UmiJS插件的能力,并降低重写带来的逻辑不一致风险。 官方平替插件+少部分自研扩展支持原有插件能力 前面的插件扩展模式已经能保证原有大量的UmiJS能力是可以直接沿用的,比如生成路由、添加tailwind.css等UmiJS内置能力都可直接沿用。另外项目主要依赖扩展的插件,除了少部分修改构建能力的插件之外,基本上都可以直接使用或者少量适配即可。不兼容的几个插件主要是因为:功能是通过修改的webpack配置来调整构建能力,需要通过使用对应的Rspack构建能力来进行兼容。 另外除了UmiJS的插件之外,还有构建依赖的Babel插件部分,当然部分Babel插件也是通过UmiJS插件引入使用的。对此,也对主要的Babel插件的情况进行了梳理,其主要的情况如下表: 所以整体上还是以沿用webpack原有扩展加Rspack官方能力替换为主,只需要针对少部分未支持的Babel插件进行扩展即可实现。 基于配置映射实现业务超低接入成本 想要达成方案可以快速应用的理想效果,就是让应用接入过程中尽可能少改内容,特别是业务代码。因为一旦要改业务代码逻辑,这种就会增加非常多的接入成本,所以在方案设计上,构建能力以及原本UmiJS的相关配置能力要尽量去沿用并且满足基本上不需要业务侧同学去感知差异化的内容。 带着这个需求并结合前面的几块内容分析来看,大多数内容都是有平替方案,少部分需要进行自定义开发扩展,主要也是集中在Babel插件上。那么我们需要做的就是维持UmiJS转换生成webpack的配置逻辑不动,在拿到webpack配置之后,再对webpack的配置做解析通过一个配置转换器对需要转换成Rspack的内容进行转化,对原本兼容的配置直接迁移使用即可实现我们的目的。 配置&能力映射示意图: 方案架构 结合以上的问题解决思路以及目标,最终方案的架构设计如下: 架构要点说明: 通过扩展自研插件,提供自定义的rspack-dev和rspack-build命令来提供开发、生产模式,接入时仅需要安装插件并替换启动命令即可(举个例子:package.json中修改max dev为max rspack-dev)。 通过插件内部对配置进行转化,将原本UmiJS的配置转为Rspack配置,保障业务应用接入时基本不感知。另外在开发成本方面,由于大多数loader和plugin可以复用,主要是配置和loader等能力替换映射成本。 方案基于UmiJS的max扩展,原本UmiJS的扩展能力不受影响。业务高使用率Babel插件有现成的SWC扩展能力可直接替换(比如:Babel-plugin-import、svgr等),少部分自研插件需要使用Rust重写。 稳定性保障 切换构建之后,less/postcss插件是一致的,主要风险来自于两个方面: webpack转Rspack:Rspack项目内平移了大量的webpack测试用例用于保障一致性,另外默认严格模式,出现不兼容配置会抛出错误中断构建,保证了基础方面的稳定性。 Babel(v7)转SWC:SWC支持所有stage 3 perposals 、preset-env,JS/TS语法编译能力上跟Babel 7对齐。在插件生态上不一致,若有使用Babel插件,需要考虑替换方案(详情参考附录中的Babel插件使用情况)。 虽然在Rspack方面申明已经兼容了主流的内容,但毕竟是替换了构建方案,对业务来说还是存在一些未知的风险,还是需要一些手段来进行保障业务应用的稳定性。 稳定性保障手段: 构建报错中断策略:配置上出现不支持的Babel插件直接报错中断构建,避免未支持的内容被跳过进而导致异常发布上线。 阶段推进落地策略:由于大多数构建运行都是在开发测试阶段(粗略统计平台发布70%左右为测试环境),先行接入开发&测试环境达到构建效率提升,等开发测试阶段跑稳定之后,再从非核心应用开始试点上线,功能稳定之后再逐步推广。 极简的应急恢复策略:由于极低的接入成本,若接入遇到问题想快速回退也非常简单,仅需回退命令为dev/build即可完成应急恢复。 五、方案效益 实现超低接入成本:仅需改动三个小步骤,一两分钟即可完成接入。具体步骤如下: 添加并安装依赖:添加并安装@umijs/plugin-rspack依赖(得物私有npm包)。 dx add @umijs/plugin-rspack@latest -D 添加UmiJS的plugin:在config/config.ts中修改plugins属性。 { // 原有其他配置 ... plugins: [ // 原有其他插件 ..., // 添加 @umijs/plugin-rspack 插件 '@umijs/plugin-rspack', ], // 原有其他配置 ... } 修改构建命令:修改package.json中的构建命令,将对应环境的命令调整为rspack-dev/rspack-build,并增加NODE_ENV配置。 { "scripts": { // start 对应支持本地的dx dev, // 原配置样例 - "start": "cross-env BUILD_ENV=dev max dev", // 改rspack构建样例 + "start": "cross-env BUILD_ENV=dev NODE_ENV=development max rspack-dev", // pnpm:build:x 对应支持发布平台指定的环境 // 原t1配置样例 - "pnpm:build:t1": "cross-env BUILD_ENV=t1 max build", // t1改rspack构建样例 + "pnpm:build:t1": "cross-env BUILD_ENV=t1 NODE_ENV=production max rspack-build", ... // 原先的其他配置,酌情进行调整 } } 平均2倍+的编译性能提升:大仓应用接入17个应用(目前主要是接入开发、测试环境),平均提升在2倍以上。以自身负责的一个应用为例,原有webpack编译耗时150秒,接入后降低到40秒(减少73.33%),加上优化过程中去除部分无用的引入代码最终仅需20秒左右。 六、分享过程中的一些干货 这里主要结合UmiJS所需要的能力,分享一些UmiJS涉及到的Rspack用法以及过程中一些比较典型的内容。 支持ts/tsx ts/tsx的支持主要依靠的是swc-loader,Rspack使用了Rust定制的builtin:swc-loader,其使用方式基本上是跟webpack的swc-loader一致的,详情可以直接参考swc-loader文档,这里主要体现一些常用的配置项,具体使用可以结合自身项目情况来调整。 export default { module: { rules: [ { test: /\.(j|t)s(x)?$/, loader: 'builtin:swc-loader', options: { env: { // 浏览器兼容性,支持browserslist,详细可以参考:https://swc.rs/docs/configuration/supported-browsers#targets targets: { chrome: "80", }, }, // js/ts编译配置 jsc: { parser: { // 开启ts编译 syntax: 'typescript', // 开启tsx编译 tsx: true, // 开启@装饰器编译 decorators: true, // 动态import // dynamicImport: false, }, transform: { // react运行环境配置 react: { // dev模式打开development启动react的开发模式 development: isDev, }, // stage 1 的旧版本class decorators legacyDecorator: true, // 支持 ts emitDecoratorMetadata decoratorMetadata: true, }, }, }, }, ] } } React HMR 在看文档配置时,感觉不好理解,实际使用上其实分两种情况: 直接使用Rspack的devServer情况下,需要同时开启devServer.hot和@rspack/plugin-react-refresh。如下配置: import ReactRefreshPlugin from '@rspack/plugin-react-refresh'; export default { ... 其他配置 devServer: { // 开启HMR,官方文档也有体现 hot: true, }, plugins: [ ...其他插件 // React热更新支持插件 isDev && new ReactRefreshPlugin(), ] } 若不使用devServer的情况下,需要用rspack.HotModuleReplacementPlugin来实现devServer.hot的能力。由于这种方式未在实践过程中进应用,这里不进行具体的使用举例。 Module Federation Rspack提供了两个版本的模块联邦能力,官方文档主要是介绍的v1.5对应的是经过Rspack改良过的版本。但实际上在一些情况下,如果直接跟webpack的MF对接会存在一些问题。我们在第一次使用过程中,也是对接了默认的v1.5版本,就出现了公共依赖无法找到的问题,错误提示如下: 实际上若需要跟webpack项目对接的情况下,需要采用v1.0版本的MF插件,使用方法如下: import { container } from '@rspack/core'; export default { ... 其他配置 plugins: [ new container.ModuleFederationPluginV1({ ... 这里是mf的配置 }) ] } 样式按需引入:babel-plugin-import babel-plugin-import作用:主要是配合ant-design或poizon-design(基于antd定制主题)库来使用,通过插件识别js中依赖的组件,自动注入样式文件,进而实现css的按需引用。实现类似如下效果: // 手写源代码 import { Button, Input } from 'antd'; // 通过插件编译后 import { Button, Input } from 'antd'; import 'antd/lib/button/style'; import 'antd/lib/input/style'; 在Rspack中使用的是swc来进行js/ts解析的,故babel-plugin-import是不能直接使用的,需要采用builtin:swc-loader的rspackExperiments来进行对应的能力支持。其配置方法如下: export default { module: { rules: [ { test: /\.(j|t)s(x)?$/, loader: 'builtin:swc-loader', options: { experimental: { // babel-plugin-import的配置 import: [ // pd按需注入样式 { libraryName: 'poizon-design', libraryDirectory: 'es', style: true }, // antd按需注入样式 { libraryName: 'antd', libraryDirectory: 'es', style: true }, ], } } } ] } } cssModules:auto-css-modules 在UmiJS中,默认是通过auto-css-modules来进行css-modules代码的判断;其原理为通过ast语法树,判断import引入样式文件时,若有声明对应的变量,就将其打上一个query标记。并在样式文件处理时,通过resourceQuery来进行匹配对应的文件,并添加css-modules的编译能力。详情见:UmiJS AutoCssModules插件源代码、UmiJS CSS编译配置源代码。 通过UmiJS项目以及结合一些资料,Babel的auto-css-modules能力有swc-plugin-auto-css-modules可以替代,配置的话,主要几个关键点: 添加swc-plugin-auto-css-modules插件(实际上开源的插件并不能用,后文详细说明原因)。 添加builtins.css配置,指定cssModules编译时的方式,主要有样式名是否保持,输出的样式格式。 添加resourceQuery识别,并给对应的内容加type: 'css/module';Rspack默认会对type: 'css/module'的代码当做cssModules编译,这个用法会比使用css-loader+style-loader更方便。 具体配置实现参考如下: const postcssLoader = { loader: require.resolve('postcss-loader'), options: { // ...此处省略less-loader配置 } }; const lessLoader = { loader: require.resolve('less-loader'), options: { // ...此处省略less-loader配置 } } export default { builtins: { css: { // cssModule默认配置 modules: { // class保持原样输出 localsConvention: 'asIs', // class转换后的格式,localIdentName跟css-loader并不完全兼容,比如[hash:base64:5]这种写法就会报错 localIdentName: '[local]_[hash:8]', }, }, }, module: { rules: [ { test: /\.(j|t)s(x)?$/, loader: 'builtin:swc-loader', options: { experimental: { plugins: [ // ...此处其他配置内容 // 添加 swc-plugin-auto-css-modules 插件执行?modules的注入 [require.resolve('swc-plugin-auto-css-modules'), {}] ] } }, }, { test: /\.css(\?.*)?$/, oneOf: [ { // 通过resourceQuery来匹配?modules resourceQuery: /modules/, use: [postcssLoader], // type声明指定为cssModules解析 type: 'css/module' }, { use: [postcssLoader], // type声明指定为普通css解析 type: 'css' }, ] }, { test: /\.less(\?.*)?$/, oneOf: [ { resourceQuery: /modules/, use: [postcssLoader, lessLoader], type: 'css/module' }, { use: [postcssLoader, lessLoader], type: 'css' }, ] }, ] } } 但实际上上述的配置并不能直接跑起来,运行时会提示构建报错(RuntimeError: out of bounds memory accesSS),错误如下图: 结合github上的相关issue最终定位为swc_core版本不兼容的问题导致。 原因详解: Rspack使用的swc_core为0.88.x~0.89.x对应@swc/core为@swc/core@1.3.106~@swc/core@1.3.107(swc官网可见)。 swc-plugin-auto-css-modules的@1.6.0虽然在文档上写着是兼容>= 1.3.106版本,但实际上由于其内部使用了swc_core@0.90.13(详见Github源码)。 但swc在0.90.x进行了ast的重构,跟之前的版本有了较大出入,导致无法生成的wasm调用无法兼容。 问题解决办法:实际上只要通过将swc-plugin-auto-css-modules的swc_core版本修改为0.88.x~0.89.x这个范围内,再编译出新的wasm文件即可解决;若有其他类似情况,也可以借鉴一下。 具体操作步骤: 将swc-plugin-auto-css-modules的swc_core修改版本后,在本地构建生成一个wasm文件,并放到项目内。 swc的plugin修改为引入本地构建的wasm文件,其配置如下。 plugins: [ // ...此处其他配置内容 // 添加 swc-plugin-auto-css-modules 插件执行?modules的注入 // 删掉原有的 swc-plugin-auto-css-modules 引入 - [require.resolve('swc-plugin-auto-css-modules'), {}] // 修改为引入项目相对目录下的swc_plugin_auto_css_modules.wasm(因为开源的发版有发版周期,先进行自编译使用) + [path.join(__dirname, '../../swc-plugins/swc_plugin_auto_css_modules.wasm'), {}], ] 影响编译效率的devtool: "source-map" 在以往使用webpack的devtool时,也能感受到有一定的性能开销;同时在Rspack中,官方文档中也有说明当devtool开启并设置sourcemap时有性能开销。官方文档: 实际体验下来,source-map的模式损耗确实是大,大约会增加30%的耗时,而其他一些模式在构建损耗上会有所优化,具体可视使用情况来选择建议在开发测试环境不使用,仅在线上等需要的环境开启。相同应用和机器环境,不同devtool的几种测试表现如下: devtool: source-map(40.82s) devtool: cheap-module-source-map(39.46s) devtool: eval(32.94s) devtool: false (31.21s) 可能你不知道的低效代码 在前面的内容中有提到babel-plugin-import按需引入的利器,但在业务项目中也有发现,应用/组件中有直接引入.../dist/antd.less的情况。若在项目中有这种情况,实际上就是打包了多次antd的样式,非但没有作用反而让构建打包和应用访问性能更差。 以下为英特尔i5芯片差异情况(M2等芯片在耗时上会缩小一些): 在css-moduels中(比如:大多数页面less、组件less):每引入一次,大约增加6~7s左右构建时间,css文件大约增加660kb。 在非css-moduels中(比如:global.less):每引入一次,大约增加4~5s构建时间,css文件大约增加530kb。 📢📢📢:建议平时项目中排查注意一下,可以将此类代码进行删除,一个小小的习惯就可以直接提升不小的构建和访问性能。 七、未来规划 整个项目过程下来,收获颇丰。一个是对前端构建以及Rust方面有了更多的认识,另外在接入过程中,也对当前的应用现状和技术体系由了更深入的了解。但当前项目主要服务于自身的业务的开发测试环境,使用范围还相对比较窄,还存在一些转换能力缺失的情况。未来将持续完善现有的构建转换能力,来拓展更多的业务应用场景。 八、特别说明 由于文章内的相关内容实践已经落地有了一段时间,文章内的一些内容可能已经发生了变化,若存在出入烦请以相应产品的官方介绍为准。比如:Rspack的新本部已经升级了swc_core到v0.91.x~v0.93.x兼容了swc-plugin-auto-css-modules的1.6.0版本,Turbopack计划未来全面支持webpack的相关工具特性等。 相关参考资料站点: Rspack:https://www.rspack.dev/ UmiJS: https://umijs.org/ Webpack:https://webpack.js.org/ SWC:https://swc.rs/ Vite:https://cn.vitejs.dev/guide/ Turbopack:https://turbo.build/pack *文/ 期越 本文属得物技术原创,更多精彩文章请看:得物技术 未经得物技术许可严禁转载,否则依法追究法律责任!

优秀的个人博客,低调大师

阿里 Midway 正式发布 Serverless v1.0,研发提 50%

Github: [https://github.com/midwayjs/midway](https://github.com/midwayjs/midway), 开源为了前端和 Node.js 的发展,**请到 Github 点 Star!** 去年阿里提出 Serverless 架构,并利用其新一代研发架构,减少了大量研发人员对基础设施和运维的关注。对前端开发者而言,他们只需写几个函数即可实现后端业务逻辑,推动业务快速上线,让整个前端**研发效能提升 50%。** 在过去的半年里,Midway FaaS 收获了很多同学的关注,也有不少大企业已经直接开始使用,在此感谢你们。今天,Midway FaaS 将演进为 Midway Serverless,并正式成为 Midway 体系的核心场景,同时正式发布 v1.0 版本。 v1.0 版本

优秀的个人博客,低调大师

楼宇自动化趋势:互连传感器提升能

当谈到楼宇自动化时,无论是在造的新楼还是针对旧楼的改造,无线传感器网络(WSN)和物联网(IoT)都正变得越来越普遍。WSN使我们能够将“智能性”添加到现有的楼宇基础设施中,同时可以避免在部分难以触及的区域内进行布线和安装。 在无线系统蓬勃发展和运用的同时,这也为人们带来了一些新的疑问,例如在HVAC中添加更多传感器的原因和目的是什么?究竟是为了照明还是楼宇安防系统? 楼宇自动化目前的4个主要趋势解答了这一问题: • 能源效率 • 安全与安保 • 用户舒适度 • 预防性养护 下面,文章将着重介绍能源效率这一话题,这也是在楼宇自动化系统中添加更多传感器的一个重要趋势。 无论是楼宇业主、房主或是租户,每个人都会关心节能和节省开支。目前,建筑物中所使用的电能大部分由电网提供,其中被浪费的电能达到了30%。而通过使用传感器节点,只在必要时才运行高能耗设备,能够显著降低能源的使用率。利用这种方法创建的智能楼宇将会对节能、减少浪费以及降低开销产生巨大的影响。 在HVAC系统中,通过添加独立的环境传感器,可以实现智能监控和控制。这些传感器可以从楼宇内的每个区域或房间获得准确的温度和湿度信息。通常而言,如果在只有一个房间被使用的情况下,我们仍然需要支付整栋楼或者整个房屋的供暖或制冷费用。所以,与其安装一个中央温度监控设备,不如在建筑内添加多个传感器,如此一来,用户便可以根据房间的使用情况或使用时间来灵活地控制供暖和制冷区域。 大型商用楼宇可以通过人员计数系统来实现需求控制通风(DCV)。DCV可以根据房间内的人员数量来输送新鲜空气,而不是直接根据预先设定的操控来打开HVAC系统。 单单HVAC和照明系统就占了商用建筑用电量的59%。这些应用的电能使用量会受到智能监控和控制解决方案的巨大影响。通过例如低功率占用检测器和能量采集日光传感器等针对高级光控制的互连传感器,以及添加用于低功率环境传感器和人员计数系统等高级HVAC控制的互连传感器,从而能够真正地开始降低总能耗。本文转自d1net(转载)

优秀的个人博客,低调大师

50%!百融云创将“RaaS模式”带入物业场景

当AI开始从“工具”走向“岗位”,企业数智化进程正在发生结构性变革。 近日,百融云创的“硅基管家顾问”在某大型物业集团落地,围绕“社区资产运营”与“业主服务闭环管理”两个核心场景展开应用。项目落地后,成功助力该物业集团费用收缴效率提升约50%,需求识别准确率、客户满意度指标均达到95%。 当硅基员工走进物业,带来的不仅是效率的提升,更是对百融云创RaaS(Results as a Service,结果即服务)模式的又一次诠释。 硅基管家顾问:从“工具部署”升维“结果负责” 在数智化转型浪潮持续推进的当下,物业行业正站在效率与服务双重升级的关键节点。长期以来,物业企业的数字化建设多集中于系统上线与流程信息化,但实际业务结果往往仍依赖于人工推动。行业普遍面临着几大核心挑战: 第一,服务需求分散。报修、投诉、咨询等信息来源多元,缺乏统一识别与数据沉淀机制。 第二,费用收缴效率偏低。物业费、车位费等依赖人工持续跟进,成本高、效果波动大。 第三,满意度管理缺乏闭环,评价数据难以形成持续优化的能力建设。 总结起来,传统模式下,企业为系统功能或使用权限付费,但实际业务结果并未与技术投入直接绑定。工具上线,并不等于问题解决。 为纾解上述难题,该大型物业集团引入了百融云创的“硅基管家顾问”,以岗位能力为核心构建起数字化执行单元,通过语义理解与智能决策能力,承担具体业务职责,并对结果负责。 RaaS模式:重构企业级AI价值逻辑 当前企业级AI市场主要采用License或SaaS订阅模式,企业为功能权限或使用时长付费。而百融云创所倡导的RaaS模式强调“按结果或实际工作量计费”,将服务收入与业务成果直接挂钩。 在RaaS模式下,企业无需为系统部署承担高额的前期成本,而是为完成的业务结果付费。对于现金流敏感、利润率承压的物业行业而言,这一模式的吸引力自不待言。 在物业场景中,硅基员工助力企业以更轻资产的方式实现能力升级—— ·在需求管理环节,硅基员工对业主报修、咨询和投诉进行分类判断,识别潜在服务机会,准确率可达95%。 ·在收缴管理方面,硅基员工实现费用自动核算、分阶段智能提醒与异常预警,形成相对完整的执行闭环,助力费用收缴效率提升约50%。 ·在服务质量管理方面,通过建立“监测—评价—升级处理”的流程模型,及可视化数据看板支持管理决策等,实现客户满意度指标达95%。 结语*AI落地进入“责任时代” 截至目前,百融云创已通过RaaS模式累计部署10万余名硅基员工,覆盖营销、风控、客服、运营等多个关键岗位场景的200余类岗位,累计服务企业客户超过8000家。 从双十一电商客服扩容,到春节期间后台全量值守,再到物业资产运营管理,硅基员工正逐步承担起越来越明确的“岗位责任”,其角色也从辅助工具转向组织结构中的执行单元。 百融云创认为,AI时代的竞争,本质上是生产力的重塑。在这一背景下,如何实现硅碳共治、构建风险共担的合作机制,将成为企业级AI能否规模化落地的关键变量。 从行业发展节奏来看,AI进入企业核心业务流程,承担起KPI的大幕正在徐徐打开。与此同时,围绕岗位能力重构与结果计费模式的探索,正在为像百融云创这样的企业级AI服务商打开新的增长路径。

优秀的个人博客,低调大师

DeepSeek-V3.2-Exp 发布,训练推理提,API 同步降价

深度求索正式发布 DeepSeek-V3.2-Exp 模型,这是一个实验性(Experimental)的版本。 作为迈向新一代架构的中间步骤,V3.2-Exp 在 V3.1-Terminus 的基础上引入了 DeepSeek Sparse Attention(一种稀疏注意力机制),针对长文本的训练和推理效率进行了探索性的优化和验证。 目前,官方 App、网页端、小程序均已同步更新为 DeepSeek-V3.2-Exp,同时API 大幅度降价,欢迎广大用户体验测试并向我们反馈意见。 DeepSeekSparse Attention(DSA) 稀疏注意力机制 DeepSeek Sparse Attention(DSA)首次实现了细粒度稀疏注意力机制,在几乎不影响模型输出效果的前提下,实现了长文本训练和推理效率的大幅提升。 为了严谨地评估引入稀疏注意力带来的影响,我们特意把 DeepSeek-V3.2-Exp 的训练设置与 V3.1-Terminus 进行了严格的对齐。在各领域的公开评测集上,DeepSeek-V3.2-Exp 的表现与 V3.1-Terminus 基本持平。 论文链接 & 模型开源 DeepSeek-V3.2-Exp 模型现已在 Huggingface 与魔搭开源: HuggingFace: https://huggingface.co/deepseek-ai/DeepSeek-V3.2-Exp ModelScope: https://modelscope.cn/models/deepseek-ai/DeepSeek-V3.2-Exp 论文也已同步公开: https://github.com/deepseek-ai/DeepSeek-V3.2-Exp/blob/main/DeepSeek_V3_2.pdf TileLang & CUDA 算子开源 在新模型的研究过程中,需要设计和实现很多新的 GPU 算子。我们使用高级语言 TileLang 进行快速原型开发,以支持更深入的探索。在最后阶段,以 TileLang 作为精度基线,逐步使用底层语言实现更高效的版本。因此,本次开源的主要算子包含 TileLang 与 CUDA 两种版本。我们建议社区在进行研究性实验时,使用基于 TileLang 的版本以方便调试和快速迭代。 API 支持 得益于新模型服务成本的大幅降低,官方 API 价格也相应下调,新价格即刻生效。 在新的价格政策下,开发者调用 DeepSeek API 的成本将降低 50% 以上。 目前 API 的模型版本为 DeepSeek-V3.2-Exp,访问方式保持不变。欢迎用户使用 DeepSeek 官方的 API 服务。

优秀的个人博客,低调大师

ModStartBlog v10.4.0 队列并发提,模块安装优化,安全升级

ModStartBlog是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 会员模块通用且完整,支持完整的API调用 大文件分片上传,进度条显示,已上传文件管理 强大的模块扩展功能,所有模块可以无缝集成,支持在线安装、卸载模块 完善的开发助手,实现模块、主题的的一键创建 完善的后台权限管理,支持基于RBAC的权限管理系统 后台管理支持使用手机、平板、PC,无论何时何地都可方便管理 第三方登录(QQ、微信、微博、支付宝、微信小程序) 第三方支付支持(微信、支付宝、支付宝当面付、微信扫码、微信小程序) 第三方云存储支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V10.4.0版本更新 2025年06月26日ModStartBlog发布v10.4.0版本,增加了以下11个特性: [新功能] 文件上传默认支持wav文件 [新功能] Values组件新增支持textarea模式 [系统优化] Grid 批量操作默认响应后端标准数据 [系统优化] 数据库队列任务并发问题优化 [系统优化] 表单组件样式优化 [系统优化] 模块安装包下载失败显示详细错误信息 [系统优化] 文件上传MD5安全校验增强 [系统优化] 爬虫识别库优化 [系统优化] 系统升级文件校验 [Bug修复] 联动字段配合 Switch 组件时,Switch 组件值不正确问题 [Bug修复] 已知Bug修复 模块市场一键安装 系统内置模块市场,有行业应用、插件、云存储、云短信等功能模块,后台支持一键安装、启用、禁用、卸载,可快速搭建属于自己的系统应用。 系统演示与文档 码云仓库:https://gitee.com/modstart/ModStartBlog Github仓库:https://github.com/modstart/ModStartBlog 系统演示:https://blog.demo.tecmz.com/ 框架功能演示:https://demo.modstart.com/ 下载使用:https://modstart.com/download 开发者文档:https://modstart.com/doc 模块市场:https://modstart.com/store

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册