Skip to main content
これはインタラクティブなノートブックです。ローカルで実行するか、以下のリンクから利用できます。
このノートブックでは、Weave と Not Diamond のカスタムルーティング を使用して、評価結果に基づき LLM プロンプトを最適なモデルにルーティングする方法を紹介します。このノートブックを最後まで進めると、コーディング用プロンプト向けのカスタムルーターをトレーニングし、それを使って新しいプロンプトのターゲットモデルを選択したうえで、単体で最も優れたモデルとパフォーマンスを比較評価できます。

プロンプトのルーティング

このセクションでは、複数の LLM を扱う際にカスタムルーティングが役立つ理由を説明します。 複雑な LLM ワークフローを構築する際には、精度、コスト、呼び出しのレイテンシーに応じて、プロンプトを送るモデルを使い分ける必要が生じることがあります。 Not Diamond を使用すると、こうしたワークフロー内のプロンプトをニーズに最適なモデルへルーティングでき、モデルのコストを抑えつつ精度を最大限に高められます。 どのようなデータ分布であっても、単一のモデルがあらゆるクエリで他のすべてのモデルを上回ることはまれです。複数のモデルを組み合わせ、どの LLM をいつ呼び出すべきかを学習する「メタモデル」を構築することで、個々のどのモデルよりも高いパフォーマンスを実現できるうえ、コストとレイテンシーも削減できます。

カスタムルーティング

プロンプト用のカスタムルーターをトレーニングするには、次の入力が必要です。
  1. LLM プロンプトのセット: プロンプトは文字列である必要があります。また、アプリケーションで実際に使用されるプロンプトを代表するものにしてください。
  2. LLM の応答: 各入力に対する候補 LLM の応答です。候補 LLM には、サポートされる LLM と独自のカスタムモデルの両方を含めることができます。
  3. 入力に対する候補 LLM の応答の評価スコア: スコアは数値で、ニーズに合った任意のメトリクスを使用できます。
これらを Not Diamond API に送信すると、ワークフローごとに調整されたカスタムルーターをトレーニングできます。

トレーニングデータを設定する

このセクションでは、カスタムルーターの学習に使用するトレーニングデータとテストデータを準備します。 実際の運用では、独自の評価を使用してカスタムルーターをトレーニングします。ただし、このサンプルノートブックでは、HumanEval データセットに対する LLM の応答を使用して、コーディングタスク向けのカスタムルーターをトレーニングします。 まず、この例のために用意されたデータセットをダウンロードし、LLM の応答をモデルごとに解析して EvaluationResults に変換します。このトレーニングデータとテストデータの分割は、以降のセクションでルーターをトレーニングし、サンプル外データでのパフォーマンスを評価する際に使用します。

カスタムルーターをトレーニングする

EvaluationResults の準備ができたら、それを Not Diamond に送信してカスタムルーターをトレーニングできます。アカウントを作成して APIキーを生成したうえで、以下のコードに APIキーを入力してください。APIキーはトレーニングリクエストの認証に使用されます。
APIキーを作成する
その後、Not Diamond アプリでカスタムルーターのトレーニングの進行状況を確認できます。
ルーターのトレーニングの進行状況を確認する
カスタムルーターのトレーニングが完了したら、そのルーターを使用してプロンプトをルーティングできます。
この例では、Not Diamond が Weave の自動トレースに対応している点も活用しています。結果は Weights & Biases UI で確認できます。 カスタムルーティングの Weights & Biases UI

カスタムルーターを評価する

このセクションでは、カスタムルーターが単体で最も優れたモデルを上回るかどうかを測定する方法を説明します。 カスタムルーターのトレーニングが完了したら、次のいずれかの方法でパフォーマンスを評価できます。
  • トレーニングに使用したプロンプトを送信して、サンプル内パフォーマンスを評価する。
  • 新しいプロンプトまたはホールドアウトしたプロンプトを送信して、サンプル外パフォーマンスを評価する。
次の例では、テストセットをカスタムルーターに送信してパフォーマンスを評価します。
この例では、Not Diamond の”メタモデル”が、プロンプトを複数の異なるモデルにルーティングします。 Weave を使ってカスタムルーターをトレーニングすると、評価も実行され、その結果が Weights & Biases UI にアップロードされます。カスタムルーターのプロセスが完了したら、Weights & Biases UI で結果を確認できます。 UI では、Not Diamond の”メタモデル”が、プロンプトに正確に回答できる可能性がより高い他のモデルへプロンプトをルーティングすることで、単体で最も高いパフォーマンスを示すモデルを上回っていることを確認できます。
Not Diamond の評価
最終更新日 2026年9月30日