HuggingFists-如何复用流程

    在使用HuggingFists进行业务流程编写时,很可能会发现多个流程间拥有相同的流程片段。按照通常的思考,如果能将这些相同的片段封装为一个可复用的子流程,在各个主流程中引用使用,就可以避免每次重复编写该片段,省去不必要的重复工作量。对于逻辑复杂的流程片段,也避免了重复编写时,由于疏忽大意而引入的流程错误。这个子流程概念对于有编程经验的人来说,非常熟悉,这不就是程序语言中函数的概念吗?的确,HuggingFists中的子流程其功能含义的确与程序语言的函数一致。主流程、子流程的概念也是相对的,更统一的概念就是流程,任何一个流程都可以成为其它流程的子流程,或者引用一个其它流程成为一个主流程。下面我们就来介绍一下在HuggingFists中,如何定义及引用一个流程。

如何定义可引用流程

    正如我们在上一节所说,在HuggingFists中,任何一个流程都可以被其它流程引用使用。主流程可以驱动被引用流程执行。但如果希望向被引用流程输入数据流或接收其输出流,则需要一些特殊的定义了。就如同使用函数时,需要声明函数的入参及返回值一样,我们也需要为流程进行相应的声明。

    如上图,在进行流程定义时,我们可以看到流程定义面板的两侧有两类端口。一类是在定义面板左侧边缘,蓝色框内的输入端口,表示当前流程可以从该端口获得输入数据。一个流程允许接入多个数据流,当蓝色框内的端口存在连接后,会自动扩展一个没有建立连接的端口,方便流程定义多输入流;另一类是定义面板右侧边缘,绿色框内的输出端口,表示可以将流程的处理结果从该端口输出。父流程可以建立与该输出端口的连接接收输出数据。需要注意的是,在定义面板右侧边缘的上部还有一个端口,这个端口是流程的快速数据输出端口。方便流程定义时,迅速查看输出结果,方便流程的调试。与输入一样,流程也允许输出多个数据流。

    下面我们看一个示例,如下:

    这是一个实现列添加动作的“子流程”。其逻辑为对输入到该流程的数据流添加一个名为”column1”的String类型列,列的缺省值为”添加”。列添加完成后,将数据流输出。

如何引用流程

    流程的引用与算子的应用非常相似。如上图,在流程定义界面左侧的蓝色框内的菜单按钮。点击该按钮,右侧的算子树会切换为流程树。可拖拽流程树中的任意一个流程到流程定义面板。使用方式与拖拽和使用算子没有任何差别。唯一需要注意的是,被引用的流程必须是已经发布过的流程,是被确认过逻辑没有问题的流程。当将流程从左侧树拖拽到右侧定义面板中时,会弹出如下窗口,要求使用者选中要引用的流程版本。

    流程版本一旦选中,就不支持修改了。选中后,被引用的流程在面板中也被表达为一个与算子相似的图元。若被引用流程支持输入/输出,则该图元会有对应的输入输出端口。

    下面我们接着上面做过的实现添加列的流程,做一个引用其完成列添加过程的流程。如下图:

    该流程读取了一个csv文件,并将输出流传输给流程引用算子。流程引用算子中引用的流程会为输入的数据流缺省添加一个”column1”列,并将数据流输出(注:流程在上一章节中有介绍)。图中蓝色框部分为csv文件的结构,共13列。图中绿色的方框部分为被引用的流程的名字。流程引用算子总是以被引用的流程名字作为缺省的算子实例名。下面我们运行一下流程,看一下流程的运行结果。

    我们可以看到,输出结果在csv的结果集后加了名为column1的一列,其值为”添加”,这与我们定义的“子流程”的逻辑相同。实验证明,主流程能够成功的调用子流程。

    HuggingFists一款能够便捷使用LLM及HuggingFace模型的低代码数据流工具,部分功能可被视为低代码版的Langchain。社区版下载地址:

【Linux版】
微云:https://share.weiyun.com/mmmowpEX
Github:https://github.com/Datayoo/HuggingFists
百度网盘:https://pan.baidu.com/s/1zV_ScCtLgFQSYEb0wLmXIQ?pwd=2024 

【windows版】
微云:https://share.weiyun.com/2eDVeN8Q
Github: https://github.com/Datayoo/HuggingFists4Win/tree/main
百度网盘:https://pan.baidu.com/s/1JXgd5bEfSX8RsDb0WTocdw?pwd=2024

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

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

相关文章

泰迪智能科技高职人工智能专业人才培养方案

人工智能行业近年来得到了快速发展,全球科技公司都在竞相投入人工智能的研发,从硅谷到北京,都在人工智能上取得了显著的进步。人工智能已经从学术研究转变为影响制造业、医疗保健、交通运输和零售等多个行业的关键因素。我国政策的积极推动下…

Windows下docker-compose部署DolphinScheduler

参照:快速上手 - Docker部署(Docker) - 《Apache DolphinScheduler v3.1.0 使用手册》 - 书栈网 BookStack 下载源文件 地址:https://dolphinscheduler.apache.org/zh-cn/download/3.2.1 解压到指定目录,进入apache-dolphinscheduler-xxx-…

4.2.4 理解路由器数据包过程

1、实验目的 通过本实验可以掌握: 了解IP路由原理了解数据包封装和解封装的概念了解路由器路由和交换过程 2、实验拓扑 观察路由器路由数据包过程的实验拓扑如图4-3所示,设备接口地址信息如表4-2所示。 图4-3 观察路由器路由数据包过程的实验拓扑 本…

