From aa9fc6a739a925c4da6a202cb5ea44872005db36 Mon Sep 17 00:00:00 2001 From: LyonRust Date: Wed, 30 Jul 2025 00:44:35 +0800 Subject: [PATCH] docs: add dataflow parameters detail --- docs/guide/topics/dataflow.mdx | 38 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/guide/topics/dataflow.mdx b/docs/guide/topics/dataflow.mdx index 896307f..f6d7b60 100644 --- a/docs/guide/topics/dataflow.mdx +++ b/docs/guide/topics/dataflow.mdx @@ -116,7 +116,7 @@ ``` * **参数详解** * **类型**: `Option` / `Option` - * **含义**: 定义在运行时节点内部署的一个或多个轻量级**操作符**。它的存在标志着该节点是一个算子宿主。 + * **含义**: 定义在运行时节点内部署的一个或多个轻量级**操作符**。它的存在标志着该节点是一个操作符宿主。 * **限制条件**: 与 `path` 字段**互斥**;`operators` 和 `operator` 自身也**互斥**。 @@ -273,13 +273,13 @@ pub struct Node { ### `env: Option>` * **作用**: 为节点进程(包括构建和运行阶段)设置环境变量。 -#### 运行时与算子配置 (Runtime & Operator Configuration) +#### 运行时与操作符配置 (Runtime & Operator Configuration) ### `operators: Option` -* **作用**: **定义运行时节点的关键**。包含一个或多个算子(Operator)的定义。如果一个 `Node` 定义了 `operators` 字段(而没有 `path` 字段),它就成为一个运行时节点。 +* **作用**: **定义运行时节点的关键**。包含一个或多个操作符(Operator)的定义。如果一个 `Node` 定义了 `operators` 字段(而没有 `path` 字段),它就成为一个运行时节点。 ### `operator: Option` -* **作用**: `operators` 字段的便利版。当一个运行时节点只包含**一个**算子时,可以使用此字段来简化 YAML 配置。它和 `operators` 是互斥的。 +* **作用**: `operators` 字段的便利版。当一个运行时节点只包含**一个**操作符时,可以使用此字段来简化 YAML 配置。它和 `operators` 是互斥的。 #### 数据流连接 (Dataflow Connectivity) @@ -318,7 +318,7 @@ pub struct Node { 这份最新的 `Node` 定义展示了一个成熟且高度灵活的设计方案: 1. **声明式与配置驱动**: 整个数据流图完全通过 YAML 文件进行声明式定义。`Node` 结构体是这个声明的核心,它是一个纯粹的数据容器,可以被 `serde` 完美地解析。 -2. **隐式模式切换**: 通过检查 `path` 与 `operators`/`operator` 字段的存在与否,`dora` 能够智能地推断出节点是应作为独立进程运行,还是作为轻量级算子的宿主运行。这种设计使得 YAML 语法非常直观和扁平。 +2. **隐式模式切换**: 通过检查 `path` 与 `operators`/`operator` 字段的存在与否,`dora` 能够智能地推断出节点是应作为独立进程运行,还是作为轻量级操作符的宿主运行。这种设计使得 YAML 语法非常直观和扁平。 3. **构建与源码集成**: 通过 `git` 和 `build` 字段,`dora` 将节点的源码管理和构建过程无缝集成到其工作流中,极大地提升了项目的可移植性和可复现性。 4. **清晰的关注点分离**: * **身份 (who)**: `id`, `name`, `description` @@ -396,44 +396,44 @@ nodes: - resized_image # -------------------------------------------------------------------------- - # 节点 3: 运行时节点 (Runtime Node) - 托管多个算子 - # 职责: 作为宿主进程,运行两个轻量级算子。 + # 节点 3: 运行时节点 (Runtime Node) - 托管多个操作符 + # 职责: 作为宿主进程,运行两个轻量级操作符。 # 特点: 使用 operators 字段,没有 path 字段。 # -------------------------------------------------------------------------- - id: processing_hub name: "AI & Data Processing Hub" - description: "这是一个运行时节点,它本身不执行逻辑,而是为其内部的算子提供运行环境。" + description: "这是一个运行时节点,它本身不执行逻辑,而是为其内部的操作符提供运行环境。" # 注意:没有 path, args, build 等字段,因为它不是一个独立的进程节点。 - # 算子定义: + # 操作符定义: operators: - # 运行时内的第一个算子 + # 运行时内的第一个操作符 - id: yolo_detector name: "YOLOv8 Detection Operator" description: "对输入的图片运行目标检测算法。" - # 算子的实现代码 + # 操作符的实现代码 python: path/to/yolo_operator.py - # 算子的输入 + # 操作符的输入 inputs: image: frame_resizer/resized_image - # 算子的输出 + # 操作符的输出 outputs: - detections # 检测结果 - metadata # 附加元数据 - # 运行时内的第二个算子 (设想中的 Rust 算子) + # 运行时内的第二个操作符 (设想中的 Rust 操作符) - id: aggregator name: "Data Aggregator Operator" description: "聚合来自多个源的数据。" - # 设想中的 Rust 共享库算子 + # 设想中的 Rust 共享库操作符 shared_library: path/to/libaggregator.so - # 算子的输入 + # 操作符的输入 inputs: - # 可以订阅来自其他算子或其他节点的数据 + # 可以订阅来自其他操作符或其他节点的数据 yolo_meta: yolo_detector/metadata camera_log: video_capture/log_stream - # 算子的输出 + # 操作符的输出 outputs: - summary_report @@ -447,7 +447,7 @@ nodes: description: "接收所有处理结果并将其打印到控制台。" path: examples/python-dataflow/nodes/logger.py - # 输入: 演示如何订阅来自不同节点和算子的多个数据流 + # 输入: 演示如何订阅来自不同节点和操作符的多个数据流 inputs: detections_input: processing_hub/yolo_detector/detections report_input: processing_hub/aggregator/summary_report