SuperAPI AI 工具集

dspy-utils

测试与质量

查看项目

更新于 10-15 23:58

技能介绍

用途:指导使用 DSPy 的工具函数,包括控制缓存、调试 LM 调用、持久化优化后的程序,以及用奖励函数约束运行时输出。

主要能力:

  1. 缓存控制:dspy.configure_cache(enable_disk_cache=False, enable_memory_cache=False) 可全局关闭缓存;也可按 LM 实例设置 dspy.LM("openai/gpt-4o-mini", cache=False)。DSPy 3.2+ 支持 dspy.configure_cache(restrict_pickle=True) 加固磁盘缓存。需要多样输出、测真实延迟或流式场景时可关闭缓存;优化器运行期间不要全局关闭缓存。
  2. 调试:dspy.inspect_history(n=1) 查看最近 LM 调用的完整提示与原始响应,以及使用的适配器;dspy.configure(lm=lm, trace=[]) 可开启更详细追踪,print(my_program) 查看模块结构。
  3. 保存/加载:optimized.save("optimized_program.json") 仅保存学习状态(少样本示例、优化指令);save(..., save_program=True) 连同类定义保存,之后用 dspy.load("optimized_program_dir") 加载。加载前必须先 dspy.configure()。forward() 逻辑与模型权重不会被保存。
  4. 校验:dspy.Refine(module=qa, N=3, reward_fn=..., threshold=1.0) 依据奖励函数重试直至达标;dspy.BestOfN 独立采样 N 次取最优。两者都需显式 threshold,并支持 fail_count。

使用方式:按需选择对应工具函数,先明确是开发还是生产场景。安装技能命令:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。

限制:save() 不保存 forward() 逻辑;未配置 LM 就 load() 会静默失败;inspect_history 也会显示缓存命中调用,需精确查看提示时应关闭缓存。流式、异步、MCP 有独立技能。