これはインタラクティブなノートブックです。ローカルで実行するか、次のリンクを使用できます:
プロンプトのルーティング
このセクションでは、複数の LLM を扱う際にカスタムルーティングが有用である理由を説明します。 複雑な LLM ワークフローを構築する際、ユーザーは精度、コスト、または call レイテンシに応じて、異なるモデルにプロンプトを振り分ける必要がある場合があります。 Not Diamond を使用して、こうしたワークフロー内のプロンプトをニーズに合った適切なモデルにルーティングできるため、モデルのコストを抑えつつ精度を最大化できます。 どのようなデータ分布であっても、1 つのモデルがすべてのクエリで他のすべてのモデルを常に上回ることは、ほとんどありません。複数のモデルを組み合わせて、各 LLM をいつ call するかを学習する「メタモデル」を作ることで、個々のモデルそれぞれを上回るパフォーマンスを実現し、さらにコストとレイテンシを削減することもできます。カスタムルーティング
プロンプト向けのカスタムルーターをトレーニングするには、次の入力が必須です。- LLM プロンプトのセット: プロンプトは strings である必要があり、アプリケーションで使用するプロンプトを適切に反映している必要があります。
- LLM の応答: 各入力に対する候補 LLM からの応答です。候補 LLM には、サポートされる LLM と独自のカスタムモデルの両方を含めることができます。
- 候補 LLM から各入力への応答に対する評価スコア: スコアは数値であり、ニーズに合った任意のメトリクスを使用できます。
トレーニングデータを設定する
このセクションでは、カスタムルーターが学習に使用するトレーニングデータとテストデータを準備します。 実際には、独自の Evaluations を使用してカスタムルーターをトレーニングします。ただし、この example ノートブック では、コーディングタスク用のカスタムルーターをトレーニングするために、HumanEval データセットに対する LLM の応答を使用します。 まず、この例用に用意されたデータセットをダウンロードし、各モデルの LLM の応答をEvaluationResults にパースします。このトレーニングデータとテストデータの分割は、後続のセクションでルーターのトレーニングと未知データに対するパフォーマンスの評価に使用します。
カスタムルーターをトレーニングする
EvaluationResults の準備ができたら、それらを Not Diamond に送信してカスタムルーターをトレーニングできます。まず、アカウントを作成 し、
APIキーを生成してから、次のコードに APIキーを入力してください。APIキーはトレーニングリクエストの認証に使用されます。



カスタムルーターを評価する
このセクションでは、カスタムルーターが最良の単一モデルよりも優れているかどうかを測定する方法を説明します。 カスタムルーターをトレーニングしたら、次のいずれかの方法でそのパフォーマンスを評価できます。- トレーニング用のプロンプトを送信して、インサンプルのパフォーマンスを評価します。
- 新しいプロンプトまたはホールドアウトしたプロンプトを送信して、アウトオブサンプルのパフォーマンスを評価します。
