アプリケーションフローをデプロイする前に、ビジネスシナリオでのパフォーマンスを評価することが重要です。LangStudio は、アプリケーションフローのための包括的な評価機能を提供します。この機能は、評価フローと呼ばれる新しいタイプのアプリケーションフローを使用して、評価テンプレートを用いて指定されたディメンションからアプリケーションフローをスコアリングします。
はじめに
LangStudio は、アプリケーションフローのための包括的な評価機能を提供します。評価タスクを送信するには、評価データセットを構成し、アプリケーションフローの入力をマッピングし、必要な 評価テンプレート を選択する必要があります。評価プロセスは次のように機能します。アプリケーションフローは、評価データセットの各行をバッチ処理して出力を生成します。次に、各出力はデータセットの補助フィールドを使用して評価されます。最後に、スコアが集計され、指定されたデータセットに対するアプリケーションフローの精度が決定されます。

準備
アプリケーションフローが作成され、デバッグされていること。詳細については、「アプリケーションフローを開発する」をご参照ください。
評価データセットが JSON Lines (JSONL) フォーマットで OSS にアップロード されていること。次のコードは例です。
{"history":[],"query": "Describe the steepness and majesty of Mount Hua", "reference": "Mount Hua stands alone, soaring to the clouds; \nSheer cliffs cut the sky, with rugged, handsome crags. \nGreen pines and bamboo vie for beauty on the cliffs; \nMonkeys cry and eagles fly, lit by frosty swords of light. \n\nPerilous peaks like scissors, jagged swords pointing to the sky; \nNarrow paths on steep slopes, where vines are the only way. \nWind and mist intertwine, as clouds emerge from caves; \nA deep fairyland, with a heavenly ladder hard to climb. \n\nJagged ridges cross, like a surging dragon's spine; \nDangerous paths lead onward, twisting toward the heavens. \nFrom lonely pine tops, eagles strike the vast sky; \nAt the summit of Mount Hua, a majestic and heroic sight.", "contexts": ["Mount Hua is one of the Five Great Mountains", "Mount Hua is famous for its steepness"]} {"history":[],"query": "Can you list 5 rare metals? Please rank them by global demand.", "reference": "Rare metals are metallic elements that are scarce in the Earth's crust, unevenly distributed, or difficult to mine. They play a crucial role in high-tech fields and emerging industries. The ranking of global demand can change with time and technological progress, but the following are some rare metals that are typically in high demand. This list is not necessarily ranked by absolute demand, as that can vary at different times.\n\n1. **Cobalt (Co)** - Cobalt is a key component of lithium-ion batteries, especially in electric vehicles and portable electronics. It is also used to manufacture heat-resistant alloys, hard alloys, and catalysts.\n\n2. **Neodymium (Nd)** - Neodymium is a rare-earth metal mainly used to produce strong magnets, such as high-performance permanent magnets. These magnets are widely used in computer hard drives, wind turbines, and the drive motors of electric vehicles.\n\n3. **Lithium (Li)** - Lithium is primarily used to manufacture lithium batteries. As the demand for electric vehicles and portable electronic devices increases, the demand for lithium is rising rapidly.\n\n4. **Silver (Ag)** - Although silver is not as rare as the metals listed above, its industrial demand is huge. It is mainly used in electronics, solar panels, jewelry, and currency manufacturing.\n\n5. **Ruthenium (Ru)** - Ruthenium is a rare precious metal widely used for data storage in hard disk drives and large-capacity servers. It is also used in catalysts and electrochemical cells.\n\nThe demand for these metals is influenced by many factors, such as the global economy, technological development, and policy support. Moreover, as time passes and markets change, other rare metals such as tantalum, indium, rhenium, and other rare-earth metals may also appear on the list of most in-demand rare metals.", "contexts": ["Rare metals are metals with low abundance in the Earth's crust that are complex to mine and extract.", "Lithium (Li): Used in battery manufacturing.", "Cobalt (Co): Used in high-performance alloys and battery manufacturing."]}サンプルファイル: langstudio_eval_demo.jsonl
評価に必要な大規模言語モデル (LLM) と埋め込み接続が作成されていること。詳細については、「接続を構成する」をご参照ください。
注: 一部の評価テンプレートは、ジャッジモデルまたは埋め込みモデルに依存します。したがって、関連する LLM と埋め込み接続を構成する必要があります。
課金
アプリケーションフロー評価機能は、Object Storage Service (OSS) を使用して評価データセットを保存し、PAI-Deep Learning Containers (PAI-DLC) を使用してオフライン評価タスクを実行します。その結果、リソース使用量に対する料金が発生します。詳細については、「OSS の課金の概要」および「Deep Learning Containers (DLC) の課金」をご参照ください。
アプリケーションフロー評価タスクを作成する
オーケストレーションページでアプリケーションフローをデバッグした後、右上の [評価] をクリックしてアプリケーションフロー評価タスクを作成します。

