# 开始使用 Unsloth Studio

Unsloth Studio 是一个基于浏览器的本地 GUI，可在不编写任何代码的情况下微调 LLM。它将训练流水线封装在一个简洁的界面中，负责模型加载、数据集格式化、超参数配置以及实时训练监控。

<a href="#studio-quickstart" class="button secondary" data-icon="bolt">工作室</a><a href="#data-recipes-quickstart" class="button secondary" data-icon="hat-chef">数据配方</a><a href="#export-quickstart" class="button secondary" data-icon="box-isometric">导出</a><a href="#chat-quickstart" class="button secondary" data-icon="comment-dots">聊天</a><a href="#video-tutorial" class="button secondary" data-icon="video">视频</a>

#### 设置 Unsloth Studio

首先，使用本地安装或云端选项启动 Unsloth Studio。请遵循 [安装说明](https://unsloth.ai/docs/zh/xin-zeng/studio/install) 进行你的环境设置，或使用我们的 [免费 Colab](https://unsloth.ai/docs/zh/xin-zeng/studio/..#google-colab-notebook) 笔记本。对于本地安装，请运行：

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

然后在浏览器中打开 `http://localhost:8888` 。

{% columns %}
{% column %}
首次启动时，你需要创建一个密码来保护你的账户，并在之后再次登录。

随后你会看到一个简短的入门向导，用于选择模型、数据集和基本设置。你可以随时跳过它，并手动配置一切。
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FZPtRrwafzmVX54HhyyBD%2FScreenshot%202026-03-16%20at%2011.25.22%E2%80%AFPM.png?alt=media&#x26;token=9153c153-ec61-4fff-b1b9-db7f70ac2936" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

## <i class="fa-bolt">:bolt:</i> 工作室 - 快速开始

Unsloth Studio 主页有 4 个主要区域： [模型](#id-1.-select-model-and-method), [数据集](#id-2.-dataset), [参数](#id-3.-hyperparameters)，以及 [训练/配置](#id-4.-training-and-config)

* **便于模型和数据的轻松设置** 来自 Hugging Face 或本地文件
* **灵活的训练选择** 如 QLoRA、LoRA 或全参数微调，并已填入默认值
* **实用的配置工具** 用于拆分、列映射、超参数和 YAML 配置
* **出色的训练可视化** 包含实时进度、GPU 状态、图表、启动状态

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FxV1PO5DbF3ksB51nE2Tw%2Fmore%20cropped%20ui%20for%20homepage.png?alt=media&#x26;token=f75942c9-3d8d-4b59-8ba2-1a4a38de1b86" alt="" width="563"><figcaption></figcaption></figure></div>

### 1. 选择模型和方法

#### **模型类型**

选择与你的使用场景相匹配的模态：

| 类型     | 使用场景         |
| ------ | ------------ |
| **文本** | 聊天、指令跟随、补全   |
| **视觉** | 图像 + 文本（VLM） |
| **音频** | 语音 / 音频理解    |
| **嵌入** | 句子嵌入、检索      |

#### **训练方法**

有三种方法可用，可通过胶囊选择器切换：

| 方法        | 描述                   | 显存 |
| --------- | -------------------- | -- |
| **QLoRA** | 4 位量化基座模型 + LoRA 适配器 | 最低 |
| **LoRA**  | 全精度基座模型 + LoRA 适配器   | 中等 |
| **全参数微调** | 所有权重都会被训练            | 最高 |

可输入任意 Hugging Face 模型名称，或直接在组合框中搜索 Hub。存储在 `~/.unsloth/studio/models` 以及你的 Hugging Face 缓存中的本地模型也会显示在列表中。

{% hint style="warning" %}
GGUF 格式模型被排除在训练之外——它们仅用于推理。
{% endhint %}

当你选择一个模型时，Studio 会自动从后端获取其配置，并为所有超参数预填合适的默认值。

**HuggingFace 令牌**

如果模型是受限访问的（例如 Llama、Gemma），请在此粘贴你的 Hugging Face 访问令牌。令牌会实时验证，若无效会在行内显示错误。

### 2. 数据集

{% columns %}
{% column %}
在两个标签页之间切换，选择你的数据来源：

* **HuggingFace Hub** - 对 Hub 的实时搜索。每个结果都会显示最后更新日期。
* **本地** - 拖放或点击上传文件，包括非结构化或结构化文件，例如： `PDF`, `DOCX`, `JSONL`, `JSON`, `CSV`，或 `Parquet` 格式。之前上传的数据集会出现在列表中，并自动刷新。

你可以在这里查看我们详细的 [数据集指南](https://unsloth.ai/docs/zh/kai-shi-shi-yong/fine-tuning-llms-guide/datasets-guide).

提示工作室如何解释并格式化你的数据：
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FCtWUm7GdHnKbe14fUQyT%2Fupdated_dataset.webp?alt=media&#x26;token=3fcefe8d-b6a4-44c2-be9b-6dc282166095" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

| 格式         | 何时使用                 |
| ---------- | -------------------- |
| `自动`       | 让 Unsloth 自动检测格式     |
| `alpaca`   | `指令` / `输入` / `输出` 列 |
| `chatml`   | OpenAI 风格 `消息` 数组    |
| `sharegpt` | ShareGPT 风格对话        |

**拆分与切片**

* **子集** - 自动从数据集卡中填充。
* **训练拆分 / 验证拆分** - 选择要使用的拆分。设置验证拆分会在训练期间启用 **验证损失** 图表。
* **数据集切片** - 可选地将训练限制在某个行范围（起始索引 / 结束索引）内，用于快速实验。

**列映射**

如果 Studio 无法自动将你的数据集列映射到正确的角色， **数据集预览对话框** 会打开。它会显示示例行，并允许你将每一列分配给 `指令`, `输入`, `输出`, `图像`等。建议的映射会尽可能预先填入。

### 3. 超参数

参数按可折叠区域分组。你可以查看我们详细的 [LoRA 超参数指南](https://unsloth.ai/docs/zh/kai-shi-shi-yong/fine-tuning-llms-guide/lora-hyperparameters-guide) 这里：

{% content-ref url="../../kai-shi-shi-yong/fine-tuning-llms-guide/lora-hyperparameters-guide" %}
[lora-hyperparameters-guide](https://unsloth.ai/docs/zh/kai-shi-shi-yong/fine-tuning-llms-guide/lora-hyperparameters-guide)
{% endcontent-ref %}

| 参数        | 默认值    | 备注                |
| --------- | ------ | ----------------- |
| **最大步数**  | `0`    | `0` 表示改用轮数（Epoch） |
| **上下文长度** | `2048` | 选项：512 → 32768    |
| **学习率**   | `2e-4` |                   |

**LoRA 设置**

*（选择全参数微调时隐藏）*

| 参数          | 默认值    | 备注                                                                          |
| ----------- | ------ | --------------------------------------------------------------------------- |
| **秩**       | `16`   | 滑块 4–128                                                                    |
| **Alpha**   | `32`   | 滑块 4–256                                                                    |
| **Dropout** | `0.05` |                                                                             |
| **LoRA 变体** | `LoRA` | `LoRA` / `RS-LoRA` / `LoftQ`                                                |
| **目标模块**    | 全部开启   | `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj` |

对于 **视觉** 带有图像数据集的模型，会出现四个额外复选框。微调：

| 视觉层 | 语言层 | 注意力模块 | MLP 模块 |
| --- | --- | ----- | ------ |

**训练超参数**

分为三个标签页：

{% tabs %}
{% tab title="优化" %}

| 参数   | 默认值         |
| ---- | ----------- |
| 轮数   | 3           |
| 批量大小 | 4           |
| 梯度累积 | 8           |
| 权重衰减 | 0.01        |
| 优化器  | AdamW 8-bit |

{% endtab %}

{% tab title="调度" %}

| 参数           | 默认值     |
| ------------ | ------- |
| 学习率调度器       | 线性      |
| 预热步数         | 5       |
| 梯度检查点        | unsloth |
| 随机种子         | 3407    |
| 保存步数         | 0       |
| 验证步数         | 0       |
| 打包           | false   |
| 在补全上训练       | false   |
| {% endtab %} |         |

{% tab title="日志记录" %}

| 参数             | 默认值            |
| -------------- | -------------- |
| 启用 W\&B        | false          |
| W\&B 项目        | llm-finetuning |
| 启用 TensorBoard | false          |
| TensorBoard 目录 | runs           |
| 日志频率           | 10             |
| {% endtab %}   |                |
| {% endtabs %}  |                |

{% hint style="info" %}
[**Unsloth 梯度检查点**](https://unsloth.ai/docs/zh/bo-ke/500k-context-length-fine-tuning#unsloth-gradient-checkpointing-enhancements)**: `unsloth`** 使用 Unsloth 自定义的内存高效实现，与标准 PyTorch 选项相比可显著减少显存使用。这是推荐的默认值。
{% endhint %}

### 4. 训练与配置

右下角卡片有三个配置管理按钮和 **开始训练** 按钮。

| 按钮     | 操作                   |
| ------ | -------------------- |
| **上传** | 加载之前保存的 `.yaml` 配置文件 |
| **保存** | 将当前配置导出为 YAML        |
| **重置** | 将所有参数恢复为模型默认值        |

在模型和数据集都配置好之前，“开始训练”按钮会一直处于禁用状态。验证错误会以内联方式显示——例如，在未选择验证拆分时设置验证步数，或将仅文本模型与视觉数据集配对。

#### 加载界面

{% columns %}
{% column %}
在你点击 **开始训练**后，当后端准备一切时，会出现全屏遮罩层。

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FYtsUxHI0szGw8ZPxCHep%2Fimage.png?alt=media&#x26;token=1701f4af-ef35-48da-80e7-4aba4e80f4d4" alt="" width="375"><figcaption></figcaption></figure></div>
{% endcolumn %}

{% column %}
遮罩层会显示带实时阶段更新的动画终端：

* 蓝色：正在下载模型 / 数据集
* 琥珀色：正在加载模型 / 数据集
* 蓝色：正在配置
* 绿色：正在训练

你可以随时使用角落中的 **×** 按钮取消。在任何内容被停止之前都会出现确认对话框。
{% endcolumn %}
{% endcolumns %}

### 训练进度与可观测性

当第一步训练开始后，遮罩层会消失并显示实时训练视图。当进度条达到 100% 时，微调过程完成。你可以查看已用时间和 token 数。&#x20;

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fah3G1rYgRaDNY8Ay6Uw7%2Fimage.png?alt=media&#x26;token=0528c15e-7a4b-4028-8070-95dc0871da5d" alt="" width="563"><figcaption></figcaption></figure></div>

{% columns %}
{% column %}

#### 状态面板

左侧列显示：

* **轮次** - 当前分数轮次（例如 `Epoch 1.23`)
* **进度条** - 基于步数，并显示百分比
* **关键指标**:
  * **损失** - 训练损失，精确到小数点后 4 位
  * **LR** - 当前学习率，使用科学计数法
  * **Grad Norm** - 梯度范数
  * **模型** - 正在训练的模型
  * **方法** - `QLoRA` / `LoRA` / `完整`
* **时间行** - 已用时间、预计剩余时间（ETA）、每秒步数和已处理的总 token 数
  {% endcolumn %}

{% column %}

#### GPU 监控

右侧列每隔几秒显示一次实时 GPU 状态：

* **利用率** - 百分比条
* **温度** - °C 条
* **显存** - 已用 / 总计 GB
* **功耗** - 功耗 / 上限，单位瓦特

#### 停止训练

使用 **停止训练** 按钮，位于进度卡片右上角。对话框会给你两个选项：

* **停止并保存** - 在停止前保存一个检查点
* **取消** - 立即停止，不保存检查点
  {% endcolumn %}
  {% endcolumns %}

{% columns %}
{% column %}

#### 图表

随着训练进行，有四个实时图表会更新：

1. **训练损失** - 原始值加上 EMA 平滑线和运行平均参考线
2. **学习率** - 学习率调度曲线
3. **梯度范数** - 随步数变化的梯度范数
4. **验证损失** - 仅在你配置了验证拆分时显示
   {% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FRgXfe3sobdQWxha8yslr%2Fimage.png?alt=media&#x26;token=b3aa9004-778b-4e3d-85b1-40a205ad0602" alt="" width="278"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
每个图表都有设置（齿轮图标），包括：

| 选项              | 默认值             |
| --------------- | --------------- |
| 查看窗口            | 最近 N 步滑块        |
| EMA 平滑          | `0.6`           |
| 显示原始值           | 开启              |
| 显示平滑值           | 开启              |
| 显示平均线           | 开启              |
| 缩放（按系列）         | 线性 / 对数         |
| 异常值裁剪           | 不裁剪 / p99 / p95 |
| {% endcolumn %} |                 |

{% column %}

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FFJtjQpAgOFaieyQCYhkq%2Fimage.png?alt=media&#x26;token=4da9cdc2-c088-4ab8-8d0d-40d8d392ee03" alt="" width="276"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

#### 配置文件

{% columns %}
{% column %}
所有训练配置都可以保存并重新加载为 YAML 文件。文件会自动命名为：

```
{model}_{method}_{dataset}_{timestamp}.yaml
```

{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FuGAKdGkANbh2wIENA9X7%2Fimage.png?alt=media&#x26;token=9553db5b-5c88-4556-be49-fe61035edf11" alt="" width="178"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

YAML 分为三个部分：

{% code expandable="true" %}

```yaml
training:
  max_steps: 0
  num_train_epochs: 3
  per_device_train_batch_size: 4
  ...

lora:
  r: 16
  lora_alpha: 32
  ...

logging:
  report_to: none
  ...
```

{% endcode %}

这使得重现实验、共享配置或对实验进行版本控制变得很容易。

## <i class="fa-hat-chef">:hat-chef:</i> 数据配方 - 快速开始

[Unsloth 数据配方](https://unsloth.ai/docs/zh/xin-zeng/studio/data-recipe) 可让你上传 PDF 或 CSV 等文档，并将其转换为可用的数据集。通过图节点工作流以可视化方式创建和编辑数据集。

配方页面是主要入口。配方会保存在浏览器本地，因此你之后可以回到已保存的工作。从这里，你可以创建一个空白配方或打开一个引导式学习配方。

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FQ6e19jESrJg0VjHnX58c%2Fdata%20recipes%20final.png?alt=media&#x26;token=8d74e453-815d-4790-83d1-76d0bc80a3ce" alt="" width="563"><figcaption></figcaption></figure></div>

数据配方遵循相同的基本流程。你打开配方页面，创建或选择一个配方，在编辑器中构建工作流，验证并运行预览，然后在输出看起来正确后运行完整数据集。添加种子数据和生成块，验证工作流，预览示例输出，然后运行完整数据集构建。Unsloth 数据配方由 NVIDIA 提供支持 [DataDesigner](https://github.com/NVIDIA-NeMo/DataDesigner).

从整体来看，一个常规工作流应如下所示：

1. 打开配方页面。
2. 创建一个新配方或打开一个现有配方。
3. 添加区块以定义你的数据集工作流。
4. 点击 **验证** 以尽早发现配置问题。
5. 运行预览以快速检查示例行。
6. 当配方准备好后，运行完整的数据集构建。
7. 在图中或在 **执行** 视图中实时查看进度和输出以获取更多详情。
8. 在 **工作室** 中选择生成的数据集并微调模型。

## <i class="fa-box-isometric">:box-isometric:</i> 导出 - 快速开始

使用 Unsloth Studio 的“导出”来导出、保存或转换模型为 GGUF、Safetensors 或 LoRA，以用于部署、共享，或在 Unsloth、llama.cpp、Ollama、vLLM 等中进行本地推理。导出已训练的检查点或转换任何现有模型。

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FrrFY8YczW3dDpfYi1k9f%2FScreenshot%202026-03-15%20at%209.28.19%E2%80%AFPM.png?alt=media&#x26;token=d2729e16-799f-48f0-8b07-0248b93fa599" alt="" width="563"><figcaption></figcaption></figure></div>

你可以在这里阅读我们关于使用 Unsloth Studio 导出模型的详细教程/指南：

{% content-ref url="export" %}
[export](https://unsloth.ai/docs/zh/xin-zeng/studio/export)
{% endcontent-ref %}

## <i class="fa-comment-dots">:comment-dots:</i> 聊天 - 快速开始

[Unsloth Studio 聊天](https://unsloth.ai/docs/zh/xin-zeng/studio/chat) 可让你在电脑上 100% 离线运行模型。可运行来自 Hugging Face 或本地文件的 GGUF 和 safetensors 等模型格式。

* **下载 + 运行** 任意模型，如 GGUF、微调适配器、safetensors 等。
* [**比较** 不同模型](#model-arena) 并排输出
* **上传** 在提示词中加入文档、图像和音频
* [**调节** 推理](#generation-settings) 设置，例如：temperature、top-p、top-k 和系统提示词

<div data-with-frame="true"><figure><img src="https://2657992854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FRCnTAZ6Uh88DIlU3g0Ij%2Fmainpage%20unsloth.png?alt=media&#x26;token=837c96b6-bd09-4e81-bc76-fa50421e9bfb" alt="" width="563"><figcaption></figcaption></figure></div>

你可以在这里阅读我们关于使用 Unsloth Studio 运行模型的详细教程/指南：

{% content-ref url="chat" %}
[chat](https://unsloth.ai/docs/zh/xin-zeng/studio/chat)
{% endcontent-ref %}

## <i class="fa-video">:video:</i> 视频教程

{% hint style="warning" %}
视频中展示的 Unsloth Studio 版本较旧，不代表当前版本。
{% endhint %}

{% columns fullWidth="true" %}
{% column %}
{% embed url="<https://www.youtube.com/watch?v=mmbkP8NARH4>" %}

以下是由 NVIDIA 制作、帮助你开始使用 Studio 的视频教程：
{% endcolumn %}

{% column %}
{% embed url="<https://youtu.be/1lEDuRJWHh4?si=GHaS77ZZPOGjn3GJ>" %}

如何安装 Unsloth Studio 视频教程
{% endcolumn %}
{% endcolumns %}

## 高级设置

### CLI 命令

Unsloth CLI（`cli.py`）提供以下命令：

```
用法：cli.py [COMMAND]

命令：
  train             微调模型
  inference         对已训练模型进行推理
  export            导出已训练的适配器
  list-checkpoints  列出已保存的检查点
  ui                启动 Unsloth Studio 网页 UI
  studio            启动工作室（别名）
```

### 项目结构

{% code expandable="true" %}

```
new-ui-prototype/
├── cli.py                     # CLI 入口点
├── cli/                       # Typer CLI 命令
│   └── commands/
│       ├── train.py
│       ├── inference.py
│       ├── export.py
│       ├── ui.py
│       └── studio.py
├── setup.sh                   # 启动脚本（Linux / WSL / Colab）
├── setup.ps1                  # 启动脚本（Windows 原生）
├── setup.bat                  # 通过双击启动 setup.ps1 的包装器
├── install_python_stack.py    # 跨平台 Python 依赖安装器
└── studio/
    ├── backend/
    │   ├── main.py            # FastAPI 应用与中间件
    │   ├── run.py             # 服务器启动器（uvicorn）
    │   ├── auth/              # 身份验证存储与 JWT 逻辑
    │   ├── routes/            # API 路由处理器
    │   │   ├── training.py
    │   │   ├── models.py
    │   │   ├── inference.py
    │   │   ├── datasets.py
    │   │   └── auth.py
    │   ├── models/            # Pydantic 请求/响应模式
    │   ├── core/              # 训练引擎与配置
    │   ├── utils/             # 硬件检测、辅助工具
    │   └── requirements.txt
    ├── frontend/
    │   ├── src/
    │   │   ├── features/      # 功能模块
    │   │   │   ├── auth/      # 登录 / 注册流程
    │   │   │   ├── training/  # 训练配置与监控
    │   │   │   ├── studio/    # 主工作区
    │   │   │   ├── chat/      # 推理聊天界面
    │   │   │   ├── export/    # 模型导出流程
    │   │   │   └── onboarding/# 入门向导
    │   │   ├── components/    # 共享 UI 组件（shadcn）
    │   │   ├── hooks/         # 自定义 React hooks
    │   │   ├── stores/        # Zustand 状态存储
    │   │   └── types/         # TypeScript 类型定义
    │   ├── package.json
    │   └── vite.config.ts
    └── tests/                 # 后端测试套件
```

{% endcode %}

### API 参考

所有端点都需要有效的 JWT `Authorization: Bearer <token>` 请求头（除 `/api/auth/*` 和 `/api/health`).

| 方法     | 端点                    | 描述                |
| ------ | --------------------- | ----------------- |
| `GET`  | `/api/health`         | 健康检查              |
| `GET`  | `/api/system`         | 系统信息（GPU、CPU、内存）  |
| `POST` | `/api/auth/signup`    | 创建账户（首次运行时需要设置令牌） |
| `POST` | `/api/auth/login`     | 登录并接收 JWT 令牌      |
| `POST` | `/api/auth/refresh`   | 刷新已过期的访问令牌        |
| `GET`  | `/api/auth/status`    | 检查身份验证是否已初始化      |
| `POST` | `/api/train/start`    | 开始训练任务            |
| `POST` | `/api/train/stop`     | 停止正在运行的训练任务       |
| `POST` | `/api/train/reset`    | 重置训练状态            |
| `GET`  | `/api/train/status`   | 获取当前训练状态          |
| `GET`  | `/api/train/metrics`  | 获取训练指标（损失、学习率、步数） |
| `GET`  | `/api/train/stream`   | 实时训练进度的 SSE 流     |
| `GET`  | `/api/models/`        | 列出可用模型            |
| `POST` | `/api/inference/chat` | 发送聊天消息进行推理        |
| `GET`  | `/api/datasets/`      | 列出/管理数据集          |
