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