用途:在 DSPy 中根据数据量、预算和待调优对象(提示或权重)选择并比较优化器,先建立基线再编译。
主要能力:提供选择矩阵,按需求推荐起点。少量标注示例用 dspy.LabeledFewShot;约 10 个示例用 dspy.BootstrapFewShot;50+ 示例且需更强演示搜索用 dspy.BootstrapFewShotWithRandomSearch(别名 dspy.BootstrapRS);按输入取最近示例用 dspy.KNNFewShot;仅指令爬山用 dspy.COPRO;指令与演示联合搜索用 dspy.MIPROv2(需安装 dspy[optuna]);小批量内省规则或演示用 dspy.SIMBA;丰富文本反馈与轨迹反思用 dspy.GEPA(度量须接受五个参数);将提示蒸馏进模型权重用 dspy.BootstrapFinetune(需可微调 LM 并调用 set_lm());组合候选程序用 dspy.Ensemble;串联提示与权重优化用 dspy.BetterTogether。
使用方式:先划分训练集与验证集,用 dspy-evaluation-suite 评估未编译程序,再从最便宜的匹配优化器开始,保存编译结果并与基线比较,仅在收益足够时才升级。MIPROv2 需先执行:pip install -U "dspy[optuna]>=3.2.1,<3.3"。
适用场景:快速演示优化、提示搜索、反思式优化、提示加权重优化。
限制与最佳实践:保留留出验证集,分别跟踪优化成本与推理成本,使用可复现随机种子,不宣称某优化器普遍最优,昂贵运行保存中间候选。官方文档见 https://dspy.ai/learn/optimization/optimizers/ 与 https://dspy.ai/api/optimizers/。