# 完成第一条数据应用链路

本教程带您沿一条固定路径，把教程数据包中的两份文件接入 MOI，经工作流处理后写入知识库，再由智能体生成一份可下载的 Markdown 结果。

开始前，请先完成[开始之前](before-you-begin.md)中的五项检查。教程会创建以下对象，请全程使用这里给出的名称：

| 对象 | 固定名称或位置 |
| --- | --- |
| 原始文件位置 | `moi_quickstart / data / source` |
| 处理结果位置 | `moi_quickstart / data / processed` |
| 工作流 | `moi_quickstart_pipeline` |
| 知识库 | `moi_quickstart_knowledge` |

每一步都以「完成标志」结束。看到对应结果后，再继续下一步。

## 1. 打开新建导入任务页面

这一页用于创建把本地文件接入 MOI 的导入任务。

1. 登录 MOI，确认页面左上角显示的是您为教程准备的工作区。
2. 在顶部导航中选择 **数据**，进入数据模式。
3. 在左侧导航的 **数据连接** 分组中选择 **导入任务**。
4. 在导入任务列表右上角点击 **新建任务**。

页面会从任务列表进入导入任务创建页。此时还没有上传文件，也没有创建任务。

**完成标志：** 页面标题显示“新建导入任务”，并出现导入类型和数据源的配置项。

## 2. 接入教程数据

本步把两份教程文件上传到固定的数据卷，并等待导入任务完成。

1. 在 **导入类型** 中选择 **非结构化**。
2. 在 **数据源类型** 中选择 **本地上传**。
3. 在目标数据卷中依次创建目录 `moi_quickstart`、库 `data` 和卷 `source`，最终选择 `moi_quickstart / data / source`。
4. 在同一个数据库下再创建卷 `processed`。本步不向该卷上传文件，后续工作流会把处理结果写入这里。
5. 在文件选择区域添加教程数据包解压后的两份文件，确认列表中只出现这两份文件。
6. 保持其余设置不变，点击 **创建并开始导入**。
7. 等待任务详情中的状态从 **运行中** 变为 **已完成**。

任务完成后，两份原始文件位于 `source` 卷中。`processed` 卷此时仍为空。

**完成标志：** 任务状态为“已完成”，结果显示两份文件成功、零份文件失败。

## 3. 在 Catalog 中确认数据登记

导入完成后，先在 Catalog 中确认 MOI 已经登记这两份文件的位置。

1. 在左侧导航的 **资源中心** 分组中选择 **Catalog**。
2. 在 Catalog 中依次打开 `moi_quickstart`、`data` 和 `source`。
3. 检查页面顶部的当前位置，确认路径为 `moi_quickstart / data / source`。
4. 检查文件列表，确认教程数据包中的两份文件都已出现。

这里看到的是第 2 步导入的同一批文件，不需要再次上传。后续工作流会从这个 Catalog 路径读取它们。

**完成标志：** 页面同时显示正确的 Catalog 路径和两份文件。

## 4. 从固定模板创建工作流

本步创建一条用于解析文件、切分内容并构建向量索引的工作流。

1. 在左侧导航的 **数据处理** 分组中选择 **工作流**。
2. 点击工作流列表右上角的 **新建工作流**。
3. 在“新建工作流”窗口中找到 **文档知识库准备**，点击 **使用模板**。
4. 将工作流名称填写为 `moi_quickstart_pipeline`，确认创建。

MOI 会打开工作流编辑页。画布中已经包含数据读取、文档解析、内容切分、构建向量索引和保存结果所需的算子；本教程不增删算子，也不改变算子之间的连接。

**完成标志：** 工作流编辑页显示名称 `moi_quickstart_pipeline`，画布中已经出现模板算子和连线。

## 5. 设置输入并创建知识库

本步为工作流指定第 3 步确认过的原始文件，并在索引算子中创建接收处理结果的知识库。

1. 在画布中打开 **数据读取** 算子。
2. 在算子配置的 **Catalog 数据源** 中选择 `moi_quickstart / data / source`，确认后返回画布。
3. 打开 **构建向量索引** 算子。
4. 在 **知识库** 字段中新建知识库，将名称填写为 `moi_quickstart_knowledge`，然后确认创建并选中它。
5. 文档处理模型和嵌入模型保持工作区默认配置，确认后返回画布。

知识库对象在这一步创建，但其中还没有处理后的文件。只有工作流成功执行后，解析、切分和索引的结果才会进入这个知识库。

**完成标志：** 数据读取算子显示 `moi_quickstart / data / source`，构建向量索引算子显示 `moi_quickstart_knowledge`。

