命令行工具 (CLI) 参考
除了 Python API,dslighting 还提供了一个功能强大的命令行接口(CLI),让您可以直接在终端中运行和管理基准测试。这对于将 dslighting 集成到自动化脚本或 CI/CD 流水线中特别有用。
dslighting run
dslighting run 是核心命令,其功能与 Python API 中的 dslighting.run() 函数类似。它允许您通过命令行参数灵活地运行和覆盖 benchmark.yml 文件中的配置。
使用方法
dslighting run [OPTIONS] <BENCHMARK_PATH>位置参数
BENCHMARK_PATH: [必需] 指向您要运行的benchmark.yml文件的路径。
选项 (OPTIONS)
以下是常用的一些选项,它们可以用来覆盖 benchmark.yml 文件中的默认配置。
--task-id TEXT: 如果设置此项,将只运行benchmark.yml中具有指定 ID 的单个任务,而不是所有任务。--workflow TEXT: 覆盖任务中指定的workflow。例如,您可以用--workflow aide来强制所有任务使用aide工作流。--intent TEXT: 覆盖任务中指定的intent。--llm-model TEXT: 覆盖任务或全局配置中指定的 LLM 模型。例如--llm-model gpt-4-turbo。--output-dir DIRECTORY: 指定输出目录的根路径。默认是在当前目录下创建一个output/文件夹。--config-file PATH: 指定一个全局配置文件config.yml的路径。-h,--help: 显示帮助信息。
使用示例
1. 运行一个完整的基准测试
这是最常见的用法,等同于 python -c "import dslighting; dslighting.run('benchmark.yml')"。
dslighting run path/to/your/benchmark.yml2. 只运行基准测试中的单个任务
假设您的 benchmark.yml 中定义了 eda-task 和 training-task,您可以使用 --task-id 只运行训练任务。
dslighting run benchmark.yml --task-id training-task3. 在命令行中覆盖配置
您可以利用命令行参数快速进行实验,而无需修改 YAML 文件。例如,尝试使用不同的 LLM 来执行同一个任务。
# 使用 gpt-4-turbo 运行
dslighting run benchmark.yml --task-id eda-task --llm-model gpt-4-turbo
# 换成 claude-3-opus 试试
dslighting run benchmark.yml --task-id eda-task --llm-model claude-3-opus4. 指定输出目录
将所有运行结果统一存放在一个指定的文件夹中。
dslighting run benchmark.yml --output-dir /data/dslighting_runs