Skip to content

Commit

Permalink
Merge pull request #135 from windsonsea/monkey
Browse files Browse the repository at this point in the history
Add create-flow-with-monkey
  • Loading branch information
windsonsea authored Aug 6, 2024
2 parents 0cdc51d + a6790fa commit e61a49f
Show file tree
Hide file tree
Showing 14 changed files with 164 additions and 57 deletions.
106 changes: 106 additions & 0 deletions docs/zh/docs/monkey/create-flow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
hide:
- toc
---

# 通过工作流创建应用

流程编排的核心是基于应用市场、语言模型、数据通过编排工作流来批量生产面向用户的文生文、文生图等智能应用。
本文通过工作流以系统内置的 gpt-4o 模型创建一个简单的文生文对话应用「德语翻译官」为例。

## 前提条件

- 你作为一个应用开发者,[登录 d.run](https://console.d.run/)[购买了算力](../buy/buy.md)

## 开始创建工作流应用

1. 点击左上角 <span style="font-size: 20px;">≡</span>,在弹出的导航栏中点选 **流程编排**

![流程编排](./images/flow01.png)

1. 默认位于 **工作台** ,你可以点击 **+**

![加号](./images/flow02.png)

1. 系统显示了一些当前已创建的应用,你可以点击右上角的 **创建** 新建一个应用。

![创建](./images/flow03.png)

1. 默认是 **工作流应用** ,输入名称和描述后点击 **创建** ,进入流程编排界面。

![创建向导](./images/flow04.png)

!!! note

你也可以使用 **应用市场** 的某个模板,直接进入流程编排。

## 流程编排

流程以节点的形式存在,从开始到结束的每个节点都是可以独立配置的。
你可以在其中定义参数变量,然后选择某个流行的大模型处理,从而生成面向用户的文本、图片和视频。

1. 在流程视图中,点击 **开始**

![开始节点](./images/flow05.png)

1.**工作流输入** 中配置一些参数,比如下表第一列就是自定义的参数:

| 显示名称 | 数据类型 | 默认值 |
|-----------|----------|--------|
| 用户消息 | 文本 | hi |
| 语言 | 文本 | 德语 |

![工作流输入](./images/flow06.png)

1. 点击中间的红色节点,选择 **大语言模型** ,配置 **预制 Prompt****用户消息**

| 字段 | 选项 | 示例值 |
| --- | ---- | ----- |
| 大语言模型 | 预设选项 | gpt-4o |
| 预制 Prompt | 输入描述文本 | 你是一个精通德语的翻译官 |
| <span style="background-color: lightgreen; color: white;">文本</span> 用户消息 | 配置一条由参数组成的、能让 gpt-4o 理解的指令 |**<span style="background-color: lightgreen; color: white;">文本</span> 工作流输入 用户消息** 翻译成 **<span style="background-color: lightgreen; color: white;">文本</span> 工作流输入 语言** |

其中,**<span style="background-color: lightgreen; color: white;">文本</span> 工作流输入 用户消息** 指的是点击右侧的 🔗 图标后所选择的参数。

![配置参数](./images/flow07.png)

当然你也可以直接在 **原始数据** 页签中填入以下 JSON 示例代码:

```json
{
"inputParameters": {
"__advancedConfig": {
"timeout": 180
},
"frequency_penalty": 0.5,
"model": "gpt-4o",
"presence_penalty": 0.5,
"response_format": "text",
"systemPrompt": "你是一个精通德语的翻译官",
"temperature": 0.7,
"userMessage": "把 ${workflow.input.gccr6b}翻译成${workflow.input.ftpqjr}"
},
"name": "llm:generate_text",
"taskReferenceName": "llm:generate_text_GMfzdJzB",
"type": "SIMPLE"
}
```

1. 保存后返回 **流程视图** ,切换到 **对话视图** 页签,点击 **运行工作流** 。

![运行工作流](./images/flow08.png)

1. 可以看到刚刚配置的参数都生效了,系统提示用户消息 **Hi** 的德语是 **Hallo** 。
而 **Hallo** 就是最终用户将看到的消息。

![运行工作流](./images/flow09.png)

1. 你可以尝试修改 **用户消息** ,然后再点击 **运行工作流** ,可以看到给出了正确的德语,这就表明你创建的德语翻译官生效了。

![尝试不同的消息](./images/flow010.png)

## 工作流

你所创建的智能应用都在 **工作流** 页签,点击 **德语翻译官** 卡片,可以配置和添加更多参数,可以添加更复杂的流程。

![尝试不同的消息](./images/flow011.png)
114 changes: 57 additions & 57 deletions docs/zh/docs/monkey/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,60 +8,60 @@ hide:
懂业务的大模型流程引擎,零代码构建高价值 AI 应用,提供流程可视编排、标准流程定义、构建终端应用、应用可观测性、统一工具实现。
具体的功能特性见下表:

| 一级功能 | 二级功能 | 三级功能 | 描述 |
| -------- | ------------------------ | ------------------------------- | ------------------------------------------------------------ |
| 应用 | 应用构建 | 构建流程应用 | 在流程中直接观测每个节点的输出 |
| | | 构建表单应用 | 基于一条流程的输入和输出,实现填写表单后生成对应的结果 |
| | | 构建对话应用 | 基于一条流程的输入和输出,实现一个聊天机器人 |
| | | 构建 RESTful API 应用 | 基于一条流程的输入和输出,实现一个 API |
| | | 构建 OpanAI API 应用 | 当一个流程只有一条输出时,形成兼容 OpenAI 的 API |
| | 应用集成 | 将应用集成到企业微信 | 基于 RESTful API 接入企业微信 |
| | | 将应用集成到微信客服 | 基于 RESTful API 接入微信客服 |
| | | 将应用集成到微信公众号 | 基于 RESTful API 接入微信公众号 |
| | 应用可观测性 | 查看单个应用的总体运行情况 | 查看整体运行次数、运行时间等信息 |
| | | 查看单个应用的单次运行情况 | 查看单次运行对应的流程中,每个流程中的节点输入、输出和运行时间等信息 |
| | 应用智能 | 需求自动匹配已有工具 | 基于 Function Call 特性 |
| | | 需求创建新流程(直接生成) | 基于 APA 方法,同时通过 RAG 利用已有数据 |
| | | 需求创建新流程(自回归生成) | 基于 ReAct 方法 |
| | 典型应用示例 | 多模态内容生成(AIGC) | 连接文本生成、图像生成、视频生成等工具节点,形成应用 |
| | | 信息检索增强生成(RAG) | 连接关系数据搜索、向量搜索、稀疏搜索、大语言模型等工具节点,形成应用 |
| | | 流程自动化(RPA) | 连接已有业务系统和大语言模型等工具节点,形成应用 |
| | | 数据清洗、模型训练和测评(ETL) | 连接文档处理、大语言模型、模型训练、模型测评等工具节点,形成应用 |
| 流程 | 流程声明式语法 | 标准 Schema 定义 | 基于主流流程语法定义,结合大语言模型特点定义语法 |
| | | 支持循环、选择等 DAG 能力 | 基于 DAG(有向无环图),实现流程编排的图灵完备性 |
| | 流程可视化配置 | 流程配置 | 快速组装流程形成流程应用 |
| | | 流程参数传递 | 将不同的工具节点进行参数传递,实现数据流转 |
| | 流程控制 | 控制流程启停 | 根据用户在流程应用、表单应用、对话应用的输入,启动流程或者停止流程 |
| | | 流程节点超时重试 | 根据单个工具节点的运行情况进行控制,确保流程的顺利运行 |
| | | 流程日志监控 | 记录流程运行的全部数据并进行可视化呈现 |
| | 流程智能 | 需求创建新流程(直接生成) | 基于 APA 方法,同时通过 RAG 利用已有数据 |
| | | 需求创建新流程(自回归生成) | 基于 ReAct 方法 |
| | | 需求修改已有流程 | 利用模型的推理能力,基于自然语言进行修改 |
| 工具 | 工具声明式语法 | 标准 Schema 定义 | 基于主流工具语法定义,结合大语言模型特点定义语法 |
| | 工具列表 | 工具列表 | 将预置工具和自定义工具统一管理并调用 |
| | 预置工具(大语言模型) | 多种模型兼容 | 兼容 Llama、Command 等海外模型;兼容 Baichuan、GLM、Qwen 等国内模型 |
| | | 多种量化方式兼容 | 兼容 INT16、INT4 等;兼容 GPTQ 等 |
| | | 模型列表 | 统一管理全部模型,包括微调后的模型 |
| | 预置工具(多模态模型) | 视觉语言模型 | 兼容 QwenV 等多种视觉语言模型 |
| | | 图像生成模型 | 兼容 Stable Diffusion 等多种图像生成模型 |
| | | 视频生成模型 | 兼容 Stable Video Diffusion 等多种视频生成模型 |
| | 预置工具(数据处理) | 关系数据处理 | 将已有的关系数据库储存到可被搜索的表格数据集中 |
| | | 文本数据处理 | 将已有的文本储存到可被搜索的预置文本数据集中 |
| | | 多种数据结构转换 | 实现字符串等多种数据结构的互相转换和存储 |
| | 预置工具(私有数据搜索) | 关系数据搜索 | 支持通过 SQL 查询已有数据库(SQL 可以通过大语言模型生成) |
| | | 文本数据语义搜索 | 支持通过一段文本查询已有数据库(向量搜索) |
| | | 文本数据稀疏搜索 | 支持通过一段文本查询已有数据库(关键词搜索) |
| | 预置工具(文件处理) | 文件读取 | 支持读取 pdf、docx、xlsx 等数据格式 |
| | | 文件写入 | 支持写入 pdf、docx、xlsx 等数据格式 |
| | 预置工具(自动化) | 营销自动化 | 支持实现对主流公域营销渠道和私域渠道的自动化推送 |
| | | 办公自动化 | 支持实现对主流信息化系统的自动化打通 |
| | 预置工具(模型训练) | 增量预训练 | 支持通过增量预训练方式向模型引入数据 |
| | | 指令微调 | 支持通过指令微调方式向模型引入数据 |
| | | 强化学习 | 支持通过强化学习方式向模型引入数据 |
| | 预置工具(模型测评) | 客观测评 | 支持基于有明确答案的问题进行测评,并输出测评报告 |
| | | 主观测评 | 支持对于主观问题进行测评,并指定任意的大语言模型进行测评,并输出测评报告 |
| | 自定义工具 | 子流程 | 将已有流程作为一个节点 |
| | | API | 将任意满足 OpenAPI 条件的 API 作为一个节点 |
| | | Python 代码 | 将一段 Python 代码作为一个节点 |
| | | JavaScript 代码 | 将一段 JavaScript 代码作为一个节点 |
| | | 外部服务 | 在外部服务提供统一接口的情况下,接入作为一个节点 |
| 一级功能 | 二级功能 | 三级功能 | 描述 |
| ------ | ------ | ------- | --- |
| 应用 | 应用构建 | 构建流程应用 | 在流程中直接观测每个节点的输出 |
| | | 构建表单应用 | 基于一条流程的输入和输出,实现填写表单后生成对应的结果 |
| | | 构建对话应用 | 基于一条流程的输入和输出,实现一个聊天机器人 |
| | | 构建 RESTful API 应用 | 基于一条流程的输入和输出,实现一个 API |
| | | 构建 OpanAI API 应用 | 当一个流程只有一条输出时,形成兼容 OpenAI 的 API |
| | 应用集成 | 将应用集成到企业微信 | 基于 RESTful API 接入企业微信 |
| | | 将应用集成到微信客服 | 基于 RESTful API 接入微信客服 |
| | | 将应用集成到微信公众号 | 基于 RESTful API 接入微信公众号 |
| | 应用可观测性 | 查看单个应用的总体运行情况 | 查看整体运行次数、运行时间等信息 |
| | | 查看单个应用的单次运行情况 | 查看单次运行对应的流程中,每个流程中的节点输入、输出和运行时间等信息 |
| | 应用智能 | 需求自动匹配已有工具 | 基于 Function Call 特性 |
| | | 需求创建新流程(直接生成) | 基于 APA 方法,同时通过 RAG 利用已有数据 |
| | | 需求创建新流程(自回归生成) | 基于 ReAct 方法 |
| | 典型应用示例 | 多模态内容生成(AIGC) | 连接文本生成、图像生成、视频生成等工具节点,形成应用 |
| | | 信息检索增强生成(RAG) | 连接关系数据搜索、向量搜索、稀疏搜索、大语言模型等工具节点,形成应用 |
| | | 流程自动化(RPA) | 连接已有业务系统和大语言模型等工具节点,形成应用 |
| | | 数据清洗、模型训练和测评(ETL) | 连接文档处理、大语言模型、模型训练、模型测评等工具节点,形成应用 |
| 流程 | 流程声明式语法 | 标准 Schema 定义 | 基于主流流程语法定义,结合大语言模型特点定义语法 |
| | | 支持循环、选择等 DAG 能力 | 基于 DAG(有向无环图),实现流程编排的图灵完备性 |
| | 流程可视化配置 | 流程配置 | 快速组装流程形成流程应用 |
| | | 流程参数传递 | 将不同的工具节点进行参数传递,实现数据流转 |
| | 流程控制 | 控制流程启停 | 根据用户在流程应用、表单应用、对话应用的输入,启动流程或者停止流程 |
| | | 流程节点超时重试 | 根据单个工具节点的运行情况进行控制,确保流程的顺利运行 |
| | | 流程日志监控 | 记录流程运行的全部数据并进行可视化呈现 |
| | 流程智能 | 需求创建新流程(直接生成) | 基于 APA 方法,同时通过 RAG 利用已有数据 |
| | | 需求创建新流程(自回归生成) | 基于 ReAct 方法 |
| | | 需求修改已有流程 | 利用模型的推理能力,基于自然语言进行修改 |
| 工具 | 工具声明式语法 | 标准 Schema 定义 | 基于主流工具语法定义,结合大语言模型特点定义语法 |
| | 工具列表 | 工具列表 | 将预置工具和自定义工具统一管理并调用 |
| | 预置工具(大语言模型) | 多种模型兼容 | 兼容 Llama、Command 等海外模型;兼容 Baichuan、GLM、Qwen 等国内模型 |
| | | 多种量化方式兼容 | 兼容 INT16、INT4 等;兼容 GPTQ 等 |
| | | 模型列表 | 统一管理全部模型,包括微调后的模型 |
| | 预置工具(多模态模型) | 视觉语言模型 | 兼容 QwenV 等多种视觉语言模型 |
| | | 图像生成模型 | 兼容 Stable Diffusion 等多种图像生成模型 |
| | | 视频生成模型 | 兼容 Stable Video Diffusion 等多种视频生成模型 |
| | 预置工具(数据处理) | 关系数据处理 | 将已有的关系数据库储存到可被搜索的表格数据集中 |
| | | 文本数据处理 | 将已有的文本储存到可被搜索的预置文本数据集中 |
| | | 多种数据结构转换 | 实现字符串等多种数据结构的互相转换和存储 |
| | 预置工具(私有数据搜索) | 关系数据搜索 | 支持通过 SQL 查询已有数据库(SQL 可以通过大语言模型生成) |
| | | 文本数据语义搜索 | 支持通过一段文本查询已有数据库(向量搜索) |
| | | 文本数据稀疏搜索 | 支持通过一段文本查询已有数据库(关键词搜索) |
| | 预置工具(文件处理) | 文件读取 | 支持读取 pdf、docx、xlsx 等数据格式 |
| | | 文件写入 | 支持写入 pdf、docx、xlsx 等数据格式 |
| | 预置工具(自动化) | 营销自动化 | 支持实现对主流公域营销渠道和私域渠道的自动化推送 |
| | | 办公自动化 | 支持实现对主流信息化系统的自动化打通 |
| | 预置工具(模型训练) | 增量预训练 | 支持通过增量预训练方式向模型引入数据 |
| | | 指令微调 | 支持通过指令微调方式向模型引入数据 |
| | | 强化学习 | 支持通过强化学习方式向模型引入数据 |
| | 预置工具(模型测评) | 客观测评 | 支持基于有明确答案的问题进行测评,并输出测评报告 |
| | | 主观测评 | 支持对于主观问题进行测评,并指定任意的大语言模型进行测评,并输出测评报告 |
| | 自定义工具 | 子流程 | 将已有流程作为一个节点 |
| | | API | 将任意满足 OpenAPI 条件的 API 作为一个节点 |
| | | Python 代码 | 将一段 Python 代码作为一个节点 |
| | | JavaScript 代码 | 将一段 JavaScript 代码作为一个节点 |
| | | 外部服务 | 在外部服务提供统一接口的情况下,接入作为一个节点 |
Binary file added docs/zh/docs/monkey/images/flow01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow010.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow011.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow03.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow04.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow05.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow06.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow07.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow08.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/zh/docs/monkey/images/flow09.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/zh/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ nav:
- 流程编排:
- 什么是流程编排: monkey/index.md
- 功能特性: monkey/features.md
- 通过工作流创建应用: monkey/create-flow.md
- 模型工具:
- 模型微调:
- 什么是模型微调: dtx/index.md
Expand Down

0 comments on commit e61a49f

Please sign in to comment.