initial commit

This commit is contained in:
Jiao77
2025-08-25 17:54:08 +08:00
commit f187abe72a
28 changed files with 1703 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
import yaml
from pathlib import Path
def load_config(config_file: str) -> dict:
"""加载 YAML 配置文件。
Args:
config_file: YAML 配置文件的路径。
Returns:
包含配置信息的字典。
"""
with open(config_file, 'r', encoding='utf-8') as f:
config = yaml.safe_load(f)
return config
def merge_configs(base_config: dict, task_config: dict) -> dict:
"""将特定于任务的配置合并到基础配置中。
Args:
base_config: 基础(默认)配置。
task_config: 要合并的特定于任务的配置。
Returns:
合并后的配置字典。
"""
merged = base_config.copy() # 复制基础配置
# 遍历任务配置中的键值对
for key, value in task_config.items():
# 如果值是字典且键也存在于合并后的配置中,则递归合并
if isinstance(value, dict) and key in merged and isinstance(merged[key], dict):
merged[key] = merge_configs(merged[key], value)
# 否则,直接用任务配置的值覆盖
else:
merged[key] = value
return merged