krypticmouse/DSRs

Performance centered DSPy rewrite to(not port) Rust

何を解決するか

DSRs は、LM で駆動されるアプリケーションを構築するための DSPy フレームワークに対する、高性能で型安全な代替手段を提供します。手動のプロンプト設計を、トレーニングデータとメトリクスを使用してプロンプトやパイプライン構造を自動的に最適化できる、プログラムベースのアプローチに置き換えます。

どう動くか

静的プロンプトを書くのではなく、開発者は Signature(入出力仕様)と Module(組み合わせ可能なパイプラインコンポーネント)を定義します。フレームワークは Predictor を使って言語モデル(OpenAI API や Ollama などのローカルバックエンドを含む)とやり取りします。

パフォーマンスを向上させるために、DSRs には複数の Optimizer(COPRO、MIPROv2、GEPA など)が含まれており、評価メトリクスとトレーニング例に基づいてプロンプトを反復的に改善したり、新しいプロンプトを生成したりすることで、より高い精度を実現する「パイプラインのコンパイル」を可能にします。

対象ユーザー

Rust のパフォーマンス、メモリ安全性、並行処理の利点を活かして LLM アプリケーションを開発したい開発者、また手動のプロンプトチューニングからデータ駆動型の自動最適化プロセスへ移行したい方。

特徴

  • 自動プロンプト最適化:COPRO、MIPROv2、GEPA などの複数のオプティマイザを備え、データに基づいて指示を改善します。
  • 型安全なシグネチャ:Rust の型システムを使って、LM とのやり取りのための厳密な入出力仕様を定義します。
  • 柔軟なバックエンド:OpenAI や vLLM、Ollama を通じたローカルモデルなど、さまざまな LM プロバイダをサポートします。
  • 内蔵評価機能:メトリクスの定義とテストセットに対する評価の実行を可能にするフレームワークを提供します。
  • Thought Chain (CoT):任意のシグネチャに推論ステップを追加するための内蔵サポート。
  • 実行トレーシング:データフローを有向非巡回グラフ(DAG)として記録するトレーシングシステムで、デバッグや分析に役立ちます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト