# 准备数据集

> 上传 CSV、JSON 或 Excel 文件，检查列，并编辑行。

数据集是一张样例表，优化运行从中学习并以它为基准打分。本指南介绍如何上传文件、编辑行和列、设置列角色以及分享数据集。相关概念请阅读[数据集](/docs/zh-Hans/concepts/datasets)。

## 支持的文件

Skynet 读取以下文件类型：

| 扩展名          | Skynet 如何读取                                                  |
| --------------- | ---------------------------------------------------------------- |
| `.csv`          | 第一行是表头行。文件至少需要一行数据。                           |
| `.json`         | 一个对象数组，或单个对象。第一个对象的键会成为列。               |
| `.xlsx`、`.xls` | Skynet 只读取第一个工作表。                                      |

对于其他扩展名，Skynet 会拒绝并显示消息“Unsupported file format”。

> [!TIP]
> 把期望输出放在最后一列。提交向导默认把最后一列标记为输出。

### CSV 示例

```csv
question,answer
What is the capital of France?,Paris
How many legs does a spider have?,8
```

### JSON 示例

```json
[
  { "question": "What is the capital of France?", "answer": "Paris" },
  { "question": "How many legs does a spider have?", "answer": "8" }
]
```

## 上传数据集

1. 打开 **数据集**。
2. 点击 **上传数据集**，或把文件拖到页面上。拖动时页面会显示“拖放以上传”。
3. 等待提示“数据集已保存到你的库中”。

Skynet 使用不含扩展名的文件名作为数据集名称。要更改名称，请选中数据集并点击 **重命名**。

> [!NOTE]
> 每个账户都有存储配额。如果上传超出配额，Skynet 会打开一个对话框说明该限制。请参阅[限制](/docs/zh-Hans/limits)。

你也可以在提交向导中上传文件（“上传 CSV、JSON 或 Excel 文件”），或在[智能体面板](/docs/zh-Hans/guides/agent-panel)中附加文件。

## 查找数据集

库中列出了你的数据集。使用 **按名称搜索** 来筛选列表。别人分享给你的数据集显示在 **已共享给我** 下。

选中一个数据集后，会出现以下操作：

- **标注此数据集** 用该数据集打开[标注工具](/docs/zh-Hans/guides/tagger)。
- **编辑数据** 打开数据集编辑器。
- **分享** 打开分享对话框。
- **重命名** 更改数据集名称。

其他操作有 **保存副本** 和 **删除**。

> [!WARNING]
> 删除会把数据集从你的库中永久移除。此操作无法撤销。基于该数据集创建的运行仍然有效，但它们指向该数据集的链接会失效。

## 编辑数据集

编辑器以网格形式显示数据集。每页显示 100 行。使用 **下一批数据** 和 **上一批数据** 在页面之间切换。

### 更改行和列

- **添加行** 和 **添加列** 在末尾添加新单元格。
- **在上方插入行** 和 **在下方插入行** 在所选行旁边添加一行。
- **复制行**、**删除行**、**删除列** 和 **重命名列** 用于更改结构。
- **拖动以填充** 把一个单元格的值复制到相邻的单元格中。
- **撤销** 和 **重做** 撤回或重复你的上一次更改。

双击某一行可以查看其完整内容。

### 保存

编辑器会在每次编辑后不久自动保存你的更改。保存时，状态显示 **正在保存…**。如果保存失败，状态显示 **保存失败**。

> [!NOTE]
> 编辑器无法保存没有任何行的数据集。在你添加一行之前，它会显示“添加一行以保存更改”。

完成后点击 **返回库**。

### 只读访问

如果你在某个共享数据集上是查看者角色，编辑器会以只读模式打开。要更改数据，请向所有者申请编辑者角色，或使用 **保存副本**。

### 使用 AI 标注

编辑器中有 **使用 AI 标注** 操作。它会打开标注工具，由 AI 模型帮你添加标签。请参阅[使用标注工具标注数据](/docs/zh-Hans/guides/tagger)。

## 设置列角色

运行必须知道哪些列是输入、哪一列是期望输出。你在提交运行时设置这些角色，而不是在数据集编辑器中设置。

在提交向导中，“如何读取数据”步骤会为每一列显示三个选项：

- **输入**：程序接收这个值。
- **输出**：评分器用来比较的期望答案。
- **跳过**：运行忽略这一列。

默认设置为：

- 每一列都是输入，最后一列是输出。
- 只有一列的数据集有一个输入，没有输出。

没有输出列时，Skynet 把第一行用作单个输入。你必须至少选择一个输入列。

有些列也可以包含图像。对于这些列，选择 **图像** 或 **文本**，告诉 Skynet 如何读取其中的值。

> [!TIP]
> 数据集编辑器会在输出列上显示一个“output”标记。你在编辑器中新添加的列默认是输入。

向导还会把各行划分为用于训练和评估的部分。各部分之和必须为 1。不满足时，向导会显示“划分比例之和必须为 1。”完整流程请阅读[提交运行](/docs/zh-Hans/guides/submit)。

## 分享数据集

选中一个数据集并点击 **分享**。**共享与隐私** 对话框随即打开。

### 链接访问权限

| 选项                     | 谁可以打开数据集                                         |
| ------------------------ | -------------------------------------------------------- |
| **受限**                 | 只有所有者和受邀的人。                                   |
| **任何拥有链接的人**     | 任何拥有链接的已登录用户，并获得你所选择的角色。         |

对于设为“任何拥有链接的人”的数据集，请选择链接授予的角色：**查看者** 或 **编辑者**。点击 **复制链接** 以复制 URL。

### 邀请他人

1. 在 **邀请他人** 下，在 **按用户名添加人员** 中输入用户名。
2. 点击 **邀请**。
3. 检查 **拥有访问权限的人员** 下的列表。使用 **更改角色** 来更改某人的角色。

角色如下：

| 角色   | 访问权限                                         |
| ------ | ------------------------------------------------ |
| 所有者 | 完全控制，包括管理分享和删除。                   |
| 编辑者 | 查看者权限，外加运行模型、对话和重命名。         |
| 查看者 | 可以打开数据集。编辑器为只读。                   |

### 转移所有权

使用 **转移所有权** 把数据集交给另一个人。Skynet 会要求你确认。

> [!WARNING]
> 转移之后，你会成为编辑者，并失去所有者权限。

## 后续步骤

- 用你的数据集[提交运行](/docs/zh-Hans/guides/submit)。
- 如果你的行还没有标签，请[使用标注工具标注数据](/docs/zh-Hans/guides/tagger)。
- 阅读关于[评分器](/docs/zh-Hans/concepts/scorers)的内容，选择 Skynet 比较输出的方式。

---

Source: https://staging.skynetml.com/docs/zh-Hans/guides/datasets
