SuperAPI AI 工具集

dspy-labeled-few-shot

通用与其它

查看项目

更新于 10-15 23:58

技能介绍

用途:dspy.LabeledFewShot 是 DSPy 中最简单的优化器,把人工挑选的带标签示例直接作为 few-shot 演示附加到程序的每个预测器上,不做 bootstrapping、不需要度量、编译期不调用 LM。适合已有高质量人工示例、想先建立基线、需要完全控制演示内容或要求确定性可复现行为的场景。

主要能力:构造为 dspy.LabeledFewShot(k=16),k 为每个预测器最多包含的演示数量。compile(student, *, trainset, sample=True) 返回附加了演示的程序副本;trainset 为空时原样返回。sample=True 时用固定随机种子 0 随机抽取 k 个示例,sample=False 时按顺序取前 k 个;示例不足 k 时全部使用。程序有多个预测器时,每个预测器获得同一组演示,因此训练示例需包含所有签名涉及的字段。

使用方式:先配置 LM,如 dspy.configure(lm=dspy.LM("openai/gpt-4o-mini"));定义签名与程序;用 dspy.Example(...).with_inputs("字段") 构造训练示例;再执行 optimizer = dspy.LabeledFewShot(k=4); optimized = optimizer.compile(classify, trainset=trainset)。可用 optimized.save("intent_classifier.json") 保存、load 加载。安装技能命令:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。

限制:不做质量过滤与度量评估,示例即使有噪声也会原样使用;所有预测器共用同一组演示,不按预测器定制;若准确率不足,可升级到 dspy.BootstrapFewShot(需度量)。务必对每个示例调用 .with_inputs(),否则演示在提示中会格式错误。k 越大 token 成本越高,长字段建议减小 k。资料未提供具体价格与平台支持范围。