From c7b6523d48c6b5893c6a62533cfcbd2774505b87 Mon Sep 17 00:00:00 2001 From: olprod Date: Fri, 15 Nov 2024 20:52:51 -0800 Subject: [PATCH] Copy Files From Source Repo (2024-11-15 20:52) --- Instructions/02-Explore-model-catalog.md | 2 +- Instructions/03-Use-prompt-flow-chat.md | 29 ++---- Instructions/03b-Use-prompt-flow-NER.md | 61 ++++++------ Instructions/04-Use-own-data.md | 47 ++++----- Instructions/05-Finetune-model.md | 106 +++++++++++++++++---- Instructions/06-Explore-content-filters.md | 32 +++---- Instructions/07-Evaluate-prompt-flow.md | 13 ++- 7 files changed, 173 insertions(+), 117 deletions(-) diff --git a/Instructions/02-Explore-model-catalog.md b/Instructions/02-Explore-model-catalog.md index 467e66e..9d1212b 100644 --- a/Instructions/02-Explore-model-catalog.md +++ b/Instructions/02-Explore-model-catalog.md @@ -20,7 +20,7 @@ Azure AI Studio のモデル カタログは、さまざまなモデルを試し - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" - **[リソース グループ]**: "新しいリソース グループ"** - **場所**: **[選択に関するヘルプ]** を選択し、次に [場所ヘルパー] ウィンドウで **gpt-35-turbo** を選択し、推奨されるリージョンを選択します\* - - **Azure AI サービスまたは Azure OpenAI への接続**:*新しい接続を作成する* + - **Azure AI サービスまたは Azure OpenAI に接続**: (新機能) *選択したハブ名が自動入力されます* - **Azure AI 検索への接続**:接続をスキップする > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 場所ヘルパーに一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#gpt-35-turbo-model-availability)を参照してください diff --git a/Instructions/03-Use-prompt-flow-chat.md b/Instructions/03-Use-prompt-flow-chat.md index 34db904..8f342aa 100644 --- a/Instructions/03-Use-prompt-flow-chat.md +++ b/Instructions/03-Use-prompt-flow-chat.md @@ -18,24 +18,14 @@ lab: 1. **[新しいプロジェクトの作成]** ウィザードで、次の設定を使ってプロジェクトを作成します。 - **プロジェクト名**:"プロジェクトの一意の名前"** - **ハブ**:次の設定で新しいハブを作成します。** - - **ハブ名**:*一意の名前* - - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" - - **[リソース グループ]**: "新しいリソース グループ"** - - **[場所]**: *以下のいずれかのリージョンから**ランダム**に選択する*\* - - オーストラリア東部 - - カナダ東部 - - 米国東部 - - 米国東部 2 - - フランス中部 - - 東日本 - - 米国中北部 - - スウェーデン中部 - - スイス北部 - - 英国南部 + - **ハブ名**:*一意の名前* + - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" + - **[リソース グループ]**: "新しいリソース グループ"** + - **場所**: **[選択に関するヘルプ]** を選択し、次に [場所ヘルパー] ウィンドウで **gpt-35-turbo** を選択し、推奨されるリージョンを選択します\* - **Azure AI サービスまたは Azure OpenAI への接続**:*新しい接続を作成する* - **Azure AI 検索への接続**:接続をスキップする - > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#gpt-35-turbo-model-availability)を参照してください + > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 場所ヘルパーに一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#gpt-35-turbo-model-availability)を参照してください 1. 構成を確認して、プロジェクトを作成します。 1. プロジェクトが作成されるまで待ちます。 @@ -47,11 +37,12 @@ lab: 1. 左側のナビゲーション ウィンドウの **[コンポーネント]** で、**[デプロイ]** ページを選びます。 1. 次の設定で **gpt-35-turbo** モデルの新しいデプロイを作成します。 - **デプロイ名**:"モデル デプロイの一意の名前"** - - **モデルのバージョン**: *Select the default version (既定のバージョンの選択)* - **デプロイの種類**:Standard - - **Azure OpenAI リソースに接続済み**:既定の接続を選択します** + - **モデルのバージョン**: *Select the default version (既定のバージョンの選択)* + - **AI リソース**: *以前に作成したリソースを選択します* - **1 分あたりのトークン数のレート制限 (1,000 単位)**:5,000 - - **コンテンツ フィルター**: 既定 + - **コンテンツ フィルター**: DefaultV2 + - **動的クォータを有効にする**: 無効 1. モデルが展開されるまで待ちます。 デプロイの準備ができたら、**[プレイグラウンドで開く]** を選択します。 1. チャット ウィンドウで、`What can you do?` というクエリを入力します。 @@ -77,7 +68,7 @@ lab: 5. Encourage the user to ask follow-up questions for further assistance. ``` -1. **[変更の適用]** を選択します。 +1. **[保存]** を選択します。 1. チャット ウィンドウで、前と同じクエリを入力します。`What can you do?` 応答が変化していることに注意してください。 これでデプロイされた GPT モデルのシステム メッセージの調整は完了したので、プロンプト フローを操作することでアプリケーションをさらにカスタマイズできます。 diff --git a/Instructions/03b-Use-prompt-flow-NER.md b/Instructions/03b-Use-prompt-flow-NER.md index 054695a..0731784 100644 --- a/Instructions/03b-Use-prompt-flow-NER.md +++ b/Instructions/03b-Use-prompt-flow-NER.md @@ -22,42 +22,36 @@ lab: 最初に、Azure AI Studio プロジェクトと、それをサポートする Azure AI ハブを作成します。 1. Web ブラウザーで [https://ai.azure.com](https://ai.azure.com) を開き、Azure の資格情報を使ってサインインします。 -1. **[ビルド]** ページを選んでから、**[+ 新しいプロジェクト]** を選びます。 +1. **[ホーム]** ページを選択してから、**[+ 新しいプロジェクト]** を選択します。 1. **[新しいプロジェクトの作成]** ウィザードで、次の設定を使ってプロジェクトを作成します。 - **プロジェクト名**:"プロジェクトの一意の名前"** - - **[Azure Hub] (Azure ハブ)**: "次の設定で新しいリソースを作成します。"** - - **[AI Hub name] (AI ハブ名)**: *一意の名前* - - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" - - **[リソース グループ]**: "新しいリソース グループ"** - - **[場所]**: *以下のいずれかのリージョンから**ランダム**に選択する*\* - - オーストラリア東部 - - カナダ東部 - - 米国東部 - - 米国東部 2 - - フランス中部 - - 東日本 - - 米国中北部 - - スウェーデン中部 - - スイス北部 - - 英国南部 - - > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、テナントを他のユーザーと共有するシナリオで、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 + - **ハブ**:次の設定で新しいハブを作成します。** + - **ハブ名**:*一意の名前* + - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" + - **[リソース グループ]**: "新しいリソース グループ"** + - **場所**: **[選択に関するヘルプ]** を選択し、次に [場所ヘルパー] ウィンドウで **gpt-35-turbo** を選択し、推奨されるリージョンを選択します\* + - **Azure AI サービスまたは Azure OpenAI への接続**:*新しい接続を作成する* + - **Azure AI 検索への接続**:接続をスキップする + + > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 場所ヘルパーに一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#gpt-35-turbo-model-availability)を参照してください 1. 構成を確認して、プロジェクトを作成します。 -1. プロジェクトが作成されるまで 5 から 10 分待ちます。 +1. プロジェクトが作成されるまで待ちます。 ## GPT モデルをデプロイする プロンプト フローで LLM モデルを使うには、まずモデルをデプロイする必要があります。 Azure AI Studio を使うと、フローで使用できる OpenAI モデルをデプロイできます。 1. 左側のナビゲーション ウィンドウの **[コンポーネント]** で、**[デプロイ]** ページを選びます。 -1. Azure OpenAI Studio で、**[デプロイ]** ページに移動します。 1. 次の設定で **gpt-35-turbo** モデルの新しいデプロイを作成します。 - - **モデル**: `gpt-35-turbo` - - **モデルのバージョン**: *既定値のままにします* - - **[デプロイ名]**: `gpt-35-turbo` - - 既定のコンテンツ フィルターを使って、1 分あたりのトークン数 (TPM) を **5K** に制限するには、**[詳細設定]** オプションを設定します。 - + - **デプロイ名**:"モデル デプロイの一意の名前"** + - **デプロイの種類**:Standard + - **モデルのバージョン**: *Select the default version (既定のバージョンの選択)* + - **AI リソース**: *以前に作成したリソースを選択します* + - **1 分あたりのトークン数のレート制限 (1,000 単位)**:5,000 + - **コンテンツ フィルター**: DefaultV2 + - **動的クォータを有効にする**: 無効 + LLM モデルがデプロイされたので、デプロイされたモデルを呼び出すフローを Azure AI Studio で作成できます。 ## Azure AI Studio でフローを作成して実行する @@ -72,6 +66,18 @@ LLM モデルがデプロイされたので、デプロイされたモデルを 1. **[+ 作成]** を選んで、新しいフローを作成します。 1. 新しい**標準フロー**を作成し、フォルダー名として「`entity-recognition`」と入力します。 +
+ トラブルシューティングのヒント: アクセス許可エラー +

