鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁,解码声明式UI与跨端一致性的技术革命

鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁,解码声明式UI与跨端一致性的技术革命

鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁,解码声明式UI与跨端一致性的技术革命

第一章 :UI框架的十年之变

在移动操作系统的演进史上,UI框架的变迁始终是开发者体验与系统能力的晴雨表。从2012年EMUI 1.0诞生,到2025年HarmonyOS NEXT全面推广ArkUI,华为的UI框架走过了13年的技术迭代之路。

这期间,我们见证了从“命令式UI”到“声明式UI”的范式转移,经历了从“单设备适配”到“多端一致”的架构革命。对于开发者而言,理解这段演进史,不仅是回顾技术发展脉络,更是把握鸿蒙生态未来方向的关键。

本文将系统梳理鸿蒙UI框架的演进历程,深入剖析渲染引擎的优化技术,用量化数据证明声明式UI的性能优势,并解密跨端UI一致性的实现方案。全文约12000字,包含大量代码示例与实践建议。

第二章 鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁

2.1 EMUI时代:定制化UI的探索期(2012-2019)

要理解鸿蒙UI的今天,必须先回顾EMUI的昨天。2012年,华为发布了基于Android的EMUI 1.0,开启了定制化UI的道路。

EMUI 1.0-3.0(2012-2014):这一时期的核心任务是“去原生化”。EMUI 1.0首创了MeWidget整合功能,EMUI 2.0引入杂志锁屏,EMUI 3.0确立了点线圈的扁平化设计语言。这些探索为后续的UI框架积累了宝贵的设计经验。

EMUI 5.0-9.0(2017-2018):这一时期的技术突破在于性能优化。EMUI 5.0提出了“天生快一生快”的口号,通过智能学习算法解决安卓越用越卡的问题;EMUI 8.0开始引入AI概念;EMUI 9.0则全面推广手势导航。

但这一时期的所有UI实现都基于Android原生框架,本质上是“在别人的地基上盖房子”。

2.2 HarmonyOS 1.0-2.0:双UI框架并行期(2019-2021)

2019年,HarmonyOS 1.0发布,但最初仅搭载于智慧屏设备。真正的转折点是2021年6月HarmonyOS 2.0覆盖手机等移动终端。

在这一时期,鸿蒙采用了双UI框架并行策略

  • Java UI:兼容Android生态,保障存量应用平滑迁移
  • JS UI:基于ACE(Ability Cross-environment Platform)框架,面向鸿蒙原生应用开发

此时的JS UI框架分为两个版本:

  • ace_engine_lite:面向轻量级设备,采用类似小程序的HML+CSS+JS开发模式
  • ace_ace_engine:新一代UI框架,架构层次更清晰,技术支持更先进

JS UI(命令式UI)的代码示例

// xxx.js - 命令式UI风格exportdefault{data:{headTitle:'Capture the Beauty in This Moment',count:0},increment(){this.count++;// 需要手动触发更新?框架自动响应数据变化}}
<!-- xxx.hml - 模板文件 --><divclass="container"><textclass="title-text">{{headTitle}}</text><text>{{count}}</text><buttononclick="increment">增加</button></div>
/* xxx.css */.container{flex-direction: column;margin-top: 20px;}

这种模式虽然易上手,但存在几个痛点:

  1. 逻辑与模板分离:增加了上下文切换成本
  2. 表达能力受限:复杂UI逻辑需要大量指令式操作
  3. 跨端适配困难:需为不同设备编写多套模板

2.3 ArkUI 1.0:声明式UI的正式登场(2022-2024)

随着HarmonyOS 3.0的推出,华为正式发布了ArkUI 1.0,标志着鸿蒙UI框架进入声明式时代。

ArkUI的设计哲学:用简洁的声明式语法描述界面,由框架负责高效渲染与分发。它强调组件化、布局与状态绑定的自动化。

ArkTS语言:基于TypeScript扩展,保留了TS的静态类型特性,同时增加了声明式UI语法支持。

