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),用於除錯與分析。

相關

  • 專案
  • 專案
  • 專案
  • 專案