新しいプロンプト フローを作成するときにアクセス許可エラーが発生した場合は、次のトラブルシューティングを試してください。

+ +
+ 1 つの入力、2 つのノード、1 つの出力を含む標準フローが自動的に作成されます。 フローを更新して、2 つの入力を受け取り、エンティティを抽出し、LLM ノードからの出力をクリーンアップし、出力としてエンティティを返すようにします。 ### 自動ランタイムを開始する @@ -79,9 +85,8 @@ LLM モデルがデプロイされたので、デプロイされたモデルを フローをテストするには、コンピューティングが必要です。 必要なコンピューティングは、ランタイムを通じて利用できるようになります。 1. `entity-recognition` という名前で新しいフローを作成すると、スタジオでそのフローが開きます。 -1. 上部のバーで **[ランタイムの選択]** フィールドを選びます。 -1. **[自動ランタイム]** ボックスの一覧で **[開始]** を選んで、自動ランタイムを開始します。 -1. ランタイムが起動するまで待ちます。 +1. 上部のバーから **[コンピューティング セッションの開始]** を選択します。 +1. コンピューティング セッションが開始するには 1 から 3 分かかります。 ### 入力を構成する diff --git a/Instructions/04-Use-own-data.md b/Instructions/04-Use-own-data.md index da17515..8afddaa 100644 --- a/Instructions/04-Use-own-data.md +++ b/Instructions/04-Use-own-data.md @@ -42,17 +42,17 @@ Copilot ソリューションでは、カスタム データをプロンプト これで Azure AI Studio プロジェクトと、それをサポートする Azure AI リソースを作成する準備が整いました。 1. Web ブラウザー内で [Azure AI Studio](https://ai.azure.com) (`https://ai.azure.com`) を開き、ご自身の Azure 資格情報を使用してサインインします。 -1. Azure AI Studio の **[ホーム]** ページで、**[+ 新しいプロジェクト]** を選択します。 そして、**[プロジェクトの作成]** ウィザードで、次の設定を使用してプロジェクトを作成します。 +1. Azure AI Studio の **[ホーム]** ページで、**[+ 新しいプロジェクト]** を選択します。 +1. **プロジェクトの作成**ウィザードで、プロジェクトの一意の名前を指定し、**[カスタマイズ]** を選択して、次の設定でプロジェクトを作成します。 - - **プロジェクト名**:"プロジェクトの一意の名前"** - - **ハブ**:次の設定で新しいリソースを作成します。** + - **ハブの作成**: *次の設定で新しいリソースを作成します。* - **ハブ名**:*一意の名前* - **Azure サブスクリプション**:"*ご自身の Azure サブスクリプション*" - **[リソース グループ]**: "ご利用の Azure AI 検索リソースを含むリソース グループを選択します"** - **[場所]**: *Azure AI 検索リソースと同じ場所* - - **Azure OpenAI**:(新規) "選択したハブ名がオートフィルされます"** - - **[Azure AI 検索]**:Azure AI 検索リソースを選択します** + - **Azure AI サービスまたは Azure OpenAI に接続**: (新機能) *選択したハブ名が自動入力されます* + - **Azure AI Search に接続**: *Azure AI Search リソースを選択します* 1. プロジェクトが作成されるまで待ちます。 @@ -64,13 +64,16 @@ Copilot ソリューションでは、カスタム データをプロンプト - ご利用のデータに基づいて、質問に対する自然言語の応答を生成することができるモデル。 1. Azure AI Studio 内のプロジェクトの左側ナビゲーション ウィンドウで、**[コンポーネント]** の下にある **[デプロイ]** ページを選択します。 -1. 以下の設定を使用して、**text-embedding-ada-002** モデルの新しいデプロイを作成します。 +1. デプロイ モデル ウィザードで **[カスタマイズ]** を選択して、以下の設定で **text-embedding-ada-002** モデルの新しいデプロイを作成します。 - **[デプロイ名]**: `text-embedding-ada-002` - - **モデルのバージョン**: *既定値* - - **詳細オプション**: - - **コンテンツ フィルター**:*既定値* - - **1 分あたりのトークン数のレート制限**: `5K` + - **デプロイの種類**:Standard + - **モデルのバージョン**: *Select the default version (既定のバージョンの選択)* + - **AI リソース**: *以前に作成したリソースを選択します* + - **1 分あたりのトークン数のレート制限 (1,000 単位)**:5,000 + - **コンテンツ フィルター**: DefaultV2 + - **動的クォータを有効にする**: 無効 + 1. 前の手順を繰り返して、「`gpt-35-turbo-16k`」というデプロイ名で **gpt-35-turbo-16k** モデルをデプロイします。 > **注**:1 分あたりのトークン数 (TPM) を減らすと、ご利用のサブスクリプション内で使用可能なクォータが過剰に消費されるのを回避するのに役立ちます。 この演習で使用するデータには、5,000 TPM で十分です。 @@ -85,7 +88,7 @@ Copilot ソリューションでは、カスタム データをプロンプト 1. **[データの追加]** ウィザードで、ドロップダウン メニューを展開して **[Upload files/folders]\(ファイル/フォルダーのアップロード\)** を選択します。 1. **[フォルダーのアップロード]** を選択し、**brochures** フォルダーを選択します。 1. データ名を `brochures` に設定します。 -1. フォルダーがアップロードされるまで待ちます。これにはいくつかの.pdf ファイルが含まれています。 +1. フォルダーがアップロードされるまで待ちます。これにはいくつかの .pdf ファイルが含まれています。 ## データのインデックスを作成する @@ -93,16 +96,16 @@ Copilot ソリューションでは、カスタム データをプロンプト 1. Azure AI Studio 内にあるプロジェクトの左側ナビゲーション ウィンドウ内で、**[コンポーネント]** の下にある **[インデックス]** ページを選択します。 1. 次の設定で新しいインデックスを追加します。 - - **[ソース データ]**: + - **ソースの場所**: - **データ ソース**:Azure AI Studio でのデータ - [データ ソース] で **[brochures]** を選択します** - - **[インデックス設定]**: + - **インデックスの構成**: - **Azure AI Search サービスの選択**:ご利用の Azure AI 検索リソースへの **[AzureAISearch]** 接続を選択します** - - **インデックス名**: `brochures-index` + - **ベクトル インデックス**: `brochures-index` - **仮想マシン**:自動選択 - **[検索設定]**: - **[Vector settings]**:ベクトル検索をこの検索リソースに追加します - - **埋め込みモデルを選択します。***お使いのハブの既定の Azure OpenAI リソースを選択します。* + - **Azure OpenAI 接続**: *ハブの既定の Azure OpenAI リソースを選択します。* 1. インデックス作成プロセスが完了するまで待ちます。これには数分かかる場合があります。 このインデックス作成操作は、次のジョブで構成されます。 @@ -115,12 +118,12 @@ Copilot ソリューションでは、カスタム データをプロンプト RAG ベースのプロンプト フローでインデックスを使用する前に、それを使用して生成 AI 応答に作用することができるのを確認しましょう。 1. 左側のナビゲーション ウィンドウの **[プロジェクト プレイグラウンド]** で、**[チャット]** ページを選択します。 -1. [チャット] ページの [オプション] パネルで、**gpt-35-turbo-16k** モデル デプロイが選択されていることを確認します。 次に、メインの [チャット セッション] パネルで、プロンプト「`Where can I stay in New York?`」を送信します。 +1. [チャット] ページの [セットアップ] ウィンドウで、**gpt-35-turbo-16k** モデル デプロイが選択されていることを確認します。 次に、メインの [チャット セッション] パネルで、プロンプト「`Where can I stay in New York?`」を送信します。 1. その応答を確認します。これは、インデックスからのデータを含まない、このモデルからの一般的な回答であるはずです。 -1. [セットアップ] パネル上で、**[データを追加する]** タブを選択し、プロジェクト インデックスで「**brochures-index**」を追加し、検索の種類で **[ハイブリッド (ベクトル + キーワード)]** を選択します。 +1. [セットアップ] ウィンドウで、**[データの追加]** タブを選択し、**brochures-index** プロジェクト インデックスを追加して、**[ハイブリッド (ベクトル + キーワード)]** 検索タイプを選択します。 > **注**: 一部のユーザーは、新しく作成されたインデックスをすぐには使用できません。 通常はブラウザーの更新で解決しますが、インデックスが見つからない問題がそれでも解決しない場合は、インデックスが認識されるまで待つ必要がある場合があります。 - + 1. インデックスが追加され、チャット セッションが再開された後に、プロンプト「`Where can I stay in New York?`」を再送信します。 1. その応答を確認します。インデックス内のデータに基づいているはずです。 @@ -135,9 +138,9 @@ RAG ベースのプロンプト フローでインデックスを使用する前

