You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过YAML锚点引用特定属性实现参数复用?

需求与问题

我正在创建一个存储单一可读数据值的模板文件,用来填充多个源文件。目前使用YAML搭配Jinja2的Python脚本,将YAML值插入模板源文件,但因为存在数百个关联复杂的参数,必须保留参数的使用命名。

我希望在不同命名下引用同一个数据值,尝试用YAML锚点和别名实现,期望的YAML结构如下:

compute:
  gpus: 4
  cpus: 120
  mem: 900Gi

torchrun:
  nproc_per_node: [compute.gpus]
  ...

resource_requests:
  gpus: [compute.gpus]
  ...

我曾尝试以下写法,但该语法在PyYAML中无效,网上对其是否为合法YAML语法也存在争议:

compute: &compute
  gpus: 4

torchrun:
  nproc_per_node: *compute.gpus

最终会生成多个文件,例如resources.py:

@task(
   gpus = {{ resource_requests.gpus }}
)
def my_task():
  ...

以及run.sh:

torchrun --nproc_per_node={{ torchrun.nproc_per_node }} ... 

我知道可以通过Jinja2直接在模板中复用compute.gpu,但希望保持命名一致,以便更清晰地理解模板值的实际作用(此类参数众多,必须保持一致性)。

内容的提问来源于stack exchange,提问作者stuart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:55:56