krypticmouse/DSRs

Performance centered DSPy rewrite to(not port) Rust

解决的问题

DSRs 为构建 LM 驱动的应用程序提供了一种高性能、类型安全的 DSPy 框架替代方案。它用程序化方法取代了手动提示工程,允许开发者使用训练数据和指标自动优化提示和管道结构。

如何工作

开发人员不编写静态提示,而是定义 Signature(输入/输出规范)和 Module(可组合的管道组件)。框架使用 Predictor 与语言模型交互(支持基于 API 和本地后端,如 Ollama)。

为了提升性能,DSRs 包含多个 Optimizers(如 COPRO、MIPROv2 和 GEPA),它们基于评估指标和训练示例迭代优化提示或生成新提示,从而有效“编译”管道以获得更高的准确性。

适用人群

需要 Rust 的性能、内存安全性和并发性来构建 LLM 应用的 Rust 开发者,以及希望从手动提示调优转向自动化、数据驱动优化流程的开发者。

主要亮点

  • 自动提示优化:包含多个优化器(COPRO、MIPROv2、GEPA),可根据数据改进指令。
  • 类型安全的签名:利用 Rust 的类型系统定义严格的 LM 交互输入/输出规范。
  • 灵活的后端支持:支持多种 LM 提供商,包括 OpenAI 和通过 vLLM 或 Ollama 的本地模型。
  • 内置评估功能:提供框架用于定义指标并在测试集上运行评估。
  • 思维链(CoT):内置支持为任意签名添加推理步骤。
  • 执行追踪:一个追踪系统,将数据流记录为有向无环图(DAG),用于调试和分析。

相关

  • 项目
  • 项目
  • 项目
  • 项目