新しいプロンプト フローを作成するときにアクセス許可エラーが発生した場合は、次のトラブルシューティングを試してください。

@@ -175,7 +178,7 @@ RAG ベースのプロンプト フローでインデックスを使用する前 - **deployment_name**: gpt-35-turbo-16k - **[response_format]**: {"type":"text"} -1. **[検索]** セクションで、次のパラメーター値を設定します。 +1. コンピューティング セッションが開始されるまで待ってから、**[検索]** セクションで、次のパラメーター値を設定します。 - **mlindex_content**:*空のフィールドを選択して [生成] ペインを開きます* - **index_type**:登録済みのインデックス @@ -217,7 +220,7 @@ RAG ベースのプロンプト フローでインデックスを使用する前 これでインデックス付きデータを使用する作業フローが作成されたので、それをサービスとしてデプロイし、Copilot アプリケーションで使用することができます。 -> **注**:リージョンとデータセンターの負荷によっては、デプロイに時間がかかる場合があります。 時間があまりない場合は、遠慮なくデプロイ中に以下のチャレンジ セクションに進んだり、デプロイのテストをスキップしたりしてください。 +> **注**: リージョンとデータセンターの負荷によっては、デプロイに時間がかかる場合や、デプロイを操作するときにエラーがスローされる場合があります。 時間があまりない場合は、遠慮なくデプロイ中に以下のチャレンジ セクションに進んだり、デプロイのテストをスキップしたりしてください。 1. ツールバー上で **[デプロイ]** を選択します。 1. 次の設定でデプロイを作成します。 diff --git a/Instructions/05-Finetune-model.md b/Instructions/05-Finetune-model.md index 8e55c7b..928d14b 100644 --- a/Instructions/05-Finetune-model.md +++ b/Instructions/05-Finetune-model.md @@ -5,9 +5,13 @@ lab: # Azure AI Studio でのチャット入力候補用に言語モデルを微調整する -この演習では、カスタム Copilot のシナリオに使用する、Azure AI Studio での言語モデルを微調整します。 +言語モデルを特定の方法で動作させる場合は、プロンプト エンジニアリングを使用して目的の動作を定義できます。 目的の動作の一貫性を向上させる場合は、モデルを微調整し、プロンプト エンジニアリングのアプローチと比較して、ニーズに最も適した方法を評価することができます。 -この演習には約 **45** 分かかります。 +この演習では、カスタム チャット アプリケーション シナリオで使用する言語モデルを、Azure AI Studio で微調整します。 微調整したモデルと基本モデルを比較して、微調整したモデルの方がニーズに適しているかどうかを評価します。 + +あなたは旅行代理店で働いていて、休暇の計画を立てるのに役立つチャット アプリケーションを開発しているとします。 目標は、目的地やアクティビティを提案するシンプルで有益なチャットを作成することです。 このチャットはどのデータ ソースにも接続されないため、顧客との信頼を確保するために、ホテル、フライト、レストランの個別のおすすめを提供する必要は**ありません**。 + +この演習には約 **60** 分かかります。 ## Azure AI Studio の中で AI ハブとプロジェクトを作成する @@ -18,27 +22,26 @@ lab: 1. **[新しいプロジェクトの作成]** ウィザードで、次の設定を使ってプロジェクトを作成します。 - **プロジェクト名**:"プロジェクトの一意の名前"** - **ハブ**:次の設定で新しいハブを作成します。** - - **ハブ名**:*一意の名前* - - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" - - **[リソース グループ]**: "新しいリソース グループ"** - - **[場所]**: *以下のいずれかのリージョンから**ランダム**に選択する*\* - - 米国東部 2 - - 米国中北部 - - スウェーデン中部 - - スイス北部 - - **Azure AI サービスまたは Azure OpenAI への接続**:*新しい接続を作成する* + - **ハブ名**:*一意の名前* + - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" + - **[リソース グループ]**: "新しいリソース グループ"** + - **場所**: **[米国東部 2]**、**[米国中北部]**、**[スウェーデン中部]**、**[スイス西部]** のいずれかのリージョンを選択します\* + - **Azure AI サービスまたは Azure OpenAI の接続**: (新機能) *選択したハブ名が自動入力されます* - **Azure AI 検索への接続**:接続をスキップする - > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/en-us/azure/ai-studio/concepts/fine-tuning-overview#azure-openai-models)を参照してください + > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 場所ヘルパーに一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 [モデルの微調整のリージョン](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models?tabs=python-secure%2Cglobal-standard%2Cstandard-chat-completions#fine-tuning-models)をご確認ください。 1. 構成を確認して、プロジェクトを作成します。 1. プロジェクトが作成されるまで待ちます。 ## GPT-3.5 モデルを微調整する -モデルを微調整する前に、データセットが必要です。 +モデルの微調整には時間がかかるので、まず微調整ジョブを開始します。 モデルを微調整する前に、データセットが必要です。 + +1. トレーニング データセットを JSONL ファイルでローカルに保存します: [https://raw.githubusercontent.com/MicrosoftLearning/mslearn-ai-studio/main/data/travel-finetune.jsonl](https://raw.githubusercontent.com/MicrosoftLearning/mslearn-ai-studio/refs/heads/main/data/travel-finetune-hotel.jsonl) + + > **注**: デバイスにおいて、デフォルトでファイルを .txt ファイルとして保存するようになっている場合があります。 すべてのファイルを選択し、.txt サフィックスを削除して、ファイルが JSONL として保存されるようにしてください。 -1. トレーニング データセットを JSONL ファイルでローカルに保存します: https://raw.githubusercontent.com/MicrosoftLearning/mslearn-ai-studio/main/data/travel-finetune.jsonl 1. 左側のメニューを使用して、**[ツール]** セクションの **[微調整]** ページに移動します。 1. 新しい微調整モデルを追加するボタンを選択し、`gpt-35-turbo` モデルを選択して、**[確認]** を選択します。 1. 次の構成を使用してモデルを**微調整**します。 @@ -46,19 +49,66 @@ lab: - **[モデル サフィックス]**: `ft-travel` - **[Azure OpenAI 接続]**: *ハブの作成時に作成された接続を選択します* - **[トレーニング データ]**: ファイルをアップロードします - - **[ファイルのアップロード]**: 前の手順でダウンロードした JSONL ファイルを選択します。 - > **ヒント**: 次の手順に進むのに、データ処理が完了するのを待つ必要はありません。 +
+ トラブルシューティングのヒント: アクセス許可エラー +

