watsonx.governanceのチュートリアルを実施する

:::note warn
2024年6月現在、watsonx.governanceは日本語の生成結果の評価ができません。チュートリアルでは英語のプロンプトの評価を実施することになります。
:::

# 　はじめに
以下のマニュアルを参照して、watsonx.governanceのチュートリアルを実施してみます。スクリーンショットが少なく何回か迷ってしまったので、こちらの記事で詳しく解説していきます。
https://dataplatform.cloud.ibm.com/docs/content/wsj/getting-started/get-started-evaluate-prompt.html?context=wx&locale=ja&audience=wdp&audience=wdp&audience=wdp

本記事では保険請求の要約のユースケースを対象として、watsonx.governanceを用いたAIモデル評価を実践します。

# 前提条件
以下の記事を参照してwatsonx.governanceを使える状態にしておいてください。
https://qiita.com/thayate/items/6408ad07ef72fa4b2c49

# 1. モデルインベントリーとAIユースケースの作成

ナビゲーション・メニューから、 「AI ガバナンス」>「AI ユース・ケース」を選択します。
![スクリーンショット 2024-06-28 12.07.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/e0ceb445-3a46-bb22-3784-56ee6eee0d13.png)

## モデルインベントリーの作成
作成済みのインベントリーがない場合は以下のような画面になっているかと思います。「インベントリーの管理」→新規インベントリーをクリックしてください。もし作成済みのインベントリーがありましたらこの手順はスキップしてください。
![スクリーンショット 2024-06-28 13.32.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/cb5c16f1-a0d7-98f0-8d42-41016c7a9bde.png)

名前に*Golden Bank Insurance Inventory*と入力して、説明（オプション）には*Model inventory for insurance related processing*と入力します。
作成後にコラボレーターを追加のチェックを外して、オブジェクト・ストレージ・インスタンスを選択して、作成をクリックします。
![スクリーンショット 2024-06-28 13.35.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/31ec6a29-ea2d-0a1b-a092-08c62373f8ad.png)

モデルインベントリーが作成できたら右上の✗ボタンを押して、インベントリー画面を閉じます。
![スクリーンショット 2024-06-28 13.38.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/06b05355-2534-f76e-e8f9-621500481ab1.png)

## AIユースケースの作成
「新規AIユースケース」をクリックします。
![スクリーンショット 2024-06-28 13.40.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/fb538d5d-409e-3d65-b9b1-4b927746cf58.png)

名前を*Insurance claims processing AI use case*として、インベントリーは先程作ったものを選択します。他はデフォルトのままで作成します。
![スクリーンショット 2024-06-28 13.43.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/8c7f222e-5b44-7b3a-572a-9fb49a027d16.png)

これでプロンプトテンプレートを追跡する準備ができました。
![スクリーンショット 2024-06-28 13.44.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/3d55f47d-db0f-29f5-2bf3-2e651160998e.png)

# 2. プロジェクトの作成
プロンプトテンプレートを評価するためにプロジェクトを作ります。
この手順ではサンプルデータを使ってプロジェクトを作成します。リソースハブの[Getting started with watsonx.governance]("https://dataplatform.cloud.ibm.com/exchange/public/entry/view/1b6c8d6e-a45c-4bf1-84ee-8fe9a6daa56d?context=wx&locale=ja&audience=wdp&audience=wdp&audience=wdp")にアクセスし、プロジェクトの作成をクリックします。

デフォルトのまま作成をクリックします。
![スクリーンショット 2024-06-28 14.30.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/d946efec-c21a-6b11-9b19-31792d42d324.png)

プロジェクトが正常に作成されたら「新規プロジェクトの表示」をクリックします。

次にWatson Machine Learningをプロジェクトに関連付けます。
「管理」タブの「サービスおよび統合」をクリックして、「サービスの関連付け」をクリックします。
![スクリーンショット 2024-06-28 14.33.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/ce8276e2-5c14-3284-e1e3-e2cc6b083ff0.png)

Watson Machine Learningのサービスを選択して、「アソシエイト」をクリックします。
![スクリーンショット 2024-06-28 14.34.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/dbe34671-fbab-e071-01c3-08f8a1ea8dfe.png)

