任务编排方案配置(Task Orchestration Plan Configuration)
概述
任务编排方案配置(简称 编排配置)用于声明一次算子生成任务的完整运行方案,由 Task 在运行时加载,用于驱动各 Agent 的协作与落地。
编排配置主要包含:
agent_model_config:为各 Agent 指定大模型预设(取值来自core/llm/llm_config.yaml)。workflow_config_path:指向工作流 YAML,用于定义执行流程(详见《工作流系统设计文档》)。docs_dir:为各 Agent 提供参考文档目录(详见《文档驱动式接入指南》)。log_dir:任务日志根目录。profile_settings:性能测试参数(如run_times、warmup_times)。verify_timeout:验证超时时间(单位:秒)。
配置文件结构
编排配置 采用 YAML 格式,主要包含以下配置项:
# Agent模型配置
agent_model_config:
designer: model_name
coder: model_name
conductor: model_name
api_generator: model_name
# 日志配置
log_dir: "~/aikg_logs"
# 工作流配置
workflow_config_path: "config/workflow_file.yaml"
# 文档目录配置
docs_dir:
designer: "path/to/designer/docs"
coder: "path/to/coder/docs"
# 性能分析配置
profile_settings:
run_times: 50
warmup_times: 5
# 验证配置
verify_timeout: 300 # 验证超时时间,单位秒
主要配置项
1. Agent模型配置 (agent_model_config)
agent_model_config 用于为每个 Agent 指定所用的大模型预设;取值必须来自 core/llm/llm_config.yaml(例如:deepseek_r1_default)。
常见键:designer、coder、conductor、api_generator(可按需扩展)。如名称不在预设中,会在校验时报错。
# 示例Agent模型配置
agent_model_config:
designer: deepseek_r1_default
coder: deepseek_r1_default
2. 日志配置 (log_dir)
指定任务执行日志的存储目录:
- 格式: 字符串路径
- 支持: 绝对路径和相对路径(支持
~表示用户主目录) - 默认值:
"~/aikg_logs" - 最终路径形态: 实际写入时会在该目录下自动创建形如
Task_{随机ID}的子目录。
3. 工作流配置 (workflow_config_path)
- 指向本次任务的工作流 YAML,用于配置详细的 AIKG 任务工作流程。示例:
"config/default_workflow.yaml"。 - 详见《工作流系统设计文档》。
4. 文档目录配置 (docs_dir)
详见《文档驱动式接入指南》。
# 示例文档配置
docs_dir:
designer: "resources/docs/triton_ascend_docs" # Designer文档(如DSL语法)
coder: "resources/docs/triton_ascend_docs" # Coder文档(如DSL语法)
5. 性能分析配置 (profile_settings)
配置性能测试的执行参数:
profile_settings:
run_times: 50 # 性能测试运行次数
warmup_times: 5 # 预热运行次数
6. 验证配置 (verify_timeout)
设置代码验证的超时时间:
- 单位: 秒
- 默认值: 300秒(5分钟)
- 作用: 防止验证过程无限等待
预设方案配置
Triton配置 (default_triton_cuda_config.yaml / default_triton_ascend_config.yaml)
适用场景: Triton kernel开发
特点:
- 目标 Triton 代码生成
- 支持 Ascend NPU / CUDA GPU 后端
- 在 coder-only 工作流下,Designer 不启用
配置示例:
config/default_triton_cuda_config.yaml(CUDA后端)config/default_triton_ascend_config.yaml(Ascend后端)
SWFT配置 (default_swft_config.yaml)
适用场景: 华为昇腾NPU上的SWFT kernel开发
特点:
- 目标 SWFT 代码生成
- 支持昇腾 NPU 后端
- 在 coder-only 工作流下,Designer 不启用
配置示例: config/default_swft_config.yaml
配置使用方法
from ai_kernel_generator.config.config_validator import load_config
# 方式1:按 DSL 加载默认方案
config = load_config(dsl="triton_ascend", backend="ascend") # 或使用 "triton_cuda" 用于 CUDA 后端
# 方式2:显式指定方案文件路径(本地 vLLM coder-only)
config = load_config(config_path="python/ai_kernel_generator/config/vllm_triton_ascend_coderonly_config.yaml") # Ascend
# config = load_config(config_path="python/ai_kernel_generator/config/vllm_triton_cuda_coderonly_config.yaml") # CUDA
# 创建任务
task = Task(op_name="relu", task_desc="...", dsl="triton_ascend", config=config) # 或使用 "triton_cuda" 用于 CUDA
3. 创建新的方案文件
# custom_orchestration_plan.yaml
agent_model_config:
designer: model_name
coder: model_name
conductor: model_name
log_dir: "~/custom_logs"
workflow_config_path: "config/custom_workflow.yaml"
docs_dir:
designer: "resources/docs/custom_design_docs"
coder: "resources/docs/custom_dsl_docs"
profile_settings:
run_times: 100
warmup_times: 10
verify_timeout: 600
配置扩展指南
1. 添加新Agent配置
agent_model_config:
designer: model_name
coder: model_name
conductor: model_name
optimizer: model_name # 新增优化器agent
2. 扩展文档目录配置
docs_dir:
designer: "path/to/design/docs"
coder: "path/to/code/docs"
optimizer: "path/to/optimization/docs" # 新增优化文档