次の方法で共有


Azure Databricks で DSPy を使用して生成 AI アプリを構築する

この記事では、DSPy について説明し、Azure Databricks で DSPy を使用して生成 AI エージェントを構築および最適化する方法を示すノートブックの例を示します。

DSPy とは

DSPy は、生成型 AI エージェントをプログラムで定義および最適化するためのフレームワークです。 DSPy では、プロンプト エンジニアリングを自動化し、LLM の微調整を調整してパフォーマンスを向上させることができます。

DSPy は、エージェントの開発を簡略化し、エージェントの品質を向上させるいくつかのコンポーネントで構成されています。

  • モジュール: DSPy では、質問への回答や要約など、特定のテキスト変換を処理するコンポーネントです。 手書きの従来のプロンプトを置き換え、例から学習できるため、より適応性が高くなります。
  • シグネチャ: モジュールの入力と出力の動作に関する自然言語の説明。 たとえば、"question -> answer" は、モジュールが質問を入力として受け取り、回答を返す必要があることを指定します。
  • コンパイラ: これは DSPy の最適化ツールです。 優れたプロンプトを生成するか、モデルを微調整することで、パフォーマンス メトリックを満たすようにモジュールを調整することで、LM パイプラインを改善します。
  • Program (DSPy): 複雑なタスクを実行するためにパイプラインに接続されたモジュールのセット。 DSPy プログラムは柔軟性が高く、コンパイラを使用して最適化および適応できます。

テキスト分類子 DSPy プログラムを作成する

次のノートブックは、テキスト分類を実行する DSPy プログラムを作成する方法を示しています。 この例では、DSPy のしくみと使用するコンポーネントを示します。

DSPyプログラムのテキスト分類子ノートブックを作成する

ノートブック を取得する

RAG 用の DSPy プログラムを作成する

これらのノートブックでは、DSPy を使用して基本的な RAG プログラムを作成および最適化する方法を示します。 これらのノートブックは、サーバーレス コンピューティングを使用していることを前提としており、Databricks Runtime バージョンとは別に実行されるように、ノートブック レベルでパッケージをインストールします。

パート 1: RAG DSPy プログラム ノートブックのデータとベクター検索インデックスを準備する

ノートブック を取得する

パート 2: RAG ノートブック用の DSPy プログラムを作成して最適化する

ノートブック を取得する

LangChain を DSPy に移行する

これらのノートブックは、LangChain モデル コードを DSPy に移行し、パフォーマンスを向上させるために最適化する方法を示しています。 これらのノートブックは、サーバーレス コンピューティングを使用していることを前提としており、Databricks Runtime バージョンとは別に実行されるように、ノートブック レベルでパッケージをインストールします。

LangChain モデル コードを DSPy ノートブックに移行する

ノートブック を取得する

移行した DSPy モデル ノートブックを最適化する

ノートブック を取得する