SuperAPI AI 工具集

dspy-parallel

智能体与模型

查看项目

更新于 10-15 23:58

技能介绍

用途:当存在彼此独立的 LM 调用时,用 dspy.Parallel 并发执行,加速批量处理与扇出模式,无需自己写线程代码。dspy.Parallel 接收 (module, inputs) 列表,用线程池并发执行,负责线程、进度条、错误上限和超时。

主要能力:并发运行同一模块对多输入的批量任务,或对不同模块运行同一输入的扇出任务;构造函数支持 num_threads、max_errors、return_failed_examples、provide_traceback、disable_progress_bar、timeout、straggler_limit、access_examples;结果按输入顺序返回。同一模块批量可用更简单的 .batch(),支持相同并发参数;return_failed_examples=True 时返回 (results, failed_examples, exceptions)。

用法:先 dspy.configure(lm=...) 配置 LM,再构建 exec_pairs = [(module, {"text": t}) for t in texts],调用 dspy.Parallel(num_threads=4)(exec_pairs)。输入可为字典、dspy.Example 或元组。线程数应按提供商速率限制设置,而非 CPU 核数;遇 429 可降低 num_threads。串联依赖的调用必须顺序执行。

限制:不适合少于约 5 项的任务;存在数据依赖时不能并行;嵌套 Parallel 会增加总并发量,需按 外层线程数×内层线程数 估算。安装该技能命令为 npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。