ArkUI 1.0核心特性

  • 声明式组件:用@Component装饰器定义UI组件
  • 响应式状态@State装饰器实现状态驱动UI更新
  • 原生渲染引擎:彻底摆脱WebView依赖

ArkUI声明式组件示例

// HelloCard.ets (ArkTS)@Componentexport struct HelloCard {@State name:string="Echo_Wish";build(){Column({ alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }){Text(`Hello, ${this.name}`).fontSize(24).margin({ bottom:16})Button('改名').onClick(()=>{this.name ="方舟·Echo";// 框架自动触发视图更新})}.padding(24).width('100%').height(200).backgroundColor('#F5F5F5')}}

这段代码的核心价值在于:开发者只需关注状态UI描述,框架自动处理diff、更新和渲染。这与React、Flutter等现代UI框架的理念完全一致。

2.4 ArkUI 2.0/ArkNext:面向全场景的进化(2025-)

2025年,随着HarmonyOS NEXT的推广,ArkUI演进到2.0版本,业界也称之为ArkNext

ArkNext的核心变革

维度ArkUI 1.0ArkNext价值
场景覆盖手机为主手机+折叠屏+平板+车机+IoT一套代码多端运行
编译链AOT编译方舟编译器深度优化运行时性能提升30%+
渲染引擎独立渲染分布式渲染引擎(DRE)跨设备渲染同步
Web融合隔离ArkWeb深度集成原生+Web无缝协作
AI能力内置LLM生成UI建议动态布局生成

技术解读

  • 更广的场景覆盖:不仅是手机,还包括折叠屏、平板、车机、IoT设备,多端统一的声明式框架需求更加强烈
  • 更强的性能与编译链:方舟编译器和运行时配合,目标是把“写得直观”与“跑得快”两件事都做好
  • 原生+Web无缝协作:ArkWeb与原生渲染的协同价值在电商、新闻类应用中日益凸显

2.5 演进脉络总结:从“界面描述”到“界面协同”

回顾这段演进史,我们可以看到一个清晰的脉络:

阶段UI范式渲染架构跨端能力代表技术
EMUI时代命令式Android原生XML布局
HarmonyOS 1-2命令式+声明式初探ACE Lite/ACE基础适配HML+CSS+JS
ArkUI 1.0声明式自研渲染引擎响应式布局ArkTS+@State
ArkNext声明式+分布式分布式渲染引擎跨端状态同步DDO+分布式UI

正如一位开发者所言:“过去我们在适配界面,现在我们在协同界面。”

第三章 渲染引擎的优化之路

UI框架的上层是开发体验,下层是渲染性能。鸿蒙渲染引擎的优化历程,是一部从"能跑就行"到"丝滑流畅"的技术进化史。

3.1 渲染流水线架构演进

3.1.1 ACE Lite架构(轻量级设备)

早期的ACE Lite面向内存128MB以下的IoT设备,渲染架构相对简单:

  • 应用层:HML+CSS+JS
  • 引擎层:JS引擎(QuickJS)+ UIKit(C++实现)
  • 渲染层:直接调用图形接口

这种架构的优势是轻量,但缺点是表达能力有限,复杂动画难以实现。

3.1.2 ACE新架构(通用设备)

新一代ACE架构层次更加清晰:

+----------------------------------+ | 应用层 | | (JS/TS声明式语法 + 组件化) | +----------------------------------+ | 框架层 | | (响应式绑定 + 组件生命周期) | +----------------------------------+ | 引擎层 | | (渲染管线 + 动画 + 事件 + 布局) | +----------------------------------+ | Porting Layer | | (平台无关的Layer数据结构) | +----------------------------------+ | Compositor/GPU | +----------------------------------+ 

核心设计理念:UI描述与渲染分离。ArkUI声明式框架生成UI Tree,渲染层维护Shadow Tree,通过Diff算法计算最小更新范围。

3.1.3 分布式渲染引擎(DRE)

在ArkNext中,分布式渲染引擎成为核心创新:

渲染通路

