Skip to main content
これはインタラクティブなノートブックです。ローカルで実行するか、以下のリンクを使用してください:

Not Diamondを使用したLLMプロンプトのカスタムルーティング

このノートブックでは、WeaveとNot Diamondのカスタムルーティングを使用して、評価結果に基づいて最も適切なモデルにLLMプロンプトをルーティングする方法を示します。

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

複雑なLLMワークフローを構築する際、ユーザーは精度、コスト、または呼び出しレイテンシーに応じて異なるモデルにプロンプトを送信する必要がある場合があります。ユーザーはNot Diamondを使用して、これらのワークフローでプロンプトを適切なモデルにルーティングし、精度を最大化しながらモデルコストを削減することができます。 どのようなデータ分布においても、単一のモデルがすべてのクエリで他のすべてのモデルを上回ることはほとんどありません。複数のモデルを組み合わせて、各LLMをいつ呼び出すかを学習する「メタモデル」を作成することで、個々のモデルのパフォーマンスを上回り、コストとレイテンシーを削減することができます。

カスタムルーティング

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

トレーニングデータの設定

実際には、独自の評価を使用してカスタムルーターをトレーニングします。ただし、この例のノートブックでは、HumanEvalデータセットのLLM応答を使用して、コーディングタスク用のカスタムルーターをトレーニングします。 まず、この例用に準備したデータセットをダウンロードし、各モデルのLLM応答をEvaluationResultsに解析します。

カスタムルーターのトレーニング

EvaluationResultsができたら、カスタムルーターをトレーニングできます。アカウントを作成し、 APIキーを生成したことを確認し、以下にAPIキーを挿入してください。 Create an API key
Not Diamondアプリを通じて、カスタムルーターのトレーニングプロセスを追跡できます。 Check on router training progress カスタムルーターのトレーニングが完了したら、プロンプトのルーティングに使用できます。
この例では、Not DiamondのWeave自動トレース互換性も使用しています。結果はWeave UIで確認できます。 Weave UI for custom routing

カスタムルーターの評価

カスタムルーターをトレーニングした後、以下を評価できます:
  • トレーニングプロンプトを送信することによるサンプル内パフォーマンス、または
  • 新規または保留されたプロンプトを送信することによるサンプル外パフォーマンス
以下では、テストセットをカスタムルーターに送信して、そのパフォーマンスを評価します。
この例では、Not Diamond「メタモデル」が複数の異なるモデル間でプロンプトをルーティングします。 Weaveを通じてカスタムルーターをトレーニングすると、評価も実行され、結果がWeave UIにアップロードされます。カスタムルータープロセスが完了すると、Weave UIで結果を確認できます。 UIでは、Not Diamond「メタモデル」がプロンプトを正確に回答する可能性が高い他のモデルにルーティングすることで、最高パフォーマンスのモデルを上回っていることがわかります。 Evaluating Not Diamond