新しいプロンプト フローを作成するときにアクセス許可エラーが発生した場合は、次のトラブルシューティングを試してください。

+ +
+ - **[ファイルのアップロード]**: 前の手順でダウンロードした JSONL ファイルを選択します。 - **[検証データ]**: なし - **[タスク パラメーター]**: *既定の設定のままにします* 1. 微調整が開始されます。完了するまでに時間がかかる場合があります。 -> **注**: 微調整とデプロイには時間がかかる可能性があるため、次の手順を完了するのに、定期的に終了の確認をする必要がある場合があります。 +> **注**: 微調整とデプロイには時間がかかる可能性があるため、定期的に終了の確認をすることが必要な場合があります。 待っている間にもう次の手順に進むことができます。 + +## 基本モデルとのチャット + +微調整ジョブの完了を待っている間に、基本 GPT 3.5 モデルとチャットをして、そのパフォーマンスを評価しましょう。 + +1. 左側のメニューを使用して、**[コンポーネント]** セクションの **[デプロイ]** ページに移動します。 +1. **[+ モデルのデプロイ]** ボタンを選択し、**[基本モデルのデプロイ]** オプションを選択します。 +1. `gpt-35-turbo` モデルをデプロイします。これは、微調整時に使用したものと同じ種類のモデルです。 +1. デプロイが完了したら、**[プロジェクト プレイグラウンド]** セクションの **[チャット]** ページに移動します。 +1. セットアップ デプロイで、デプロイされた `gpt-35-model` 基本モデルを選択します。 +1. チャット ウィンドウで、「`What can you do?`」という質問を入力し、応答を確認します。 + 答えは非常に一般的です。 ユーザーに旅行する気を起こさせるチャット アプリケーションを作成しようとしていることを思い出してください。 +1. 次のプロンプトでシステム メッセージを更新します。 + ```md + You are an AI assistant that helps people plan their holidays. + ``` +1. **[保存]** を選択し、**[チャットのクリア]** を選択して、もう一度 `What can you do?` と質問します。アシスタントは、旅行のフライト、ホテル、レンタカーの予約をサポートできると答えたりするでしょう。 この動作を回避しようとします。 +1. 新しいプロンプトでシステム メッセージをもう一度更新します。 + + ```md + You are an AI travel assistant that helps people plan their trips. Your objective is to offer support for travel-related inquiries, such as visa requirements, weather forecasts, local attractions, and cultural norms. + You should not provide any hotel, flight, rental car or restaurant recommendations. + Ask engaging questions to help someone plan their trip and think about what they want to do on their holiday. + ``` + +1. **[保存]**、**[チャットのクリア]** の順に選択します。 +1. チャット アプリケーションのテストを続けて、取得したデータに基づかない情報が提供されていないことを確認します。 たとえば、次の質問をして、モデルの回答を調べます。 + + `Where in Rome should I stay?` + + `I'm mostly there for the food. Where should I stay to be within walking distance of affordable restaurants?` + + `Give me a list of five bed and breakfasts in Trastevere.` + + ホテルのおすすめ候補を提供しないように指示した場合でも、モデルでホテルの一覧が提供される場合があります。 これは、矛盾した動作の例です。 このような状況で、微調整したモデルのパフォーマンスが向上しているかどうかを調べてみましょう。 + +1. **[ツール]** の下にある **[微調整]** ページに移動して、微調整ジョブとその状態を確認します。 まだ実行中の場合は、デプロイされた基本モデルを引き続き手動で評価することができます。 完了している場合は、次のセクションに進むことができます。 ## 微調整されたモデルをデプロイする -微調整が正常に完了したら、モデルをデプロイできます。 +微調整が正常に完了したら、微調整したモデルをデプロイできます。 1. 微調整されたモデルを選択します。 **[メトリック]** タブを選択し、微調整されたメトリックを調べます。 1. 次の構成を使用して、微調整されたモデルをデプロイします。 @@ -66,14 +116,28 @@ lab: - **デプロイの種類**:Standard - **1 分あたりのトークン数のレート制限 (1,000 単位)**:5,000 - **コンテンツ フィルター**: 既定 +1. テストできるようになるには、デプロイが完了するまで待ちます。これには時間がかかる場合があります。 ## 微調整したモデルをテストする -微調整したモデルをデプロイしたので、デプロイした他のモデルをテストするのと同様に、このモデルをテストできます。 +微調整したモデルをデプロイしたので、デプロイされた基本モデルをテストしたときと同様に、このモデルをテストできます。 1. デプロイの準備ができたら、微調整したモデルに移動し、**[プレイグラウンドで開く]** を選択します。 -1. チャット ウィンドウで、旅行関連の質問に回答するようにモデルに指示するシステム メッセージを指定していない場合でも、注目すべきことをモデルが既に理解していることがわかる、クエリ `What can you do?` を入力します。 -1. `Where should I go on holiday for my 30th birthday?` のような別のクエリを試します。 +1. 以下の手順でシステム メッセージを更新します。 + + ```md + You are an AI travel assistant that helps people plan their trips. Your objective is to offer support for travel-related inquiries, such as visa requirements, weather forecasts, local attractions, and cultural norms. + You should not provide any hotel, flight, rental car or restaurant recommendations. + Ask engaging questions to help someone plan their trip and think about what they want to do on their holiday. + ``` + +1. 微調整したモデルをテストして、動作の一貫性が向上したかどうかを評価します。 たとえば、もう一度次の質問をして、モデルの回答を調べます。 + + `Where in Rome should I stay?` + + `I'm mostly there for the food. Where should I stay to be within walking distance of affordable restaurants?` + + `Give me a list of five bed and breakfasts in Trastevere.` ## クリーンアップ diff --git a/Instructions/06-Explore-content-filters.md b/Instructions/06-Explore-content-filters.md index 953dd0e..98c92f1 100644 --- a/Instructions/06-Explore-content-filters.md +++ b/Instructions/06-Explore-content-filters.md @@ -20,22 +20,12 @@ Azure AI Studio には、不快感を与える可能性があるプロンプト 1. [管理] セクションで、[すべてのリソース] を選択し、**[+ 新しいハブ]** を選択します。 次の設定を使用して新しいハブを作成します。 - **ハブ名**:*一意の名前* - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" - - **[リソース グループ]**: "一意の名前で新しいリソース グループを作成するか、既存のものを選びます"** - - **[場所]**: *以下のいずれかのリージョンから**ランダム**に選択する*\* - - オーストラリア東部 - - カナダ東部 - - 米国東部 - - 米国東部 2 - - フランス中部 - - 東日本 - - 米国中北部 - - スウェーデン中部 - - スイス北部 - - 英国南部 - - **Azure AI サービスまたは Azure OpenAI への接続**:新しい AI サービスの作成を選択するか既存のものを使用する + - **[リソース グループ]**: "新しいリソース グループ"** + - **場所**: **[選択に関するヘルプ]** を選択し、次に [場所ヘルパー] ウィンドウで **gpt-35-turbo** を選択し、推奨されるリージョンを選択します\* + - **Azure AI サービスまたは Azure OpenAI への接続**:*新しい接続を作成する* - **Azure AI 検索への接続**:接続をスキップする - > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、テナントを他のユーザーと共有するシナリオで、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 + > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 場所ヘルパーに一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#gpt-35-turbo-model-availability)を参照してください 1. **[作成]** を選択します 最初のハブの作成は、完了するまで数分かかる場合があります。 ハブの作成中、次の AI リソースも作成されます。 - AI サービス @@ -68,14 +58,14 @@ Azure AI ハブは、1 つ以上の "プロジェクト" を定義できる共 1. Azure AI Studio で、次の設定で新しいデプロイを作成します。 - **モデル**: gpt-35-turbo + - **デプロイ名**:"モデル デプロイの一意の名前"** - **デプロイの種類**:Standard - - **Azure OpenAI リソースに接続済み**:*Azure OpenAI 接続* - - **モデル バージョン**: 既定値に自動更新 - - **デプロイの名前**: *任意の一意の名前* - - **詳細オプション** - - **コンテンツ フィルター**: 既定 - - **1 分あたりのトークン数のレート制限**:5,000 - + - **モデルのバージョン**: *Select the default version (既定のバージョンの選択)* + - **AI リソース**: *以前に作成したリソースを選択します* + - **1 分あたりのトークン数のレート制限 (1,000 単位)**:5,000 + - **コンテンツ フィルター**: DefaultV2 + - **動的クォータを有効にする**: 無効 + > **注**:各 Azure AI Studio モデルは、機能とパフォーマンスの異なるバランスに合わせて最適化されています。 この演習では、**GPT 3.5 Turbo** モデルを使用します。これには、自然言語生成とチャットのシナリオに対する高度な能力があります。 ## コンテンツ フィルターを確認する diff --git a/Instructions/07-Evaluate-prompt-flow.md b/Instructions/07-Evaluate-prompt-flow.md index d3941d9..2a5657d 100644 --- a/Instructions/07-Evaluate-prompt-flow.md +++ b/Instructions/07-Evaluate-prompt-flow.md @@ -20,7 +20,7 @@ lab: - **[サブスクリプション]**:"*ご自身の Azure サブスクリプション*" - **[リソース グループ]**: "新しいリソース グループ"** - **場所**: **[選択に関するヘルプ]** を選択し、次に [場所ヘルパー] ウィンドウで **gpt-35-turbo** を選択し、推奨されるリージョンを選択します\* - - **Azure AI サービスまたは Azure OpenAI への接続**:*新しい接続を作成する* + - **Azure AI サービスまたは Azure OpenAI に接続**: (新機能) *選択したハブ名が自動入力されます* - **Azure AI 検索への接続**:接続をスキップする > \* Azure OpenAI リソースは、リージョンのクォータによってテナント レベルで制限されます。 場所ヘルパーに一覧表示されているリージョンには、この演習で使用されるモデル タイプの既定のクォータが含まれています。 リージョンをランダムに選択すると、1 つのリージョンがクォータ制限に達するリスクが軽減されます。 演習の後半でクォータ制限に達した場合は、別のリージョンに別のリソースを作成する必要が生じる可能性があります。 詳しくは、[リージョンごとのモデルの可用性](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#gpt-35-turbo-model-availability)を参照してください @@ -33,7 +33,7 @@ lab: プロンプト フロー内で言語モデルを使用するには、まずモデルを展開する必要があります。 Azure AI Studio を使うと、フローで使用できる OpenAI モデルをデプロイできます。 1. 左側のナビゲーション ウィンドウの **[コンポーネント]** で、**[デプロイ]** ページを選びます。 -1. 次の設定で **gpt-35-turbo** モデルの新しいデプロイを作成します。 +1. **デプロイ モデル** ウィザードで **[カスタマイズ]** を選択して、以下の設定で **gpt-35-turbo** モデルの新しいデプロイを作成します。 - **デプロイ名**:"モデル デプロイの一意の名前"** - **デプロイの種類**:Standard - **モデルのバージョン**: *Select the default version (既定のバージョンの選択)* @@ -42,7 +42,7 @@ lab: - **コンテンツ フィルター**: DefaultV2 - **動的クォータを有効にする**: 無効 1. モデルが展開されるまで待ちます。 展開の準備ができたら、**[プレイグラウンドで開く]** を選択します。 -1. **システム メッセージ**を次のように変更します。 +1. **[モデルの指示とコンテキストを指定する]** テキスト ボックスで、内容を以下のように変更します。 ``` **Objective**: Assist users with travel-related inquiries, offering tips, advice, and recommendations as a knowledgeable travel agent. @@ -128,14 +128,17 @@ lab: - **[評価の対象は?]**: データセット - **[評価名]**:*一意の名前を入力* - - **[どのようなシナリオを評価していますか?]**:コンテキストを含まない質問と回答 - **[次へ]** を選択します - **[評価するデータを選択する]**:データセットの追加 - JSONL ファイル (https://raw.githubusercontent.com/MicrosoftLearning/mslearn-ai-studio/main/data/travel-qa.jsonl) をダウンロードし、UI にアップロードします。 + - **[次へ]** を選択します - **[メトリックの選択]**:コヒーレンス、流暢性 - **[接続]**:AI サービス接続** - **[デプロイ名/モデル]**:展開した GPT-3.5 モデル** -1. **[次へ]** を選択してデータを確認し、新しい評価を送信します。 + - **[クエリ]**: データ ソースとして **question** を選択 + - **[応答]**: データ ソースとして **answer** を選択 + +1. **[次へ]** を選択してデータを確認し、新しい評価を **[送信]** します。 1. 評価が完了するまで待ちます。更新が必要になる場合があります。 1. つい先ほど作成した評価の実行を選択します。 1. **[メトリック ダッシュボード]** と **[詳細なメトリックの結果]** を確認します。