これはインタラクティブなノートブックです。ローカルで実行するか、以下のリンクから利用できます。
プロンプトのルーティング
このセクションでは、複数の LLM を扱う際にカスタムルーティングが役立つ理由を説明します。 複雑な LLM ワークフローを構築する際には、精度、コスト、呼び出しのレイテンシーに応じて、プロンプトを送るモデルを使い分ける必要が生じることがあります。 Not Diamond を使用すると、こうしたワークフロー内のプロンプトをニーズに最適なモデルへルーティングでき、モデルのコストを抑えつつ精度を最大限に高められます。 どのようなデータ分布であっても、単一のモデルがあらゆるクエリで他のすべてのモデルを上回ることはまれです。複数のモデルを組み合わせ、どの LLM をいつ呼び出すべきかを学習する「メタモデル」を構築することで、個々のどのモデルよりも高いパフォーマンスを実現できるうえ、コストとレイテンシーも削減できます。カスタムルーティング
プロンプト用のカスタムルーターをトレーニングするには、次の入力が必要です。- LLM プロンプトのセット: プロンプトは文字列である必要があります。また、アプリケーションで実際に使用されるプロンプトを代表するものにしてください。
- LLM の応答: 各入力に対する候補 LLM の応答です。候補 LLM には、サポートされる LLM と独自のカスタムモデルの両方を含めることができます。
- 入力に対する候補 LLM の応答の評価スコア: スコアは数値で、ニーズに合った任意のメトリクスを使用できます。
トレーニングデータを設定する
このセクションでは、カスタムルーターの学習に使用するトレーニングデータとテストデータを準備します。 実際の運用では、独自の評価を使用してカスタムルーターをトレーニングします。ただし、このサンプルノートブックでは、HumanEval データセットに対する LLM の応答を使用して、コーディングタスク向けのカスタムルーターをトレーニングします。 まず、この例のために用意されたデータセットをダウンロードし、LLM の応答をモデルごとに解析してEvaluationResults に変換します。このトレーニングデータとテストデータの分割は、以降のセクションでルーターをトレーニングし、サンプル外データでのパフォーマンスを評価する際に使用します。
カスタムルーターをトレーニングする
EvaluationResults の準備ができたら、それを Not Diamond に送信してカスタムルーターをトレーニングできます。アカウントを作成して
APIキーを生成したうえで、以下のコードに APIキーを入力してください。APIキーはトレーニングリクエストの認証に使用されます。



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