ArkTS UI → ArkUI渲染引擎 → DRE分布式渲染引擎 → 渲染服务(RenderService) → GPU/硬件合成 

DRE核心机制

  1. UI树差异化压缩:仅传输变化的节点,减少网络开销
  2. 远端绘制缓存:目标设备缓存UI结构,避免全量重绘
  3. 增量更新:只传输变化部分
  4. Frame-Sync协议:保证多屏同步(音视频、游戏类场景)

3.2 渲染性能优化的关键技术

3.2.1 布局层级扁平化

问题:复杂的嵌套布局会增加渲染开销。

优化前

// 多层嵌套 - 性能杀手Stack(){Column(){Row(){Stack(){Text('深度嵌套')}}}}

优化后

// 扁平化布局Stack(){Text('深度嵌套').margin({ top:10, left:10})}// 或使用RelativeContainer约束布局RelativeContainer(){Text('约束布局').alignRules({ top:{ anchor:'__container__', align: VerticalAlign.Top }, center:{ anchor:'__container__', align: HorizontalAlign.Center }})}

优化效果:采用扁平化布局后,布局测量时间减少40%,渲染帧率提升15%。

3.2.2 增量渲染与按需加载

LazyForEach实现长列表优化

@Component struct OptimizedList {@State dataArray:Array<ItemData>=[];build(){List(){// LazyForEach只渲染可见区域的组件LazyForEach(this.dataArray,(item: ItemData)=>{ListItem(){ArticleCard({ item: item })}},(item: ItemData)=> item.id)}.layoutWeight(1)}}

优化效果:列表滑动帧率从45fps提升至58fps,内存占用降低35%。

3.2.3 组件复用机制

@Reusable组件复用

@Reusable// 组件复活甲!@Component struct ArticleCardView {aboutToReuse(params: Record<string, object>){// 复用旧组件,避免重新创建this.item = params.item as ItemData;}build(){Row(){// UI构建逻辑}}}

优化效果对比

优化项帧率丢帧率
原方案63fps16%
新方案117fps0%

3.2.4 动画性能优化

错误示范(手动计算动画):

// ❌ 不要这样写computeSize(){let doTimes =2000/16;// 手动计算帧数for(let i=1; i<=doTimes; i++){setTimeout(()=>{// 手动更新位置}, i*16);// 主线程自杀式轰炸}}

正确姿势(系统动画引擎):

Button('click me').width(this.widthSize).height(this.heightSize).animation({ duration:2000, curve: Curve.EaseOut,// 物理曲线稳如狗 delay:0, iterations:1})

3.2.5 GPU硬件加速

显式启用硬件加速

// 对于复杂绘图场景 Canvas canvas =newCanvas(); canvas.enableHardwareAcceleration(true);// 显式启用硬件加速// 或使用Canvas组件时开启离屏渲染Canvas(this.context).width('100%').height('100%').onReady(()=>{// 离屏渲染设置})

3.2.6 资源优化管理

图片格式优化

// 使用WebP格式减少内存占用Image('image.webp').width(200).height(200).objectFit(ImageFit.Cover)

3.3 渲染性能诊断工具链

3.3.1 AppAnalyzer性能扫描

DevEco Studio内置的AppAnalyzer可一键扫描性能问题:

  • 检测滑动流畅度
  • 识别布局嵌套过深
  • 定位冗余刷新

指标解读

  • ≤5ms/帧 → 稳如老狗
8ms/帧 → 优化红灯

3.3.2 Frame Profiler帧分析

定位流程

  1. 复现卡顿场景
  2. 开启Frame录制
  3. 定位红色/黄色故障帧
  4. 查看Statistics栏丢帧率

关键线索

  • 红色帧 = App侧超时(代码问题)
  • 黄色帧 = Render Service卡住(布局太复杂)

3.3.3 Trace分析法

三刀流解剖术

  1. 看线程状态(是否在大核运行)
  2. ArkUI泳道聚焦(抓取耗时组件)
  3. 函数调用栈审判(双击跳转源码)

第四章 声明式UI的性能优势量化分析

声明式UI不仅是开发体验的提升,更是性能优化的基石。本节通过量化数据对比,揭示声明式UI的性能优势。

4.1 响应式更新 vs 命令式操作

4.1.1 更新机制对比

命令式UI更新

// 需要手动找到节点并更新 document.getElementById('counter').innerText = newValue; document.getElementById('total').innerText = newTotal;// 需要手动管理哪些节点需要更新

声明式UI更新(ArkUI):

@State count:number=0;@State total:number=0;// 只需修改状态,框架自动计算最小更新范围increment(){this.count++;this.total =this.count *10;}

4.1.2 性能量化数据

基于华为开发者联盟的测试数据:

指标命令式UI声明式UI提升幅度
状态更新扩散范围全量更新仅更新依赖组件减少70%+
帧率稳定性48fps≥55fps提升15%
内存峰值220MB≤150MB降低32%
丢帧率18%≤8%降低55%

4.1.3 精准更新控制

ArkUI通过细粒度依赖追踪实现精准更新:

@Component struct PreciseUpdate {@State count:number=0;@State name:string='John';build(){Column(){// 仅当count变化时更新Text(`Count: ${this.count}`)// 仅当name变化时更新Text(`Name: ${this.name}`)// 点击只修改count,不影响name的渲染Button('Increment').onClick(()=>this.count++)}}}

4.2 编译时优化 vs 运行时优化

4.2.1 方舟编译器的优化能力

声明式UI的另一个性能优势在于可编译时优化。方舟编译器在编译阶段就能分析出UI与状态的依赖关系:

编译时优化效果

优化项命令式UI声明式UI+方舟编译器
依赖分析运行时确定编译时确定
代码体积较大(包含更新逻辑)较小(框架优化)
启动时间1200ms≤800ms
运行时开销

4.2.2 AOT编译 vs JIT编译

ArkUI默认采用AOT(Ahead-Of-Time)编译,将TypeScript代码预先编译为机器码,避免了JIT编译的运行时开销。

4.3 内存治理与泄漏预防

4.3.1 弱引用管理

声明式UI框架自动处理大部分内存回收,但仍需开发者注意:

aboutToDisappear(){// 注销事件监听,防止内存泄漏this.eventBus.off('some-event',this.handler);// 使用弱引用管理全局状态this.weakRef =newWeakRef(someObject);}

4.3.2 内存泄漏率对比

根据实际项目统计:

  • 传统命令式UI项目:内存泄漏率约15-20%
  • ArkUI声明式项目:内存泄漏率降至3-5%

4.4 实际应用性能提升案例

某电商类APP在重构为ArkUI后的性能数据:

性能指标重构前重构后提升幅度
冷启动耗时1.8s1.1s39%
首页帧率48fps58fps21%
内存占用280MB180MB36%
滑动丢帧率22%5%77%
包体积25MB18MB28%

第五章 跨端UI一致性方案解密

鸿蒙作为面向万物互联的操作系统,跨端UI一致性是其核心设计目标之一。

5.1 分布式UI的架构模型

5.1.1 核心能力三层架构

鸿蒙在系统层引入三个关键能力:

能力职责
分布式数据管理(DDS)同步UI状态与数据对象
分布式任务调度(DTS)将渲染或计算任务迁移到其他设备
分布式渲染引擎(DRE)跨设备绘制UI,保持帧同步与一致性

5.1.2 分布式UI的思维转变

“鸿蒙不只是’多端适配’,而是在系统级打通UI层到设备硬件层的协同渲染通路。你的应用 = 前端 + 渲染调度器 + 小型协同中间件。”

5.2 跨端UI状态同步机制

5.2.1 分布式数据对象(DDO)

鸿蒙提供了分布式数据对象,实现跨设备状态同步:

架构模型

UI层(ArkTS声明式组件) ⇅ 状态层(@State / @Link / @Observed) ⇅ 分布式对象(Distributed Data Object) ⇅ 系统分布式数据服务(SoftBus + 数据同步协议) ⇅ 远端设备(运行相同应用的实例) 

5.2.2 DDO核心机制

  • DDO绑定状态:组件状态变量可直接绑定分布式对象
  • 系统负责同步:鸿蒙底层SoftBus通道负责序列化、压缩与一致性控制
  • 冲突解决策略:默认"最后写入优先",开发者可自定义合并策略
  • 订阅模型:UI层不主动轮询,系统事件驱动数据刷新

5.2.3 实战代码:跨设备计数器

// ./distributed/CounterStore.etsimport distributedDataObject from'@ohos.data.distributedDataObject';exportclassCounterStore{private ddo: distributedDataObject.DataObject;asyncinit(){// 创建分布式数据对象this.ddo = distributedDataObject.create({ count:0},{ schema:{ count:'number'}});// 绑定到网络,等待其他设备连接awaitthis.ddo.bindToNetwork({ enable:true});// 监听数据变化this.ddo.on('change',()=>{console.log('Count changed to:',this.ddo['count']);});}increase(){this.ddo['count']++;}getcount(){returnthis.ddo['count'];}}// ./pages/CounterPage.ets@Entry@Component struct CounterPage {@State count:number=0; store =newCounterStore();aboutToAppear(){this.store.init().then(()=>{// 每300ms同步一次状态setInterval(()=>{this.count =this.store.count;},300);});}build(){Column(){Text(`共享计数器: ${this.count}`).fontSize(26).fontWeight(FontWeight.Bold).margin({ bottom:16})Button('增加').onClick(()=>this.store.increase())}.padding(24)}}

效果:在两台设备上同时打开应用,任意一端点击按钮,另一端UI自动更新。

5.3 分布式渲染性能优化

5.3.1 增量同步机制

优化点机制实践建议
增量同步仅传输变化节点避免全量重绘,拆分组件粒度
延迟合成同步后由远端GPU合成减少中间态传输
压缩传输UI Diff二进制流UI层不带多余对象引用
帧同步时钟校准+队列对齐动画统一节拍控制
渲染线程分离UI/逻辑/渲染分线程不要在UI线程做计算任务

5.3.2 跨设备画布示例(优化版)

// ./distributed/CanvasSync.etsimport distributedDataObject from'@ohos.data.distributedDataObject';import graphics from'@ohos.graphics.canvas';@Entry@Component struct SharedCanvas {@State strokes:string[]=[];// 保存绘图命令(增量格式)private ddo = distributedDataObject.create({ strokes:[]},{ schema:{ strokes:'array'}});aboutToAppear(){// 绑定到分布式网络this.ddo.bindToNetwork({ enable:true});// 监听远端变化this.ddo.on('change',()=>{this.strokes =this.ddo['strokes'];});}draw(x:number, y:number){// 记录新笔画this.strokes.push(`${x},${y}`);// 仅更新变化部分到分布式对象this.ddo['strokes']=this.strokes;}build(){Canvas({onTouchMove:(e)=>{this.draw(e.touches[0].x, e.touches[0].y);}}){this.strokes.forEach(cmd =>{const[x, y]= cmd.split(',').map(Number); graphics.drawCircle({ x, y, radius:2, color:'#007DFF'});});}.width('100%').height('100%')}}

优化要点

  1. 绘制逻辑独立于UI主线程
  2. strokes压缩为字符串数组并增量更新
  3. 分布式同步仅传输差异

5.4 响应式布局与设备自适应

5.4.1 设备类型感知

import deviceInfo from'@ohos.deviceInfo';const type = deviceInfo.deviceType;// 'phone' | 'tablet' | 'wearable' | 'tv' | 'car'// 结合条件渲染if(type ==='tv'){// 遥控器焦点布局TVRemoteLayout();}else{// 触控布局TouchLayout();}

5.4.2 响应式布局容器

ArkUI提供多种布局容器支持响应式设计:

  • Row/Column/Grid/Stack:灵活组合
  • RelativeContainer:约束布局,自动按比例缩放
  • Flex:弹性布局,容器大小与内容自适应

5.4.3 媒体查询式尺寸适配

@Entry@Component struct AdaptiveCard {build(){Column(){// 根据屏幕宽度条件渲染if(this.getScreenWidth()>800){// 平板布局:横排Row(){Image($r('media:illustration')).width(300)Text('平板布局').fontSize(28)}}else{// 手机布局:竖排Column(){Text('手机布局').fontSize(22)Image($r('media:illustration')).width(150)}}}}getScreenWidth():number{// 获取屏幕宽度逻辑return display.getDefaultDisplaySync().width;}}

5.5 跨端UI一致性设计原则

层级策略实现方式
视觉使用系统DesignToken颜色、间距、字体统一变量
交互保留平台习惯手势vs遥控焦点差异化处理
动效采用系统动效库时长与缓动曲线统一
字体动态适配DPI根据屏幕密度自动缩放
状态分布式状态驱动DDO同步而非本地临时状态

5.6 开发者自查清单

  • UI状态是否统一通过分布式对象同步?
  • 是否避免在主线程做重计算?
  • 是否启用了增量同步或差量渲染?
  • 是否按设备类型定义响应式布局?
  • 动画、动效是否遵循系统节拍?
  • DDO是否做字段级加密或敏感脱敏?

第六章 未来展望:AI+分布式UI

6.1 从ArkUI到ArkNext的演进趋势

根据华为开发者社区的讨论,ArkNext的演进方向包括:

  1. 更广的场景覆盖:不仅是手机,还是折叠屏、平板、车机、IoT,多端统一的声明式框架需求更强
  2. 更强的性能与编译链:方舟编译器和运行时配合,目标是把"写得直观"与"跑得快"两件事都做好
  3. 原生+Web无缝协作:ArkWeb与原生渲染的协同价值日益凸显
  4. AI与UI的结合:系统内置LLM、AI能生成界面建议或动态布局

6.2 AI生成UI的未来场景

学术研究已开始探索AI生成声明式UI代码。DeclarUI项目展示了MLLM在多模态UI生成中的应用,支持ArkUI框架的代码生成。

未来可能的应用场景:

  • 智能布局推荐:根据内容自动推荐最佳布局
  • 动态UI生成:运行时根据用户行为动态生成UI
  • 跨端自动适配:AI自动将手机布局转换为车机/手表布局

6.3 超级应用的演进

在OpenHarmony生态中,"应用"的定义正在被重构。它不再是手机上的一个图标,而是跨越手机、平板、车机、手表、智慧屏、IoT设备的连续体验体。

超级应用的核心特征

  • 设备无感切换
  • 能力按需调用
  • 数据实时协同
  • 统一身份体系

典型场景:用户在家用智慧屏看视频,出门上车自动续播;在办公室用平板编辑文档,回家用手表一键打印。

第七章 总结与实践建议

7.1 演进史总结

鸿蒙UI框架的演进,是一部从"能用"到"好用"再到"智能"的技术进化史:

阶段核心特征开发者体验性能表现
EMUI时代Android定制熟悉但受限依赖原生
双框架并行Java+JS双轨学习成本高中等
ArkUI 1.0声明式初探开发效率提升显著优化
ArkNext分布式+AI一次编写多端运行极致流畅

7.2 给开发者的实践建议

基于本文的分析,为鸿蒙开发者提供以下建议:

7.2.1 架构设计层面

  1. 拥抱声明式思维:无论未来框架叫什么,声明式思路都会越来越普遍
  2. 关注编译运行链:了解方舟编译器、运行时的能力,会在做性能调优与设备适配时占到先机
  3. 提前规划跨端:从设计之初就考虑多设备适配

7.2.2 性能优化层面

  1. 扁平化布局:减少嵌套层级,使用RelativeContainer
  2. 组件复用:使用@Reusable装饰器复用列表项
  3. 懒加载:LazyForEach处理长列表
  4. 精准更新:合理拆分状态粒度,避免全量更新

7.2.3 跨端开发层面

  1. 使用DDO同步状态:避免手动实现跨设备通信
  2. 设备类型感知:根据设备类型差异化布局
  3. 响应式设计:使用媒体查询和弹性布局

Read more

基于腾讯云HAI + DeepSeek快速设计自己的个人网页

基于腾讯云HAI + DeepSeek快速设计自己的个人网页

前言:通过结合腾讯云HAI 强大的云端运算能力与DeepSeek先进的 AI技术,本文介绍高效、便捷且低成本的设计一个自己的个人网页。你将了解到如何轻松绕过常见的技术阻碍,在腾讯云HAI平台上快速部署DeepSeek模型,仅需简单几步,就能获取一个包含个人简介、技能特长、项目经历及联系方式等核心板块的响应式网页。 目录 一、DeepSeek模型部署在腾讯云HAI 二、设计个人网页 一、DeepSeek模型部署在腾讯云HAI 把 DeepSeek 模型部署于腾讯云 HAI,用户便能避开官网访问限制,直接依托腾讯云 HAI 的超强算力运行 DeepSeek-R1 等模型。这一举措不仅降低了技术门槛,还缩短了部署时间,削减了成本。尤为关键的是,凭借 HAI 平台灵活且可扩展的特性,用户能够依据自身特定需求定制专属解决方案,进而更出色地适配特定业务场景,满足各类技术要求 。 点击访问腾讯云HAI控制台地址: 算力管理 - 高性能应用服务 - 控制台 腾讯云高性能应用服务HAI已支持DeepSeek-R1模型预装环境和CPU算力,只需简单的几步就能调用DeepSeek - R1

By Ne0inhk
AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

云边有个稻草人-ZEEKLOG博客 目录 引言 一、什么是DeepSeek? 1.1 DeepSeek平台概述 1.2 DeepSeek的核心功能与技术 二、蓝耘通义万相2.1概述 2.1 蓝耘科技简介 2.2 蓝耘通义万相2.1的功能与优势 1. 全链条智能化解决方案 2. 强大的数据处理能力 3. 高效的模型训练与优化 4. 自动化推理与部署 5. 行业专用解决方案 三、蓝耘通义万相2.1与DeepSeek的对比分析 3.1 核心区别 3.2 结合使用的优势 四、蓝耘注册流程 五、DeepSeek与蓝耘通义万相2.1的集成应用 5.1 集成应用场景 1. 智能医疗诊断

By Ne0inhk
如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

它是免费的——社区驱动的人工智能💪。         当 OpenAI 第一次推出定制 GPT 时,我就明白会有越来越多的人为人工智能做出贡献,并且迟早它会完全由社区驱动。         但从来没有想过它会如此接近😂让我们看看如何在 Windows 机器上完全免费使用第一个开源推理模型!  步骤 0:安装 Docker 桌面         我确信很多人已经安装了它,所以可以跳过,但如果没有 — — 这很简单,只需访问Docker 的官方网站,下载并运行安装 👍         如果您需要一些特定的设置,例如使用 WSL,那么有很多指导视频,请查看!我将继续下一步。 步骤 1:安装 CUDA 以获得 GPU 支持         如果您想使用 Nvidia 显卡运行 LLM,则必须安装 CUDA 驱动程序。(嗯……是的,它们需要大量的计算能力)         打开CUDA 下载页面,

By Ne0inhk
在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

本文将分步向您展示如何在本地安装和运行 DeepSeek、使用 CodeGPT 对其进行配置以及开始利用 AI 来增强您的软件开发工作流程,所有这些都无需依赖基于云的服务。  步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT         要在本地运行 DeepSeek,我们首先需要安装Ollama,它允许我们在我们的机器上运行 LLM,以及CodeGPT,它是集成这些模型以提供编码辅助的 VSCode 扩展。 安装 Ollama Ollama 是一个轻量级平台,可以轻松运行本地 LLM。 下载Ollama 访问官方网站:https://ollama.com * 下载适合您的操作系统(Windows、macOS 或 Linux)的安装程序。 * 验证安装 安装后,打开终端并运行: ollama --version  如果 Ollama 安装正确,

By Ne0inhk