## 6. 设置输出并提交工作流

本步指定工作流处理结果的保存位置，然后保存工作流并提交第一次执行。

1. 在画布中打开 **保存到 Catalog** 算子。
2. 将输出位置设为 `moi_quickstart / data / processed`，确认后返回画布。
3. 再次核对三个关键值：输入为 `source`、知识库为 `moi_quickstart_knowledge`、输出为 `processed`。
4. 点击页面右上角的 **保存并运行**。

点击后，MOI 会保存当前工作流定义，并立即为两份输入文件提交执行。这里不需要再点击第二个运行按钮。

**完成标志：** 页面提示执行已经提交，工作流顶部出现可打开的 **执行列表**。

## 7. 在执行列表中确认处理完成

工作流按文件生成工作流作业。本教程上传了两份文件，因此需要确认两条记录都成功结束。

1. 打开工作流顶部的 **执行列表**。
2. 找到刚刚提交的两条工作流作业。
3. 当状态仍为等待中或运行中时，停留在当前页面等待状态更新。
4. 确认两条记录的状态都变为 **已完成**。

到这里，工作流已经完成文档解析、内容切分、向量索引和结果写出。下一步只检查这些结果是否已经进入知识库，不再重新处理文件。

**完成标志：** 本次数据对应的两条工作流作业均为“已完成”，没有失败记录。

## 8. 确认知识库已经接收数据

第 5 步创建的是空知识库，第 7 步完成的工作流执行把两份处理后的文件写入了该知识库。本步确认两者已经衔接成功。

1. 在左侧导航的 **资源中心** 分组中选择 **知识库**。
2. 在搜索框中输入 `moi_quickstart_knowledge`。
3. 找到同名知识库卡片，确认卡片显示 **2 文件**。
4. 打开知识库，确认其中的数据状态已经就绪。

本步不上传 ZIP 文件，也不重新创建知识库。知识库中的两份文件来自刚刚完成的工作流执行。

**完成标志：** `moi_quickstart_knowledge` 显示两份文件，数据状态为就绪。

## 9. 用问答验证检索与来源

在把知识库交给智能体之前，先通过一次固定问答检查内容能否被检索，以及回答能否返回来源。

1. 在 `moi_quickstart_knowledge` 的知识库卡片中点击 **对话**。
2. 进入对话页后点击 **新建对话**。
3. 在输入框中粘贴以下提示词并发送：

```text
请仅根据当前知识库概括这批资料的主要内容，并为每项结论标注来源。
资料中没有明确说明的内容，请列为待确认。
```

4. 等待回答生成完成。
5. 检查回答中的主要结论，确认结论旁显示可以查看的来源引用。
6. 检查回答末尾，确认资料没有明确说明的内容被列入待确认项，而不是被补写成事实。

这次问答用于验证知识库的解析、检索和来源引用是否正常。生成应用结果仍在下一步完成。

**完成标志：** 回答包含来源引用，并将资料中没有明确说明的内容列为待确认。

## 10. 让智能体生成应用结果

最后，把已经验证过的知识库绑定到智能体，让智能体基于同一批数据生成可下载的 Markdown 文件。

1. 在顶部导航中选择 **智能体**。
2. 点击 **新建对话**，选择 **Knowledge Explore**。
3. 在模型字段中使用当前工作区的默认语言模型。
4. 打开 **知识库** 面板，搜索 `moi_quickstart_knowledge`。
5. 勾选该知识库并点击 **绑定**，确认面板显示“共 2 个文件”和“就绪”。
6. 关闭知识库面板，在对话输入框中粘贴以下提示词并发送：

```text
请仅根据当前会话绑定的知识库生成一份 Markdown 报告。
概括主要内容，为结论标注来源，将资料中没有明确说明的内容列为待确认。
生成完成后，将文件作为产物提供下载。
```

7. 等待智能体完成任务，不要离开当前会话。
8. 在同一会话的产物区域找到生成的 Markdown 文件，点击 **下载**，确认文件可以保存到本地。

智能体使用的是第 9 步已经验证过的知识库，没有重新上传或复制数据。下载文件出现后，这条从数据接入到应用结果的链路就已经完整跑通。

**完成标志：** 当前会话的产物区域出现可下载的 Markdown 文件。

## 教程完成

您已经完成了数据导入、Catalog 登记、工作流处理、知识库验证和智能体产出。继续阅读[您刚刚完成了什么](what-you-just-did.md)，了解这条链路把哪些一次性操作变成了可以重复使用的数据能力。