プロジェクト内の「アセット」タブをクリックして、いくつかの資産が追加されていることを確認します。
![スクリーンショット 2024-06-28 14.35.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/08d05efb-8836-2905-fc2f-582a9dccd823.png)

# 3. プロンプトテンプレートの評価
リソースハブから入手したサンプルプロジェクトにはテストデータとして利用されるいくつかのプロンプト・テンプレートとcsvファイルが含まれています。ここからの手順でテストデータをダウンロードし、いずれかのサンプルプロンプトテンプレートを評価します。

「アセット」タブの資産一覧から*Insurance claim summarization test data.csv*のファイルのオーバーフローメニューボタンをクリックして、「ダウンロード」をクリックします。似たような名前のファイルが並んでいて間違いやすいので気をつけてください。（1敗）
![スクリーンショット 2024-06-28 14.39.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/c41b1298-af2f-577b-cef7-3b29929b4eb6.png)

資産一覧から*Insurance claim summarization*のプロンプトテンプレートをクリックして、「編集」を選択します。
![スクリーンショット 2024-06-28 14.41.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/30e4083b-aee6-58c5-f969-215d3e96303f.png)

「プロンプト変数」 アイコン プロンプト変数をクリックして、「試行」と書いてあるフィールドを見てみます。「Input:」と書かれたフィールドに{input}という文字が入っているかと思います。{input}は画面右上で定義されているプロンプト変数を表していて、この変数に動的にテキストが入るようにしています。「命令（オプション）」のフィールドに書かれている指示文を固定して、「Input:」に入るテキストを変えて複数回テストすることで、このプロンプトテンプレートを評価しようとしています。
![スクリーンショット 2024-06-28 14.43.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/ea62a39e-ab70-c6a4-7ff2-252be3d905cb.png)

右上の方にある「評価」アイコンをクリックします。（小さいボタン）
![スクリーンショット 2024-06-28 14.49.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/39f8f1b0-191d-63e8-6e28-bd3b6d44e563.png)

「生成AIの品質」セクションを展開して、ディメンション（評価指標）にどんなものがあるか確認してみます。これは要約タスクのユースケースなので、それに適したディメンションがリストされています。分類など、他のタスクを選択した際には異なるディメンションがリストされます。
ここは特にいじらず、「次へ」をクリックします。
![スクリーンショット 2024-06-28 14.51.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/a9c6fa75-95e7-6aba-0e16-7b58cb44d9ad.png)

テストデータの選択では先程ダウンロードした*Insurance claim summarization test data.csv*をアップロードします。
![スクリーンショット 2024-06-28 14.55.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/653dfe0f-75de-1775-5dfa-108132ec2530.png)

　Map variablesでは入力フィールドに*Insurance_Claim*と選択して、参照出力には*Summary*を選択します。
選択したら「次へ」→「評価」をクリックします。画面が切り替わっても評価が完了するまでに数分かかる場合があります。
![スクリーンショット 2024-06-28 14.56.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/3022a8c5-1f04-0373-697a-d9750d486686.png)

テストは失格でした！！
![スクリーンショット 2024-06-28 15.14.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/5d432359-7995-2a9f-da50-6d1f420809da.png)

「AIファクトシート」タブの「測定結果」をクリックします。
![スクリーンショット 2024-06-28 15.16.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/2e5696e5-8483-7144-4222-b5bbd8b8ac0e.png)

評価結果の詳細が確認できます。Flesch、読みやすさを表す指標がしきい値を下回っていたため、アラートが出ています。
![スクリーンショット 2024-06-28 15.17.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3738536/8f2e3a1e-092b-63d9-4805-b80e2d591a6d.png)

# さいごに
本記事ではwatsonx.governanceを使ったAIモデルの評価の流れを実施しました。AIモデルのトラッキングなど、チュートリアルはまだ続くのですが、記事が長くなるため別記事で投稿したいと思います。

# チュートリアルの続き
[watsonx.governanceのチュートリアルを実施する その2](https://qiita.com/thayate/items/2c83c395b4f511daf443)