次の表に、主要なパラメーターを示します。
パラメーター | 説明 |
評価データセット | |
OSS ファイル | OSS から JSONL フォーマットの評価データセットファイルを選択します。データセットには、'question' フィールドと評価に必要なその他のフィールドが含まれている必要があります。'question' フィールドは、アプリケーションフローの入力として使用されます。その他の必要なフィールドは、メトリックスコアの計算に使用されます。詳細については、「付録: プリセット評価テンプレート」の「入力フィールド」セクションをご参照ください。 |
アプリケーションフロー入力マッピング | |
chat_history/question | アプリケーションフローの実行のための入力フィールドを選択します。 注: アプリケーションフローを評価する前に、まず推論のために実行する必要があります。評価タスクは、推論結果に基づいて実行されます。したがって、まずアプリケーションフローの実行に必要な入力フィールドを選択する必要があります。 |
評価構成 | |
プリセットテンプレート評価 | システムは複数のプリセット評価テンプレートを提供します。必要に応じてテンプレートを選択できます。複数のテンプレートを選択した場合、評価結果は集計され、タスク詳細ページに表示されます。このトピックでは、[回答の関連性] テンプレートを例として使用します。このテンプレートを選択する際は、次の構成を完了してください。
主要なパラメーター:
テンプレートの詳細については、「付録: プリセット評価テンプレート」をご参照ください。 |
リソース構成: これらのリソースは、評価タスクのスケジューリングにのみ使用されます。タスクの複雑さに応じて、適切な CPU リソースを選択することをお勧めします。 | |
評価結果を表示する
評価タスクを送信すると、タスクの [概要] ページにリダイレクトされます。各評価実行には、1 つのバッチ実行タスクと N 個のメトリック評価タスクが含まれます。ここで、N は選択されたテンプレートの数です。バッチ実行タスクは、アプリケーションフローを使用してデータセットの各行をバッチ処理し、出力を生成します。メトリック評価タスクは、評価データセットの補助フィールドを使用して、バッチ実行タスクからの各出力をスコアリングします。ページの下部で、各サブタスクの詳細を表示できます。実行が完了すると、各サブタスクのトレース、メトリック、および出力の詳細を表示できます。

[メトリック] ページでは、すべての評価メトリックの結果を表示できます。メトリック名の詳細については、「付録: プリセット評価テンプレート」をご参照ください。

付録:プリセット評価テンプレート
LangStudio は、複数の組み込み評価テンプレートを提供します。これらのテンプレートを使用して、メトリックスコア (メトリック値) に基づいて複数のディメンションからアプリケーションフローのパフォーマンスを評価できます。
テンプレート名 | 説明 | メトリック名 | 必要なモデルサービスタイプ | 入力フィールド |
完全一致評価 | アプリケーションフローの出力 (応答) が参照回答 (リファレンス) と完全に一致するかどうかを評価します。スコアは 0 から 1 の間です。スコア 0 は出力がリファレンスと一致しないことを示します。スコア 1 は完全に一致することを示します。 | exact_match_score | 不要 |
|
回答の関連性評価 | アプリケーションフローの出力と入力の関連性を評価します。このメソッドは LLM に依存します。LLM は、入力 (クエリ) とアプリケーションフローの回答 (応答) に基づいてスコアを提供します。スコアは 0 から 1 の間です。スコア 0 は出力が入力と全く関連がないことを示します。スコア 1 は完全な関連性を示します。 | answer_relevancy | LLM |
|
回答の正確性評価 | アプリケーションフローの出力が正しいかどうかを評価します。このメソッドは LLM に依存します。モデルは、質問 (クエリ) とアプリケーションフローの回答 (応答) に基づいてスコアを提供します。スコアは 1 から 5 の間です。スコア 1 が最も悪く、5 が最も良いです。 | answer_correctness | LLM |
|
BLEU スコア評価 | アプリケーションフローの出力と参照回答の関連性を評価します。このメソッドは、評価メトリックとして BLEU スコア を使用します。参照回答 (リファレンス) とアプリケーションフローの出力 (応答) の間の関連性スコアを計算します。スコアは 0 から 1 の間です。スコア 0 は完全な無関係を示します。スコア 1 は完全な関連性を示します。 | bleu-1/bleu-2/bleu-3/bleu-4 | 不要 |
|
ROUGE スコア評価 | アプリケーションフローの出力 (応答) と参照回答 (リファレンス) の関連性を評価します。このメソッドは、評価メトリックとして ROUGE スコア を使用します。参照回答とアプリケーションフローの出力の間の関連性スコアを計算します。スコアは 0 から 1 の間です。スコア 0 は完全な無関係を示します。スコア 1 は完全な関連性を示します。 | rouge-1-p/rouge-1-r/rouge-1-f/rouge-l-p/rouge-l-r/rouge-l-f | 不要 |
|
コンテキストの関連性評価 | アプリケーションフローによって取得されたコンテキストと入力の関連性を評価します。このメソッドは LLM に依存します。LLM は、入力 (クエリ) とコンテキストに基づいてスコアを提供します。スコアは 0 から 1 の間です。スコア 0 は完全な無関係を示します。スコア 1 は完全な関連性を示します。 | context_relevancy | LLM |
|
コンテキストの遵守 | アプリケーションフローの回答が与えられたコンテキストから派生しているかどうかを評価します。このメソッドは LLM に依存します。モデルは、回答 (応答) とコンテキスト (contexts) に基づいてスコアを提供します。スコアは 0 から 1 の間です。スコア 0 は完全に捏造された回答を示します。スコア 1 は回答がコンテキストに完全に準拠していることを示します。 | answer_faithfulness | LLM |
|
埋め込み類似性評価 | アプリケーションフローの出力 (応答) と参照回答 (リファレンス) の間の埋め込み類似性を評価します。このメソッドは埋め込みモデルに依存します。参照回答とアプリケーションフローの出力を埋め込みベクターに変換し、それらのコサイン類似度を計算します。スコアは 0 から 1 の間です。値が高いほど類似性が高いことを示します。 | embedding_similarity | 埋め込み |
|
