Slide 1

Slide 1 text

©2025 Databricks Inc. — All rights reserved DSPy入門 平田東夢 2025/10/29

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

“DatabricksとDSPyを活用することで、 JetBlueは高 度なLLMソリューションをスケールさせ、新たな可能性 を切り拓いています。 ” 3 —JetBlue “わずか100件のテストサンプルと 100件の最適化サン プルがあれば、 DSPyに標準搭載されている自動最適化 機能を使用して、より高いパフォーマンスを実現できま す。” —VMware

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

©2025 Databricks Inc. — All rights reserved プロンプトエンジニアリングはめんどくさい ❌ プロンプトエンジニアリングは時間がかかる ● 文字列の調整による試行錯誤が必要 ● どの変更が実際に効果があるのか不明確 🔁 高いメンテナンスコスト ● タスクごとに多数のプロンプトバリエーション ● プロンプトが数千語に及ぶこともある 🎯 モデルのバイアスに脆弱 ● モデルを切り替える => プロンプトチューニングのやり 直し 6 LLMアプリケーションのプロンプトフォルダ

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

DSPyアダプターの役割 10 DSPyアダプターはLLMのレスポンスをPythonオブジェクトに変換する 明日の東京の天気と 気温は何? 明日の東京の天気は 晴れ、気温は20度 Weather: “晴れ” Temperature: 20 City: “東京” Python インプット Python アウトプット LLM リクエスト LLM レスポンス

Slide 11

Slide 11 text

©2025 Databricks Inc. — All rights reserved ビルトインアダプター 特定のテンプレートに沿ってLLMに返 答させる LLMにJSONで返答させる LLMにXMLで返答させる ChatAdapter JSONAdapter XMLAdapter 11

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

©2025 Databricks Inc. — All rights reserved ビルトインモジュール 単一の言語モデル対話を抽象化する 最もシンプルなDSPyモジュール Reasoningモードを使用した対話を実 装するDSPyモジュール 思考と行動を繰り返すReActパターン を実装するDSPyモジュール dspy.Predict dspy.ChainOfThought dspy.ReAct 14 DSPyは柔軟な開発を可能にする様々な組み込みモジュールを提供します

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

©2025 Databricks Inc. — All rights reserved DSPy オプティマイザ 16 トレーニングデータ 評価関数 DSPy プログラム DSPy オプティマイザ 最適化されたプログラム DSPy オプティマイザ: https://dspy.ai/learn/optimization/optimizers/ DSPyオプティマイザは 複数のプロンプトを同時 に最適化します

Slide 17

Slide 17 text

BootstrapFewshot “DSPY: COMPILING DECLARATIVE LANGUAGE MODEL CALLS INTO SELF-IMPROVING PIPELINES” Omar et al. ICLR 2024 17 最適な少数例を発見する最初のDSPyオプティマイザ 最適な少数例を見つけるアルゴリズム (オリジナル論文より)

Slide 18

Slide 18 text

MIPRO “Optimizing Instructions and Demonstrations for Multi-Stage Language Model Programs” Krista and Michael et al. EMNLP 2024 18 ベイズ最適化を利用して最適な指示文と少数例を発見するオプティマイザ MIPROアルゴリズム(オリジナル論文より)

Slide 19

Slide 19 text

GEPA “GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning” Lakshya et al. 2025 19 実行トレースを基にプロンプトを進化させていく最新オプティマイザ GEPAアルゴリズム(オリジナル論文より)

Slide 20

Slide 20 text

GRPO “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models” Zhihong et al. 2024 20 GRPOアルゴリズムを利用したファインチューニングを実装 GRPOアルゴリズム(オリジナル論文より)

Slide 21

Slide 21 text

MLflowとの連携 21 MLflowと組み合わせることでより便利にDSPyを使えます DSPy エージェントの実行トレース プロンプト最適化のトラッキング

Slide 22

Slide 22 text

ご参加ありがとうございました! DSPyについてもっと知りたい方はぜひDSPy公式ドキュメントをご 覧ください