Prompt Lab
IBM watsonx.ai の Prompt Lab を使用して、さまざまな基盤モデルを試したり、サンプルのプロンプトを調べたり、最良のプロンプトを保存したり共有したりすることができます。
はじめに Prompt LabCopy link to section
watsonx.ai に登録済みで、サンドボックスプロジェクトをお持ちの場合は、すべての要件が満たされ、 Prompt Labを使用する準備が整っています。
Prompt Lab をご利用いただくには、以下の要件を満たす必要があります
- プロジェクトが必要だ。
- プロジェクトには、関連するwatsonx.aiRuntime サービスインスタンスが必要です。 そうでない場合は、 Prompt Labを開いた際に、サービスの関連付けを促すメッセージが表示される場合があります。
- 必要な権限
- プロンプトを実行するには、プロジェクトで管理者または編集者のロールを持っている必要があります。
Prompt Labを使用して、推論用に配備された基盤モデルに送信する効果的なプロンプトを設計します。 Prompt Labは、新しい基盤モデルを作成するために使用するものではありません。
このビデオは、このドキュメントのコンセプトとタスクを学ぶための視覚的な方法を提供します。
プロンプトの作成と実行Copy link to section
新しいプロンプトを作成して実行するには、以下の手順を実行する:
watsonx.aiのホームページからプロジェクトを選択し、「New asset (新規アセット)」 > 「Chat and build prompts with foundation models (基礎モデルでチャットとプロンプトを作成)」のタイルをクリックします。
オプション:フリーフォームなど、別の編集モードを選んで作業する。
基盤モデルを選択してください。
ヒント:利用可能なすべてのファンデーションモデルを表示するには、適用されている検索フィルタを削除します。オプション:モデルのパラメータを更新したり、プロンプト変数を追加する。
プロンプトを入力する。
送信アイコン
をクリックします。
StructuredまたはFreeformモードで、Generateをクリックする。
推論リクエストは、 停止アイコン
をクリックすることでいつでもキャンセルできます。
入力されたトークンは、使用されたトークンとしてカウントされる。 リクエストがキャンセルされる前にモデルが出力として生成したトークンもすべてカウントされる。
現在のプロジェクトでプロンプトを再利用したり、共同作業者と共有できるように作業を保存するには、作業をプロジェクトアセットとして保存します。 詳細については、プロンプトの保存を参照してください。
サンプルプロンプトを実行するには、以下の手順を実行する:
Prompt Labの サンプルプロンプトメニュー からサンプルプロンプトを選択します。
プロンプトがエディターで開かれ、適切なモデルが選択される。
生成」をクリックする。
プロンプト編集オプションCopy link to section
プロンプトエディターにプロンプトを入力する。 プロンプトエディターには以下の編集モードがある:
チャットモードCopy link to section
基盤モデルとチャットを行い、モデルが対話や質問応答のタスクをどのように処理するかを確かめることができます。
基盤モデル回答を求める問い合わせやリクエストを送信して、チャットを開始します。 または、クイック・スタート・サンプルをクリックしてモデルに提出することもできます。 クイックスタート用のサンプル基盤モデルに送信されます。 別の基盤モデルを使用したい場合は、独自のプロンプトテキストを追加します。
会話の各ターンは、以前に交換された情報の上に成り立っている。
チャットを開始する前に、モデルの選択とパラメータ設定を確認し、調整してください。 長いダイアログのやり取りをサポートするために、Max tokensパラメータは高いデフォルト値に設定されている。 例えば、単語だらけの出力をモデルが生成するのを防ぐために、ストップシーケンスを追加したいかもしれない。
チャットテンプレートCopy link to section
システムプロンプトと呼ばれる事前に定義されたテキストは、会話の基本ルールを確立するために、チャットの開始時に含まれています。 テキストをレビューし、カスタマイズするには、 [システムプロンプトの編集] アイコン をクリックします。
いくつかの基礎モデルでは、プロンプトの指示やユーザー入力など、プロンプトの異なるセグメントを識別する特定のテンプレートを推奨している。 チャットモードでは、 基盤モデル推奨するフォーマットに適合するように、プロンプト入力の構文が調整されます。 「View full prompt text 」アイコン をクリックすると、 基盤モデルに送信されるプロンプトテキストの全文が表示されます。
事実に基づくプロンプトCopy link to section
基盤モデルが事実に基づく出力を返すようにするため、関連する情報を記載した文書をプロンプトに追加します。 「アップロード」 アイコン をクリックし 、「ドキュメントを追加」 を選択します。 詳しくは、文書や画像を使ったチャットをご覧ください。
また、サードパーティのベクターストアから関連データを追加することもできる。 文書グラウンディング アイコン をクリックし、ベクトルインデックスを選択します。 詳細については、 グラウンディング基盤モデルプロンプトにベクトル化されたドキュメントを追加する をご覧ください。
チャットモードで省略される機能Copy link to section
チャットモードでは以下の機能が省略されます:
チャットモードでは、トークンの使用カウントは表示されません。
チャット履歴は、新しいプロンプトを送信するたびに送信され、トークン全体のカウントに貢献することに注意してください。
トークン数はAPIを使って自分で確認することができる。 「プロンプトテキストの全文を表示」 アイコン
をクリックしてプロンプトテキストの全文を開き、コピーします。次に 、「テキストトークン化」方法を使用してトークンをカウントします。
チャットモードではプロンプト変数を定義できない。 そのため、保存されたチャットプロンプトテンプレートを管理することはできません。
Prompt Labのチャットモードを紹介するこのビデオをご覧ください。
このビデオは、このドキュメントのコンセプトとタスクを学ぶための視覚的な方法を提供します。
構造化モードCopy link to section
構造化モードは、新規ユーザーが効果的なプロンプトを作成できるように設計されています。 フィールドからのテキストはテンプレート形式でモデルに送られる。
プロンプトの一部を適切なフィールドに追加します:
命令:ユースケースに適していれば、インストラクションを追加してください。 指示とは、次の記事を要約せよ、というような命令文である。
例:入力とそれに対応する出力を含む1つ以上の例のペアを追加します。 入力と出力のペアをプロンプトの中でいくつか例示することを、スモールショット・プロンプトと呼ぶ。
入力または出力に特定の接頭辞が必要な場合は、デフォルトのラベル「Input:」または「Output:」を使用したいラベルに置き換えることができる。 例えば、 基盤モデルがプロンプトチューニングされた際にトレーニングデータで使用されたカスタムラベルをデフォルトのラベルに置き換えることができます。
例のラベルと例のテキストの間にスペースが追加される。
入力をテストします:Tryエリアにプロンプトの最終入力を入力します。
フリーフォーム・モードCopy link to section
プレーンテキストでプロンプトを追加する。 プロンプトのテキストは、入力したとおりにモデルに送信されます。
フリーフォーム・モードは、構造化された入力を提出したい場合や、プロンプトの書式がわかっている場合に適している。
モデルとプロンプトの設定オプションCopy link to section
プロンプトを表示するモデルを指定する必要があり、オプションで生成結果を制御するパラメーターを設定できる。
モデルの選択Copy link to section
Prompt Labでは、 watsonx.aiがサポートするモデルのいずれかにプロンプトを提出することができます。 ドロップダウンリストから最近使用したモデルを選択することができます。 または、View all foundation modelsをクリックすると、サポートされているすべてのモデルを表示し、タスクでフィルタリングし、モデルに関するハイレベルな情報を読むことができます。
Tuning Studio を使用して基盤モデルをチューニングし、チューニングしたモデルをデプロイした場合、または基盤モデルをデプロイした場合は、 Prompt Lab からチューニングしたモデルまたはカスタムモデルをプロンプト表示することもできます。
モデル パラメータCopy link to section
プロンプトに応答してモデルがどのように出力を生成するかを制御するには、デコーディング・パラメーターと停止基準を指定します。 詳細については、プロンプトのモデルパラメータを参照。
プロンプト変数Copy link to section
プロンプトに柔軟性を持たせるために、プロンプト変数を定義することができます。 プロンプト変数とは、作成時にプロンプトの静的テキストに含め、実行時に動的にテキストに置き換えるプレースホルダーキーワードのことである。 詳細については、再利用可能なプロンプトのビルドを参照してください。
完全なプロンプト・テキストを表示Copy link to section
以下の状況では、 基盤モデルに送信されるプロンプトのテキスト全体を確認する必要があるかもしれません
- プロンプト変数が使用されている場合、解決された変数の値をコンテキストで確認する。
- チャットモードでは、異なるファンデーションモデルに推奨されるプロンプトフォーマットが自動的に適用されます。
- 構造化モードでは、プロンプトの一部を別のフィールドに追加します。
AIガードレールCopy link to section
AIガードレールスイッチャーを オンに設定すると、入力プロンプトテキストとモデルによって生成される出力から有害言語が自動的に削除されます。 具体的には、入力または出力に有害な言葉が含まれる文章は、潜在的に有害なテキストが削除されたというメッセージに置き換えられる。
詳しくは、有害コンテンツの削除をご覧ください。
プロンプトコードCopy link to section
プロンプトをプログラムで実行したい場合は、プロンプトのコードを表示してコピーするか、Pythonライブラリを使用する。
コードの表示Copy link to section
コードの表示アイコン をクリックすると、 cURL コマンドが表示されます。このコマンドは、 Prompt Lab の外から呼び出すことができ、現在のプロンプトとパラメータを選択したモデルに送信し、生成された応答を取得します。
コマンドには、IBM CloudIAM トークンのプレースホルダーが含まれています。 アクセストークンの生成については、 IBM CloudIAM トークンの生成を参照してください。
Prompt Labの代替となるプログラムCopy link to section
Prompt Labのグラフィカルインターフェースは、プロンプトを試行錯誤するのに最適な場所です。 ただし、 PythonまたはREST APIを使用して watsonx.aiで 基盤モデルをプログラムで呼び出すこともできます。 詳しくは、「生成的AIソリューションのコーディング」を参照。
使用可能なプロンプトCopy link to section
サイドパネルでは、サンプルプロンプト、セッション履歴、保存したプロンプトにアクセスできます。
サンプルCopy link to section
プロンプトのサンプル集は Prompt Labでご覧いただけます。 サンプルは、分類、抽出、コンテンツ生成、質問応答、要約など、さまざまなタスクに効果的なプロンプトテキストとモデルパラメータを示している。
サンプルをクリックすると,プロンプトのテキストがエディタにロードされ,適切なモデルが選択され,最適なパラメータが自動的に設定される.
履歴Copy link to section
プロンプトのテキスト、モデルの選択、およびパラメータをさまざまに試すと、プロンプトを送信するたびにその詳細がセッション履歴に記録されます。 以前のプロンプトをロードするには、履歴のエントリをクリックし、[Restore] をクリックします。
保存Copy link to section
保存したプロンプトテンプレート]メニューから、現在のプロジェクトに保存したプロンプトをプロンプトテンプレートアセットとして読み込むことができます。
watsonx.governanceがプロビジョニングされている場合、プロンプトテンプレートに少なくとも1つのプロンプト変数が含まれていれば、モデル回答の有効性を評価できます。 詳細については、「プロジェクトでのプロンプトテンプレートの評価」を参照してください。
詳細情報Copy link to section
これらのチュートリアルを試してみよう:
その他のプロンプト・ラボのビデオをご覧ください:
親トピック 生成的AIソリューションの開発