用途:该技能用于通过 jinko-sdk 完成 Jinkō CMA-ES 校准的纯 SDK 机械操作,包括创建、运行、轮询与结果查看。校准管理器 API 仅支持 CMA-ES,不存在类型或方法判别字段;Subsampling 属于 VPop 生成器功能,与校准无关。
前置条件:需要已初始化的 jinko-sdk 连接,且 SDK 版本满足元数据 requires_sdk 范围。先运行 jinko-sdk-setup 技能(../jinko-sdk-setup/SKILL.md),其检查通过后再继续;会话码只能兑换一次,因此在本技能自身 SDK 进程前需再次调用 get_session_code。若未找到该技能,可从 novainsilico/jinko-skills 安装。
主要能力与创建要求:parameters 为必填先验参数(至少 1 个);至少需一个适应度函数来源,即 dataTableDesigns(数据表须报告 metadata.public.validForFitnessFunction: True)和/或带 objectives 的高级输出集。本技能不创建这两类输入。CalibrationOptions 中 seed 与 thresholdWeightedScore 为模式必填,合同默认值分别为 0 和 1;populationSize 与 numberOfIterations 无合同默认值,功能上必填,捆绑创建脚本要求提供种群规模与迭代次数,省略 seed 和 threshold 时使用合同默认值。固定复现策略时应显式传入全部四项。
两条编码规则:log_transform=True 时 mean 与 std 使用 log10(x) 坐标,而 min_bound 与 max_bound 仍为 x 的原始物理坐标;若规划边界写为 log10 坐标,需先取幂 physical_bound = 10**log10_bound。每个挂接的适应度数据表,需将 options.log_transform_wide_bounds 设为该表中每个不同 obsId,除非用户明确要求对指定可观测量使用线性边界缩放。
使用方式:可用 model.create_calibration(...) 或 client.create_calibration(model=model, ...);calibrationOptionsOverride、solvingOptionsOverride、coreVersion 无类型化 kwarg,需用 client.create_calibration_from_json(json_content=payload) / client.calibrations.create_raw(payload)。创建后可用 calibration.set_solving_times(t_max=..., t_step=...) 设置求解时间。运行与轮询用 calibration.run() 与 calibration.wait_until_completed(timeout=...)。结果可用 performance()、results_summary()、objective_weights()、results.sorted_patients(sort_by=...) 获取,均返回未解析 dict。
命令行脚本:jinko.cli.create_cmaes_calibration(默认 dry-run,加 --apply 才创建)、jinko.cli.run_calibration、jinko.cli.inspect_calibration,可通过 python -m 运行。项目文件夹遵循 YYYY-MM-DD-<experiment> 建议命名,先精确匹配复用,仅在确认或 --create-folder --apply 时创建。
限制:本技能不提供默认值、诊断或何时校准的指导;不创建数据表或输出集输入;结果访问器目前均返回未解析 dict。