Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DSPy入門

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for TomuHirata TomuHirata
October 29, 2025

 DSPy入門

Avatar for TomuHirata

TomuHirata

October 29, 2025
Tweet

Other Decks in Technology

Transcript

  1. ©2025 Databricks Inc. — All rights reserved DSPyとは? 🧩 シンプルで堅牢な言語モデルとの対話

    • プロンプトなしで言語モデルとの対話を簡素化 • 高いメンテナンス性 🛠 柔軟なモジュール • 統一されたインターフェース • 様々なビルトインモジュール 🔧 自動最適化 • プロンプトの最適化 • 言語モデルの重みのファインチューニング 🚀 本番環境対応 • ストリーミング、非同期処理などを標準搭載 2 DSPyはLLMを従来のプログラミング手法通りに扱えるようにし、モジュラーなAIアプリケー ションを作るためのフレームワークです Programming — not prompting — Language Models
  2. ©2025 Databricks Inc. — All rights reserved DSPyの全体像 4 DSPy

    シグネチャ DSPy オプティマイザ DSPy モジュール DSPy アダプター
  3. ©2025 Databricks Inc. — All rights reserved DSPyの全体像 5 DSPy

    シグネチャ DSPy オプティマイザ DSPy モジュール DSPy アダプター
  4. ©2025 Databricks Inc. — All rights reserved プロンプトエンジニアリングはめんどくさい ❌ プロンプトエンジニアリングは時間がかかる

    • 文字列の調整による試行錯誤が必要 • どの変更が実際に効果があるのか不明確 🔁 高いメンテナンスコスト • タスクごとに多数のプロンプトバリエーション • プロンプトが数千語に及ぶこともある 🎯 モデルのバイアスに脆弱 • モデルを切り替える => プロンプトチューニングのやり 直し 6 LLMアプリケーションのプロンプトフォルダ
  5. ©2025 Databricks Inc. — All rights reserved DSPyシグネチャを使いましょう 7 あなたは人間の言語を分析し、微妙な感情のニュアンスを検出

    するように訓練された高度な感情知能システムです。文章が与 えられたら、表現されている主要な感情を特定してください。あな たの分類は、表面的なキーワードだけでなく、話者が伝える根底 にある感情や情緒状態を反映する必要があります。 文章全体の文脈とトーンに基づいて、以下の感情ラベルのいず れか一つを選択する必要があります:悲しみ、喜び、愛、怒り、 恐れ、驚き 話者がどのように感じているかを慎重に考慮してください。暗黙 の感情的な手がかりや比喩的な表現も含めて判断してくださ い。自信度は0から1で答えて下さい。 文章:"{sentence}" 予測される感情: 自信度: 感情分析を行うためのプロンプト 感情分析を行うためのDSPyシグネチャ
  6. ©2025 Databricks Inc. — All rights reserved DSPy シグネチャの基本 DSPy

    Signatureは言語モデルとの対話の入力と出力を定義し ます。 • 入力(dspy.InputField()) • 出力(dspy.OutputField()) • 型(Pythonのプリミティブ型、Pydanticモデル) • タスク仕様(シグネチャの指示) フィールドの説明(desc キーワードを通じたフィールドに関する追加情報) 8 指示文 フィールド名 インプット、アウトプット フィールドの説明 タイプヒント
  7. ©2025 Databricks Inc. — All rights reserved DSPyの全体像 9 DSPy

    シグネチャ DSPy オプティマイザ DSPy モジュール DSPy アダプター
  8. ©2025 Databricks Inc. — All rights reserved ビルトインアダプター 特定のテンプレートに沿ってLLMに返 答させる

    LLMにJSONで返答させる LLMにXMLで返答させる ChatAdapter JSONAdapter XMLAdapter 11
  9. ©2025 Databricks Inc. — All rights reserved DSPyの全体像 12 DSPy

    シグネチャ DSPy オプティマイザ DSPy モジュール DSPy アダプター
  10. ©2025 Databricks Inc. — All rights reserved DSPy モジュール DSPyモジュールはDSPyプログラムの中核と

    なる構成要素です。 • シグネチャ:DSPyモジュールは明確な 入力と出力の定義を持つ • 学習可能なパラメータ:DSPyモジュール は学習可能なパラメータを持つ • 様々な組み込みモジュール:各組み込 みモジュールは言語モデルの対話技術 を抽象化する • モジュール性:複数のモジュールを組み 合わせてより大きなモジュールを構成で きる 13 DSPyプログラムの例 シグネチャ ビルトイン モジュール コントロールフロー DSPyモジュール: https://dspy.ai/learn/programming/modules/
  11. ©2025 Databricks Inc. — All rights reserved ビルトインモジュール 単一の言語モデル対話を抽象化する 最もシンプルなDSPyモジュール

    Reasoningモードを使用した対話を実 装するDSPyモジュール 思考と行動を繰り返すReActパターン を実装するDSPyモジュール dspy.Predict dspy.ChainOfThought dspy.ReAct 14 DSPyは柔軟な開発を可能にする様々な組み込みモジュールを提供します
  12. ©2025 Databricks Inc. — All rights reserved DSPyの全体像 15 DSPy

    シグネチャ DSPy オプティマイザ DSPy モジュール DSPy アダプター
  13. ©2025 Databricks Inc. — All rights reserved DSPy オプティマイザ 16

    トレーニングデータ 評価関数 DSPy プログラム DSPy オプティマイザ 最適化されたプログラム DSPy オプティマイザ: https://dspy.ai/learn/optimization/optimizers/ DSPyオプティマイザは 複数のプロンプトを同時 に最適化します
  14. BootstrapFewshot “DSPY: COMPILING DECLARATIVE LANGUAGE MODEL CALLS INTO SELF-IMPROVING PIPELINES”

    Omar et al. ICLR 2024 17 最適な少数例を発見する最初のDSPyオプティマイザ 最適な少数例を見つけるアルゴリズム (オリジナル論文より)
  15. MIPRO “Optimizing Instructions and Demonstrations for Multi-Stage Language Model Programs”

    Krista and Michael et al. EMNLP 2024 18 ベイズ最適化を利用して最適な指示文と少数例を発見するオプティマイザ MIPROアルゴリズム(オリジナル論文より)
  16. GEPA “GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning” Lakshya

    et al. 2025 19 実行トレースを基にプロンプトを進化させていく最新オプティマイザ GEPAアルゴリズム(オリジナル論文より)
  17. GRPO “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open

    Language Models” Zhihong et al. 2024 20 GRPOアルゴリズムを利用したファインチューニングを実装 GRPOアルゴリズム(オリジナル論文より)