之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品
最近也一直在迭代多模态可视化搭建产品flowmix系列
, 其中在做可视化流程引擎 flowmix/flow
的时候, 开源了一套工作流编辑器, 它可以轻松创建可视化工作流, 并且可以基于这套开源方案, 轻松定制企业自己的工作流引擎.
我们还可以使用它实现类似dify等可视化工作流.
开源地址: https://github.com/MrXujiang/flowmix-flow
线上demo: http://flowmix.turntip.cn/flow-v0
国内镜像: https://gitee.com/lowcode-china/flowmix-flow
接下来和大家分享一下我开源这套工作流引擎的一些功能亮点和技术实现. 后续也会在 flowmix视界 公号中分享更多可视化产品进展:
flowmix-flow工作流引擎特点
-
流程排序
-
节点拖拽
-
自动创建/编辑节点
-
节点连线
-
拖拽参考线/吸附
-
画布模式
-
节点数据存储
-
画布缩略图
-
导出流程JSON
节点创建与编辑
我们可以轻松地添加节点, 并通过双击节点来快速编辑节点, 同时编辑模式还能二次扩展.
边的自定义连线
我们可以轻松对不同节点进行自定义连线, 并且点击节点的“+”号之后, 可以自动创建连线节点, 来轻松创建工作流.
节点拖拽参考线
节点拖拽时会显示参考线, 来提高搭建体验, 这块我采用了 refline
来实现参考线吸附, 并且封装了一个组件, 这里和大家分享一下具体的实现:
import { RefLine } from "./index";
import { Rect, Point } from "./types";
interface Props {
current: Rect;
nodes: Rect[];
points?: Point[];
scale?: number;
offsetX?: number;
offsetY?: number;
}
export default function Line({
nodes,
points = [],
current,
scale = 1,
offsetX = 0,
offsetY = 0,
}: Props) {
if (!current) return null;
const refline = new RefLine({
rects: nodes,
points,
current
});
// 获取水平、垂直参考线
const lines = refline.getAllRefLines();
return (
<>
{lines.map((line, i) => {
return line.type === "vertical" ? (
<div
key={i}
className="line"
style={{
position: "absolute",
left: line.left * scale + offsetX,
top: line.top * scale + offsetY,
width: 1,
height: line.size * scale,
borderLeft: "1px dashed blue"
}}
></div>
) : (
<div
key={i}
className="line"
style={{
position: "absolute",
left: line.left * scale + offsetX,
top: line.top * scale + offsetY,
height: 1,
width: line.size * scale,
borderTop: "1px dashed blue"
}}
></div>
);
})}
</>
);
}
节点多选
双向图层面板
我们选择节点之后, 图层面板会对应的激活, 同时支持多选激活. 当我们选择图层面板的节点之后, 画布中的节点也会对应的激活, 来提高操作效率.
数据管理机制
数据状态管理我采用了轻量且高性能的zustand
, 这款状态管理库目前已有47k
star, 很多知名项目都在使用它, 建议大家可以学习一下.
flowmix/flow
也采用了它实现整个工作流的状态管理, 大家感兴趣可以线上体验一下.
如何使用和本地启动
由于项目在 github
上开源, 大家可以 clone
到本地, 然后运行如下命令在本地启动体验:
- 安装依赖
pnpm install
- 本地运行
pnpm dev
- 打包构建
pnpm build
这款开源项目可以集成到企业内部系统, 轻松实现媲美大厂的工作流, 后续我也会开发Pro版本, 让它覆盖更多应用场景和领域.
开源地址: https://github.com/MrXujiang/flowmix-flow
线上demo: http://flowmix.turntip.cn/flow-v0
国内镜像: https://gitee.com/lowcode-china/flowmix-flow
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。