- 博客(682)
- 收藏
- 关注
原创 ModelEngine通过可视化界面可快速构建吃喝玩乐等场景的智能体,支持工具调用、工作流集成和多轮对话
ModelEngine提供全流程AI开发工具链,支持从数据处理到智能体落地的完整解决方案。该平台内置50+多模态数据处理算子,支持QA对自动生成与评估,并能创建智能体应用。通过可视化界面可快速构建吃喝玩乐等场景的智能体,支持工具调用、工作流集成和多轮对话。平台提供免费大模型服务,支持智能体发布、公开分享及系统嵌入,显著降低AI应用的工程接入成本。关键挑战在于知识库对接、性能调优等外部系统集成环节。
2025-12-25 15:20:57
402
原创 ModelEngine如何自定义创建新的工具流,打造一个景点推荐的工作流
ModelEngine 提供全流程 AI 开发工具链,支持从数据处理到模型部署的全生命周期管理。其核心功能包括:50+多模态数据处理算子、基于大模型的 QA 对自动生成(留用率60%)、自动化数据质量评估等。系统采用模块化工作流设计,包含数据处理、模型训练、评估和部署四大阶段,支持 RESTful API 和批处理等多种部署方式。实际测试表明,该系统能够有效处理复杂查询(如天气预测),输出结构化数据结果。平台特别注重与外部系统的对接能力,在知识库检索、工具接入等关键环节提供优化支持。
2025-12-25 00:29:42
212
原创 ModelEngine如何自定义添加Http工具,打造一个Http天气的插件
摘要 ModelEngine作为全流程AI开发工具链,显著降低了智能体从原型到线上服务的工程成本。其核心优势包括: 端到端开发流程支持,覆盖数据处理到应用落地 50+多模态数据处理算子及自定义扩展能力 基于大模型的自动QA对生成与评估功能 丰富的HTTP工具接入能力(如天气API对接示例) 支持复杂智能体场景(异步任务、长期记忆等) 实际应用中需重点评估知识库对接、性能调优等关键环节,并横向比较Dify等同类平台在扩展性、稳定性方面的差异。该工具特别适合需要快速实现AI应用落地的开发场景。
2025-12-25 00:18:06
935
1
原创 DevUI面向企业中后台产品的开源前端解决方案,玩转图表类组件
DevUI 是华为云开源的企业级 UI 组件库,基于 Angular 框架,提供丰富的组件(如 Tree、Table)和可视化图表(象限图、甘特图)。其特色包括:1) 支持拖拽交互和动态数据更新;2) 提供主题定制和暗黑模式;3) 优化企业级应用开发效率。典型应用场景包括项目管理、数据分析等,通过模块化组件和性能优化(页面加载时间<800ms)提升开发体验。
2025-12-11 17:59:27
912
原创 DevUI面向企业中后台产品的开源前端解决方案,玩转表单组件
DevUI是华为云开源的企业级Angular UI组件库,提供丰富的表单组件如Form、Input和Select,支持数据收集、校验和提交功能。其表单验证机制包含内置校验器(required、minlength等)和自定义校验器,支持同步/异步验证及多语言错误提示。通过双向数据绑定和模块化设计,DevUI能有效提升企业级应用开发效率,适用于云控制台等复杂场景。组件库强调"高效、开放"的设计理念,与AI工具结合实现智能交互,并通过主题定制保持品牌一致性。
2025-12-11 17:45:57
970
原创 5分钟安装DevUI 基于 Angular 框架,助力完成面向企业中后台产品的开源前端解决方案
DevUI是华为云开源的企业级Angular UI组件库,源自华为内部业务沉淀,专注于提升开发效率和体验一致性。其核心特性包括丰富的组件库(支持虚拟滚动、列拖拽等高级功能)、灵活的主题定制(CSS变量/SCSS实现动态换肤)以及强大的扩展能力。通过模块化设计和85%的组件复用率,在华为云控制台等项目中实现800ms内的页面加载优化。DevUI配套完整的开发工具链,并与AI工具MateChat深度整合,支持低代码开发方向。安装需Angular CLI 18.0.0环境,适用于快速构建复杂企业级应用。
2025-12-11 16:59:14
642
原创 Python 高手编程系列六百三十二:Hy
如果你想接受来自其他程序员的任何协作,即使你对最佳代码风格指南有不同的看法,那么也应该坚持遵守 PEP 8。Hy(http://docs.hylang.org/)是完全用 Python 编写的 Lisp 方言。有.hy扩展名的模块都被看作Hy模块,都可以像普通Python模块那样导入。要记住,比遵守 PEP 8 更重要的是项目内的一致性。做的争吵,可能会变成一场永无止境并且永远没有赢家的口水战(flame war)。而且,如果整个项目的代码库处于成熟的开发状态,那么对其重新调整风格(restyling)
2025-12-08 20:48:36
382
原创 Python 高手编程系列六百三十一:抽象语法树
Python 语法首先被转换成抽象语法树(Abstract Syntax Tree,AST),然后才被编译成字节码。这是对源代码抽象语法结构的一种树状表示。利用内置的 ast 模块,可以得到对Python 语法的处理过程。利用带有 ast.PyCF_ONLY_AST 标记的 compile()函数或者利用 ast.parse()帮助函数,可以创建 Python 代码的原始 AST。逆向直接转换却没有那么简单,没有用于完成这项功能的内置函数。不过有些项目(例如 PyPy)可以完成这项任务。
2025-12-08 20:48:04
628
原创 Python 高手编程系列六百三十:一些关于代码生成的提示
虽然类的调用签名相当严格,但 Python 并不强制要求返回参数的类型。and eval in Python(参见 http://lucumr.pocoo.org/2011/2/1/exec-in-python/)。”换句话说,即使你有一丝的怀疑,也不应该使用它们,而应该尝试寻找其他解决方法。• exec(object, globals, locals):这一函数允许你动态执行 Python 代码。对于元编程而言,最有用的显然是 exec(),因为它可以执行任意 Python 语句的序列。
2025-12-08 20:47:15
270
原创 Python 高手编程系列六百二十九:Python 3 中新的元类语法
元类并不是新的 Python 特性,从 Python 2.2 版开始就一直都有。不过它的语法发生了重大变化,这种变化既不向后兼容也不向前兼容。新的语法如下所示:pass在 Python 2 中,其写法必须是这样的:= typePython 2 的 class 语句不接受关键字参数,所以 Python 3 定义元类的语法会在导入时引发 SyntaxError 异常。仍然可以编写在两个 Python 版本中都能运行的元类代码,但需要做一些额外工作。
2025-12-08 20:45:49
511
原创 Python 高手编程系列六百二十八:元类
现在第一个位置参数的命名约定为 cls,说明它已经是一个创建好的类对象(元类的实例),而不是一个元类对象。name、bases 和 namespace 参数的含义与前面介绍的 type()调用中的参数相同,• bases:这是父类的列表,将成为__bases__属性,并用于构造新创建的类的 MRO。然是 type 类的子类(参见图 3-4),因为如果不是的话,这个类将在继承方面与其他的类。metaclass 参数的值通常是另一个类对象,但它可以是任意可调用对象,只要接受。定义了对象实例的类也是对象。
2025-12-08 20:43:40
815
原创 Python 高手编程系列六百二十六:槽
属性来为指定的类设置一个静态属性列表,并在类的每个实例中跳过__dict__字典的创建过程。不幸的是,这个问题不能用第 2 章“(4)保存内省的装饰器”一节介绍的方法(使用额外。Python 中的混入类是一种不应被初始化的类,而是用来向其他现有类提供某种可复用。虽然有这样的警告,但类装饰器仍然是对流行的混入(mixin)类模式的一种简单又轻。在类装饰器中这样使用闭包的主要缺点是,生成的对象不再是被装饰的类的实例,而是在。这种模式的框架之一。当然,上面的代码片段并不是很好的代码示例,因为其含义过于模糊。
2025-12-08 20:41:33
904
原创 Python 高手编程系列六百二十五:property
基于上述原因,创建 property 的最佳语法是使用 property 作为装饰器。如果需要修改property的工作方式,推荐在派生类中覆写所有的property。property 的 setter 行为的话,通常意味着也需要修改 getter 的行为。property 提供了一个内置的描述符类型,它知道如何将一个属性链接到一组方法上。不幸的是,上面的代码有一些可维护性的问题。在大多数情况下,这是唯一的选择,因为如果修改了。是利用当前类的方法实时创建,不会使用派生类中覆写的方法。
2025-12-08 20:39:50
531
原创 Python 高手编程系列六百二十四:现实例子 — 延迟求值属性
描述符的一个示例用法就是将类属性的初始化延迟到被实例访问时。如果这些属性的初始化依赖全局应用上下文的话,那么这一点可能有用。另一个使用场景是初始化的代价很大,但在导入类的时候不知道是否会用到这个属性。这样的描述符可以按照如下所示来实现:defdef’)else:’)下面是示例用法:m.lazily_m.lazilycached!
2025-12-08 20:38:51
524
原创 Python 高手编程系列六百二十三:最佳实践
在 Python 2 中,没有指定任何祖先的类被认为是旧式类。(self, obj, value):在读取属性时将调用这一方法(被称为 getter)。幸运的是,多亏了 Python 描述符的工作方式。• super 的使用必须一致:在类的层次结构中,要么全部用 super,要么全不用。它是一个类,定义了另一个类的属性的访问方式。为了避免前面提到的所有问题,在 Python 在这个领域取得进展之前,我们需要考虑以。Python 提供这一特性是为了避免继承中的名称冲突,因为属性被重命名为以类名为前。
2025-12-08 20:37:43
727
原创 Python 高手编程系列六百二十二:使用 super 易犯的错误
在下面来自 James Knight 网站(http://fuhm.net/super-harmful)的示例中,C 类使用。主要原因在于类的初始化。在 Python 中,基类不会在__init__()中被隐式地调用,所以。现在回到 super。如果使用了多重继承的层次结构,那么使用 super 是非常危险的,需要由开发人员来调用它们。()调用,但这又会导致第一种错误。混用 super 与显式类调用。
2025-12-04 17:45:40
369
原创 Python 高手编程系列六百二十:子类化内置类型
注意,零参数的 super()形式也可用于被 classmethod 装饰器装饰的方法。super 的简化形式(不传入任何参数)可以在方法内部使用,但 super 的使用并不。的速度更快,代码更整洁。最后,关于 super 还有很重要的一点需要注意,就是它的第二个参数是可选的。前面提到的使用实例很容易理解,但如果面对多重继承模式,super 将变得难以使用。当需要实现与某个内置类型具有相似行为的类时,最好的方法就是将这个内置类型子类化。类型的共同祖先,也是所有没有显式指定父类的用户自定义类的共同祖先。
2025-12-04 17:45:08
756
原创 Python 高手编程系列六百一十九:函数注解
Python 3 终结了这一分歧,其开发者只能使用被称为新式类的模型。怎样,知道两种模型在 Python 2 中的工作原理仍是很重要的,因为这有助于你移植旧代码。定义好之后,注解可以通过函数对象的__annotations__属性获取,它是一个字典,分重点介绍了与 Python 序列和集合相关的语法特性,也讨论了字符串和字节相关的序列。这也是为什么本章包含关于 Python 2 旧特性的大量内容,尽管本书针对的是最新版的。自定义函数使用的类型的完全可选的元信息,但事实上,它并不局限于类型提示,而且在。
2025-12-04 17:44:25
267
原创 Python 高手编程系列六百一十八:元类
现在第一个位置参数的命名约定为 cls,说明它已经是一个创建好的类对象(元类的实例),而不是一个元类对象。name、bases 和 namespace 参数的含义与前面介绍的 type()调用中的参数相同,• bases:这是父类的列表,将成为__bases__属性,并用于构造新创建的类的 MRO。然是 type 类的子类(参见图 3-4),因为如果不是的话,这个类将在继承方面与其他的类。metaclass 参数的值通常是另一个类对象,但它可以是任意可调用对象,只要接受。定义了对象实例的类也是对象。
2025-12-04 17:43:51
842
原创 Python 高手编程系列六百一十六:槽
属性来为指定的类设置一个静态属性列表,并在类的每个实例中跳过__dict__字典的创建过程。不幸的是,这个问题不能用第 2 章“(4)保存内省的装饰器”一节介绍的方法(使用额外。Python 中的混入类是一种不应被初始化的类,而是用来向其他现有类提供某种可复用。虽然有这样的警告,但类装饰器仍然是对流行的混入(mixin)类模式的一种简单又轻。在类装饰器中这样使用闭包的主要缺点是,生成的对象不再是被装饰的类的实例,而是在。这种模式的框架之一。当然,上面的代码片段并不是很好的代码示例,因为其含义过于模糊。
2025-12-04 17:42:45
679
原创 Python 高手编程系列六百一十五:property
基于上述原因,创建 property 的最佳语法是使用 property 作为装饰器。如果需要修改property的工作方式,推荐在派生类中覆写所有的property。property 的 setter 行为的话,通常意味着也需要修改 getter 的行为。property 提供了一个内置的描述符类型,它知道如何将一个属性链接到一组方法上。不幸的是,上面的代码有一些可维护性的问题。在大多数情况下,这是唯一的选择,因为如果修改了。是利用当前类的方法实时创建,不会使用派生类中覆写的方法。
2025-12-04 17:42:09
737
原创 Python 高手编程系列六百一十四:现实例子 — 延迟求值属性
描述符的一个示例用法就是将类属性的初始化延迟到被实例访问时。如果这些属性的初始化依赖全局应用上下文的话,那么这一点可能有用。另一个使用场景是初始化的代价很大,但在导入类的时候不知道是否会用到这个属性。这样的描述符可以按照如下所示来实现:defdef’)else:’)下面是示例用法:m.lazily_m.lazilycached!
2025-12-04 17:41:35
694
原创 Python 高手编程系列六百一十三:最佳实践
在 Python 2 中,没有指定任何祖先的类被认为是旧式类。(self, obj, value):在读取属性时将调用这一方法(被称为 getter)。幸运的是,多亏了 Python 描述符的工作方式。• super 的使用必须一致:在类的层次结构中,要么全部用 super,要么全不用。它是一个类,定义了另一个类的属性的访问方式。为了避免前面提到的所有问题,在 Python 在这个领域取得进展之前,我们需要考虑以。Python 提供这一特性是为了避免继承中的名称冲突,因为属性被重命名为以类名为前。
2025-12-04 17:40:41
928
原创 Python 高手编程系列六百一十二:最佳实践
在 Python 2 中,没有指定任何祖先的类被认为是旧式类。(self, obj, value):在读取属性时将调用这一方法(被称为 getter)。幸运的是,多亏了 Python 描述符的工作方式。• super 的使用必须一致:在类的层次结构中,要么全部用 super,要么全不用。它是一个类,定义了另一个类的属性的访问方式。为了避免前面提到的所有问题,在 Python 在这个领域取得进展之前,我们需要考虑以。Python 提供这一特性是为了避免继承中的名称冲突,因为属性被重命名为以类名为前。
2025-12-04 17:39:44
620
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:FlatList高性能列表组件
React Native的FlatList是一个高性能列表组件,支持跨平台、水平布局、下拉刷新、上拉加载等功能。它基于VirtualizedList实现,具有内存优化特性,但快速滚动时可能出现空白内容。使用时需注意:1) 为每项提供唯一key;2) 正确处理数据更新以避免渲染问题;3) 行组件滑出后状态不保留。示例代码展示了基本用法,包括数据定义、行组件渲染和FlatList配置。对于性能优化,建议使用PureComponent并注意props的引用比较问题。
2025-12-03 10:53:42
357
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:函数式图片组件三种图片引入方式
React Native的Image组件支持显示多种图片源,包括网络图片、本地资源和Base64数据。本文介绍了Image组件的基本用法:通过source属性加载网络图片(需指定尺寸)或本地资源(使用require),以及使用style属性设置图片样式。同时演示了如何实现圆角、阴影等视觉效果,并提供了包含三种图片源(本地、网络、Base64)的完整示例代码。最后展示了将React Native代码打包为bundle并在OpenHarmony中运行的效果。该组件是React Native中处理图像显示的核心解
2025-12-03 10:53:08
374
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:class类图片组件三种图片引入方式
React Native图片组件使用指南:本文介绍了React Native中Image组件的使用方法,包括本地资源、网络图片和Base64数据的加载方式。通过示例代码展示了类组件和函数组件的实现,并详细说明了样式定义、图片缩放控制(capInsets)和性能优化技巧。文章还演示了如何将React Native代码打包为bundle用于OpenHarmony平台,并附带了实际运行效果图。涵盖了从基础使用到高级特性的完整图片处理方案,适合React Native开发者参考。
2025-12-03 10:52:37
369
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:ActivityIndicator提示符号组件
React Native的ActivityIndicator组件是一个用于显示加载状态的UI元素,支持跨平台使用。它通过旋转动画(iOS风火轮/Android圆圈)向用户反馈异步操作进度。核心属性包括控制显示的animating、设置颜色的color、调整尺寸的size(支持数值/枚举值)以及iOS专属的hidesWhenStopped。典型应用场景包括数据加载和表单提交,通过简单配置即可实现不同样式,如示例代码展示的多尺寸多颜色组合。组件采用弹性布局和样式分离设计,遵循React Native开发最佳实践
2025-12-03 10:51:59
310
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:ImageBackground添加任何子元素以覆盖在其上面
React Native的ImageBackground组件是用于图片背景展示和组件叠加的容器组件,具有以下特点:1)支持背景图片显示,需指定宽高样式;2)允许嵌套Text等子组件实现图文叠加;3)通过flex布局和resizeMode实现自适应效果。示例代码展示了创建全屏背景图与居中文本的方法,并包含样式管理优化建议。该组件可通过打包转换为HarmonyOS应用,最终实现跨平台UI展示效果。
2025-12-03 10:51:14
267
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:KeyboardAvoidingView解决手机上弹出的键盘常常会挡住当前的视图
React Native的KeyboardAvoidingView组件解决了移动端键盘遮挡输入框的问题,通过自动调整布局确保内容可见。该组件支持三种行为模式(height/position/padding),需根据平台差异设置不同属性。典型应用场景包括表单页面,需配合ScrollView使用时需注意高度设置和键盘持久化配置。代码示例展示了跨平台适配方案,iOS推荐使用padding模式,Android推荐height模式,并通过keyboardVerticalOffset补偿顶部间距。实际开发中还需结合To
2025-12-03 10:50:31
341
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:覆盖在其他视图Modal显示
React Native的Modal组件提供跨平台模态视图功能,支持动画、透明背景等特性。核心属性包括visible(控制显示)、animationType(滑动/淡入动画)、transparent(透明背景)和onRequestClose(Android返回键处理)。代码示例展示了通过useState管理模态状态,使用TouchableHighlight实现触摸反馈。组件在iOS和Android上分别采用原生视图实现,如iOS的UIViewController和Android的DialogFragment
2025-12-03 10:49:57
315
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:检测到任意子组件的不同阶段的按压交互情况Pressable
React Native的Pressable组件是处理触摸交互的核心组件,支持按压状态反馈和多种交互事件。它通过原生触摸事件系统实现,提供onPress、onPressIn、onPressOut和onLongPress等事件回调,并支持动态样式调整。Pressable可包装任意子组件,在用户交互时触发相应事件,默认500ms长按触发onLongPress。使用示例展示了如何实现带按压效果的按钮,包括状态管理、样式变换和条件渲染。该组件通过React Native桥接层处理平台原生事件,在iOS和Androi
2025-12-03 10:49:00
270
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:如何实现RefreshControl下拉刷新功能
React Native的RefreshControl组件为ScrollView和FlatList提供下拉刷新功能。核心实现要点包括: 必需属性: refreshing:控制加载指示器显示状态 onRefresh:下拉触发的回调函数 平台差异: Android支持colors、progressBackgroundColor等属性 iOS支持tintColor、title等属性 实现逻辑: 定义refreshing状态 在onRefresh中先设为true,数据加载完成后重置为false 必须显式设置refr
2025-12-03 10:48:16
328
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发: OpenHarmony版本的ScrollView(滚动视图)的组件
React Native中的ScrollView组件是一个基础的滚动容器,它允许用户在垂直或水平方向滚动内容。该组件需要明确的高度设置才能正常工作,通常通过flex布局实现。与FlatList相比,ScrollView会一次性渲染所有子元素,适合少量数据展示,而FlatList采用惰性渲染更适合长列表。ScrollView支持多种属性配置,包括滚动方向、滚动指示器显示、内容样式等,并提供了键盘处理、嵌套滚动等高级功能。开发者需要注意性能优化,对于复杂场景建议使用FlatList替代。文末提供了一个电商应用示
2025-12-03 10:47:11
242
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:Alert提示对话框
Python 的方法解析顺序是基于 C3,这是为 Dylan 编程语言(http://opendylan.org)构建的。在早期版本的 Python 中,所有类并没有一个共同的祖先 object。这里 L[MyClass]是 MyClass 类的线性化,而 merge 是合并多个线性化结果的具体。在 Python 2 中,如果使用的是旧式类(不继承自 object),仍然存在这样的算法。例如,在(Base1,Python 所有的 2.x 版本中都保留了旧式类,目的是为了向后兼容,所以在这些版本中,如。
2025-12-02 17:10:45
703
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:高性能的分组(section)列表组件,玩转各种列表场景
React Native的SectionList是一个高性能分组列表组件,支持跨平台渲染、下拉刷新、分组头部/分隔线等功能。其核心特性包括: 通过sections属性定义分组数据,支持自定义分组头部和分隔线 继承VirtualizedList的优化性能,实现屏幕外内容异步渲染 支持滚动定位(scrollToLocation)和状态管理 与FlatList相比更适合分组数据展示 实际使用时需注意数据格式要求(需包含key、title、data字段)和性能优化(引用类型需修改引用地址触发更新)。该组件底层采用平
2025-12-02 17:09:50
713
原创 从入门小白到精通,玩转React Native鸿蒙跨平台开发:StatusBar控制应用状态栏的组件
在社区中,生成器并不常用,因为开发人员还不习惯这种思考方式。send 的作用和 next 类似,但会将函数定义内部传入的值变成 yield 的返回值。Python 生成器的另一个重要特性,就是能够利用 next 函数与调用的代码进行交互。基于 yield 语句,生成器可以暂停函数并返回一个中间结果。这个函数返回一个 generator 对象,是特殊的迭代器,它知道如何保存执行上下文。它可以被无限次调用,每次都会生成序列的下一个元素。实际上,它看上去就像。成它的生成器每次提供一个值,并不需要无限大的内存。
2025-12-02 17:09:16
342
原创 OpenHarmony版本的ScrollView(滚动视图)的组件报错Error: Unable to resolve module expo-constants
React Native项目在打包过程中出现模块解析错误,主要涉及Metro构建工具的依赖解析机制。错误发生在ModuleResolver.js和DependencyGraph.js中,表明系统无法正确解析expo-constants等模块。常见原因包括:模块未安装、路径配置错误、版本不兼容或缓存问题。解决方案包括:1) 检查并安装缺失依赖;2) 验证babel和metro配置;3) 确保核心依赖版本兼容;4) 清理缓存并重置环境。该问题多发生在使用expo相关模块的项目中,需特别注意react-nativ
2025-12-02 17:08:25
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