SuperAPI AI 工具集

dspy-miprov2-optimizer

智能体与模型

查看项目

更新于 10-16 02:38

技能介绍

用途:该技能用于 DSPy 程序的 MIPROv2 优化,通过贝叶斯优化联合调整指令(instructions)与少样本示例(few-shot demos),以追求更高性能。适用条件包括拥有 200+ 训练样本、可承受较长优化运行(40+ 次试验)、需要前沿性能,且指令与示例都需调优。相关技能:数据有限(10-50 例)可用 dspy-bootstrap-fewshot;智能体系统可用 dspy-gepa-reflective;效果度量可用 dspy-evaluation-suite。

主要能力:输入 program(dspy.Module)、trainset(200+ dspy.Example)、metric(可调用评估函数)、auto("light"、"medium"、"heavy")、num_trials(40+);输出 compiled_program(优化后的 dspy.Module)。流程分三阶段:Bootstrap 生成候选示例、Propose 生成有依据的指令候选、Search 对组合做贝叶斯优化。auto 预设:"light" 约 10 次试验用于快速迭代,"medium" 约 40 次用于生产优化,"heavy" 约 100+ 次追求最大性能。

使用方式:先安装可选依赖 pip install -U "dspy[optuna]>=3.2.1,<3.3"。随后配置 LM,例如 lm = dspy.LM('openai/gpt-4o-mini') 与 dspy.configure(lm=lm);定义 dspy.Module 程序;再创建 MIPROv2(metric=..., auto="medium", num_threads=24) 并调用 optimizer.compile(程序, trainset=trainset)。可设置 num_candidates、max_bootstrapped_demos、max_labeled_demos;将 max_bootstrapped_demos 与 max_labeled_demos 设为 0 可进入仅指令优化模式。优化后可保存 compiled.save("agent_mipro.json")。

适用场景:需要同时调优指令与示例、追求高性能的 DSPy 程序,如 RAG 或 ReAct 智能体;建议先用 "medium" 预设,再根据结果调整,并使用较高 num_threads 并行。

限制:计算成本高(大量 LLM 调用),需要充足训练数据,"heavy" 预设优化时间可达数小时,大候选集内存占用高;应监控 API 成本并保存中间进度。官方文档:https://dspy.ai/ 、https://github.com/stanfordnlp/dspy 、https://dspy.ai/api/optimizers/MIPROv2/ 、https://dspy.ai/learn/optimization/optimizers/ 。