> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monostate.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 何时使用 CLI

> 用于自动化和脚本的命令行

# 何时使用 CLI

命令行界面非常适合自动化和可重现的工作流程。

## 最适合

* **自动化** - 脚本化重复任务
* **CI/CD 管道** - 与部署集成
* **远程服务器** - SSH 到云实例
* **批处理** - 训练多个模型
* **可重现性** - 保存和共享确切的命令

## 外观

在终端中输入命令：

```bash theme={null}
aitraining text-classification \
  --model bert-base-uncased \
  --data train.csv \
  --epochs 5
```

## 工作流程示例

```bash theme={null}
# 准备数据
python prepare_data.py

# 训练模型
aitraining train \
  --task text-classification \
  --data data/train.csv \
  --output models/v1

# 评估
aitraining evaluate \
  --model models/v1 \
  --test data/test.csv

# 部署
aitraining serve --model models/v1
```

## 优势

* **可脚本化** - 自动化一切
* **可重现** - 保存确切命令
* **版本控制** - 在 git 中跟踪
* **远程友好** - 通过 SSH 工作
* **并行执行** - 运行多个训练

## 限制

* **学习曲线** - 必须了解命令语法
* **无视觉反馈** - 仅文本输出
* **容易出错** - 命令中的拼写错误
* **不易发现** - 必须知道选项存在

## 何时切换

当您需要以下功能时，切换到 UI：

* 需要视觉反馈
* 想要探索选项
* 教授非技术用户
* 进行快速实验

当您需要以下功能时，切换到 API：

* 需要自定义逻辑
* 构建应用程序
* 复杂预处理
* 动态配置

## 常见用例

### 超参数搜索

```bash theme={null}
for lr in 1e-5 2e-5 5e-5; do
  aitraining train \
    --learning-rate $lr \
    --output models/lr_$lr
done
```

### 夜间训练

```bash theme={null}
# 在 cron 或调度器中
0 2 * * * /path/to/retrain.sh
```

### 远程训练

```bash theme={null}
ssh gpu-server
screen -S training
aitraining train --data s3://bucket/data.csv
# 使用 Ctrl-A D 分离
```

### CI/CD 集成

```yaml theme={null}
# .github/workflows/train.yml
- name: Train model
  run: aitraining train --config config.yaml
```

## CLI 用户提示

1. **保存命令** - 保留 `commands.txt` 文件
2. **使用配置** - YAML 文件优于长命令
3. **记录输出** - 重定向到文件
4. **使用 screen/tmux** - 用于长时间运行的任务
5. **编写脚本** - 组合多个步骤

## CLI 独有功能

CLI 最擅长的事情：

* 从其他命令管道数据
* 与 shell 脚本集成
* 在无头服务器上运行
* 批处理文件
* 计划执行

## 基本命令

```bash theme={null}
# 查看所有选项
aitraining --help

# 列出可用模型
aitraining models list

# 检查训练状态
aitraining status

# 恢复中断的训练
aitraining train --resume

# 转换模型格式
aitraining convert --from pytorch --to onnx
```

## 环境变量

```bash theme={null}
# 设置默认值
export AITRAINING_MODEL=bert-base
export AITRAINING_EPOCHS=5

# 现在命令更简单
aitraining train --data train.csv
```

## 下一步

<CardGroup cols={2}>
  <Card title="CLI 参考" href="/cli/command-structure">
    完整的命令文档
  </Card>

  <Card title="API 替代方案" href="/foundations/api-when-to-use">
    何时改用 Python
  </Card>
</CardGroup>
