SuperAPI AI 工具集

dspy-simba

智能体与模型

查看项目

更新于 10-15 23:58

技能介绍

用途:dspy.SIMBA(Stochastic Introspective Mini-Batch Ascent)用于对已能正常工作的 DSPy 程序做保守、增量的优化,而非一次性大幅改写提示。它通过小批量采样、按输出波动(最好与最差得分之差)找出程序最不稳定的样本,再针对性修复。

主要能力:小批量驱动,每轮只采样部分训练集;聚焦高波动样本;两种改进策略——注入少样本示例或生成自然语言反思规则;维护候选程序池,按平均得分做 softmax 采样选择来源程序;每步只做小幅定向改动,回归风险低。

使用方式:需要程序、度量函数和训练集。基本用法:optimizer = dspy.SIMBA(metric=metric);optimized = optimizer.compile(program, trainset=trainset);optimized.save("optimized_classifier.json")。compile 支持 seed 参数(默认 0)以复现结果,返回程序带 candidate_programs 与 trial_logs 属性。get_params() 返回配置字典。

关键参数:metric(必填)、bsize=32、num_candidates=6、max_steps=8、max_demos=4、prompt_model=None、teacher_settings=None、demo_input_field_maxlen=100000、num_threads=None、temperature_for_sampling=0.2、temperature_for_candidates=0.2。

适用场景:程序已可用、希望继续提升准确率;数据量约 50-500 条;生产环境不容忍回归;想了解哪些样本最难。

限制与注意:不适合从零开始(应先用 dspy.BootstrapFewShot)、不适合追求一次性最大优化(用 dspy.MIPROv2)、不适合微调权重(用 dspy.BootstrapFinetune);数据少于 30 条不宜使用。度量建议返回 0.0-1.0 浮点值,二值指标难以区分难度;max_demos 建议保持 4-6;规则生成可用更强的 prompt_model。安装:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。