H.265视频直播点播录像EasyPlayer.js流媒体播放器用户常见问题及解答

EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,无须安装任何插件,起播快、延迟低、兼容性强,使用非常便捷。 今天我们来汇总下用户常见的几个问题及解答。 1、EasyPlayer.js播放多路H.265视…

More than one argument (#0 and left as delegating for Creator) 报错解决

"stack_trace": "c.f.j.d.e.InvalidDefinitionException:Invalid type definition for type `com.xx.xx.x.x.x

软件设计—接口安全设计规范

1.token授权机制 2.https传输加密 3.接口调用防滥用 4.日志审计里监控 5.开发测试环境隔离,脱敏处理 6.数据库运维监控审计 软件项目相关全套精华资料包获取方式①:点我获取 获取方式②:本文末个人名片直接获取。

Golang | Leetcode Golang题解之第13题罗马数字转整数

题目&#xff1a; 题解&#xff1a; var symbolValues map[byte]int{I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000}func romanToInt(s string) (ans int) {n : len(s)for i : range s {value : symbolValues[s[i]]if i < n-1 && value < symbolValues[s…

SpringBoot整合RabbitMQ-应答模式

一、应答模式 RabbitMQ 中的消息应答模式主要包括两种&#xff1a;自动应答&#xff08;Automatic Acknowledgement&#xff09;和手动应答&#xff08;Manual Acknowledgement&#xff09;。&#xff08;一般交换机发送消息&#xff0c;RabbitMQ只有在接收到消费者的确认后才…

求三角形面积(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <math.h>int main() {//初始化变量值&#xff1b;double a, b, c, s, area;//赋值&#xff1b;a 3.67;b 5.43;c 6.21;//运算求s&#xff1b…

如何关闭WordPress的自动更新功能

Wordpress为什么自动更新 WordPress自动更新是为了提供更好的安全性和稳定性。 安全性&#xff1a;WordPress是一个广泛使用的内容管理系统&#xff0c;因此成为恶意攻击的目标。WordPress的自动更新功能确保你的网站及时获得最新的安全补丁和修复程序&#xff0c;以保护你的网…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(四)- 配置和设置指令(vsetvli/vsetivli/vsetvl)

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…

C语言—每日选择题—Day65

前言 我们的刷题专栏又又又开始了&#xff0c;本专栏总结了作者做题过程中的好题和易错题。每道题都会有相应解析和配图&#xff0c;一方面可以使作者加深理解&#xff0c;一方面可以给大家提供思路&#xff0c;希望大家多多支持哦&#xff5e; 第一题 1、如下代码输出的是什么…

HarmonyOS4-学习入门知识总结

简单的组件学习&#xff1a; /*** weip 自定义控件* 自定义构建函数也是需要充电的地方&#xff0c;分全局和局部的* 全局&#xff1a;需要添加function关键字 局部&#xff1a;不加function关键字* Styles function 自定义公共样式 分全局和局部* Extends(Text) 继承模式 只…

wangEditor 测试环境对,但是生产环境无法显示

package.json 文件版本 "wangeditor": "4.3.0"开发环境 new Editor(#${this.id});出来的数据 正式环境 new Editor(#${this.id});出来的数据 原因&#xff1a; vue.config 文件 打包策略的时候 const assetsCDN {css: [https://lf6-cdn-tos.bytecd…

【千帆平台】百度智能云千帆AppBuilder应用探索益智游戏之猜物小游戏

欢迎来到《小5讲堂》 这是《千帆平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景AppBuilder控制台创建应用设置应用自动配置随机生成AI生成应…

20.安全性测试与评估

每年都会涉及&#xff1b;可能会考大题&#xff1b;多记&#xff01;&#xff01;&#xff01; 典型考点&#xff1a;sql注入、xss&#xff1b; 从2个方面记&#xff1a; 1、测试对象的功能、性能&#xff1b; 2、相关设备的工作原理&#xff1b; 如防火墙&#xff0c;要了解防…

产业链上下游持续利好 冷缩管(冷缩套管)应用需求不断增长

产业链上下游持续利好 冷缩管&#xff08;冷缩套管&#xff09;应用需求不断增长 冷缩管又称冷缩套管、冷收缩式电缆附件&#xff0c;指利用预扩张技术制成的弹性体部件。冷缩管具有抗冲击、耐热、耐腐蚀、防水、抗老化、电绝缘性能好等优势&#xff0c;在通信系统、电力系统等…

「实战应用」如何用图表控件LightningChart创建JS堆叠条形图?

LightningChartJS是Web上性能特高的图表库&#xff0c;具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用&#xff0c;从而实现高刷新率和流畅的动画&#xff0c;常用于贸易&#xff0c;工程&#xff0c;航空…

Netty学习——高级篇2 Netty解码技术 备份

接上篇&#xff1a;Netty学习——高级篇1 拆包 、粘包与编解码技术&#xff0c;本章继续介绍Netty的其他解码器 1 DelimiterBasedFrameDecoder分隔符解码器 DelimiterBasedFrameDecoder 分隔符解码器是按照指定分隔符进行解码的解码器&#xff0c;通过分隔符可以将二进制流拆分…

K8s-Ingress Nginx-Day 08

1. 什么是Ingress 官方文档&#xff1a;https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/#what-is-ingress Ingress 是 kubernetes API 中的标准资源类型之一&#xff0c;主要是k8s官方在维护。 2. Ingress的作用 Ingress 提供从集群外部到集群内服务…