プロンプト設計の基礎
具体的な指示を使用する
明確で詳細なプロンプトを使用すると、最適な結果が得られます。特定の出力を想定している場合は、正しい出力を得られる可能性を高めるため、その要件をプロンプトに含めます。
プロンプトのインテントは、作成したユーザーからは明確であるように見えても、実際には仕様上あいまいになっている場合があります。モデルの動作をカスタマイズするには、プロンプトがどのように解釈されるかを考慮し、与えた指示が具体的で明確であることを確認してください。
下の空港の発着表示板の画像をプロンプトの一部として含めた場合、「この画像について説明する」ようにモデルにリクエストすると、漠然とした説明が生成される可能性があります。モデルによって画像から時刻と都市が抽出されることを必要とする場合は、そのリクエストをプロンプトに直接追加します。
プロンプト | モデルのレスポンス |
---|---|
![]() この画像を説明してください。 |
この画像は、空港の発着表示板を示しています。 |
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]() この画像にある空港の発着表示板の時刻と都市を抽出してリストにしてください。 |
|
例を追加する
このモデルは、さまざまな入力を受け入れます。入力を例として使用すると、ユーザーが必要とする出力を理解できるようになります。こうした例を追加することでモデルがパターンを識別できるようになり、指定された画像と回答の関係を新しい例に適用できます。これは「少数ショット」学習と呼ばれます。
次の例では、最初の出力は文章形式で記述されており、国(ブラジル)も含まれています。出力が国ではなく都市のみである場合は、少数ショットの例をプロンプトに追加することで、その形式でレスポンスを生成するようにモデルを誘導できます。
プロンプト | モデルのレスポンス |
---|---|
![]() ランドマークに一致する都市を特定してください。 |
このランドマークは、ブラジルのリオデジャネイロにあるコルコバードのキリスト像です。 |
更新されたプロンプト | 改善されたレスポンス |
---|---|
ランドマークに一致する都市を特定してください。 ![]() |
都市: ローマ、ランドマーク: コロッセオ。 |
![]() |
都市: 北京、ランドマーク: 紫禁城 |
![]() |
都市: リオデジャネイロ、ランドマーク: コルコバードのキリスト像 |
複雑なタスクを小さなタスクに分割する
視覚的な理解と推論の両方を必要とするような複雑なタスクの場合は、タスクをより小さく、より簡単なステップに分割するか、プロンプトで順を追って考えるようモデルに直接指示します。
プロンプト | モデルのレスポンス |
---|---|
![]() トイレット ペーパーは、いつ使い切りますか? |
間もなくです。あと 3 ロールしかありません。 |
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]()
|
|
数学の問題や他の種類の言葉の問題も、小さなタスクに分解できます。
プロンプト | レスポンス |
---|---|
![]() 数列の第 4 項は何ですか? |
-135 |
モデルからのレスポンスが正しくありません。プロンプトに答える前に問題を解析するようモデルに指示してみます。
プロンプト | レスポンス |
---|---|
![]() まず、画像内の数式を解析します。 次に、数式に基づいて、「数列の第 4 項は何ですか?」に答えます。 |
クリックして結果を拡大$$b(n) = b(n-1) * (-3)$$ $$b(1) = 15$$
したがって、数列の第 4 項は -405 です。 |
レスポンスをさらに合理化するには、プロンプトを順を追って考えるようモデルに指示します。
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]() 数列の第 4 項は何ですか?順を追って考えてください。 |
最初の項は 15 です。 第 2 項は、b(1) × (-3) = 15 × (-3) = -45 です。 第 3 項は、b(2) × (-3) = -45 × (-3) = 135 です。 第 4 項は、b(3) × (-3) = 135 × (-3) = -405 です。 |
出力形式を指定する
特定の形式が必要な場合は、その形式を出力に使用するようにモデルに指示できます。
プロンプト | モデルのレスポンス |
---|---|
![]() この画像の表を解析してマークダウン形式にしてください。 |
| Subject | Status | Time | Start date | Due on | |-----------|-------------|---------|------------|------------| | Math | Done | 1.5 hrs | 11/29/2023 | 12/1/2023 | | Geography | Done | 30 min | 12/2/2023 | 12/4/2023 | | Physics | In progress | 2 hrs | 12/3/2023 | 12/5/2023 | | Biology | Not started | 6 hrs | 11/2/2016 | 12/6/2023 | |
プロンプト | モデルのレスポンス |
---|---|
![]() 次の属性をすべてリストアップしてください。 材料、料理の種類、ベジタリアンかどうか、JSON 形式 |
|
マルチモーダル プロンプトのトラブルシューティング
プロンプトのトラブルシューティングでは、プロンプトの言語の改善、プロンプトの焦点の絞り込み、パラメータのチューニングなどを行うことができます。こうしたさまざまなアプローチは、特に問題の根本原因を特定した後に、結果の改善につながる可能性があります。
画像内の関連する部分をフォーカスする
回答の精度を高めるには、画像のどの部分がプロンプトに最も関連しているかを指定します。
プロンプト | モデルのレスポンス |
---|---|
![]() このおむつは赤ちゃん 1 人に対して何日使えますか? |
おむつは、なくなるまで 198 日使用できます。 |
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]() この紙おむつは、どのくらいで使い切りますか? 箱に記載されている体重から子どもの年齢を割り出し、箱に入っているおむつの総数を使用してください。 合計数を、子どもが 1 日あたりに使用するおむつの数で割ってください。 |
箱には 198 枚のおむつが入っています。箱には、おむつが 22~37 ポンドの子ども用であると書かれています。 この体重の範囲にある子どもの平均年齢は 1~2 歳であると考えられます。 通常、2 歳の子どもは 1 日あたり 6 枚のおむつを使用するため、おむつは約 33 日間(198÷6)使用できます。 |
モデルの回答を入力に合わせて調整する
プロンプトでタスクを実行する前に、画像について説明するようモデルに指示します。
プロンプト | モデルのレスポンス |
---|---|
![]() ![]() ![]() ![]() これらの画像の共通点は何ですか? |
4 枚の画像はいずれも風景写真のサンプルです。 |
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]() ![]() ![]() ![]() まず、それぞれの画像の内容を詳しく説明してください。これらの画像の共通点は何ですか? |
1 つ目の画像にはスーツケースに荷物を詰めている人物が写っています。2 つ目の画像にはショッピング モールの何もない廊下が写っています。3 つ目の画像にはトイレット ペーパーが写っています。4 つ目の画像には暗く荒れ狂う海が写っています。 これらの画像の共通点は、どれもリミナル スペースの例であるということです。リミナル スペースとは、他の 2 つの場所や状況の間にある場所や状況のことです。多くの場合、不確実性やあいまいさによって特徴付けられます。 1 つ目の画像は、自宅にいるときと旅行中の人物を写しています。2 つ目の画像は 2 つの店舗の間にある廊下が写されています。3 つ目の画像はトイレット ペーパーの画像で、バスルームの可能性もあります。トイレは、プライベートなスペースと共用スペースの間の過渡的なスペースです。そこは、外の世界に出入りするための準備をする場所です。 4 つ目の画像は、凪の状態と嵐の状態の間にある海を示しています。 リミナル スペースは刺激的でもあり、不安でもあります。新たな始まりの場所にもなれば、終わりの場所にもなります。内省の場所にもなれば、行動の場所にもなります。 |
画像の内容に言及するように明示的にモデルに指示できます。
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]() ![]() ![]() ![]() これらの画像の共通点は何ですか?レスポンスでは、画像の内容を参考にしてください。 |
画像はすべて旅行に関連しています。1 つ目の画像にはスーツケースに荷物を詰めている人物が写っています。2 つ目の画像にはショッピング モールの何もない廊下が写っています。3 つ目の画像には積み重ねたトイレット ペーパーが写っています。4 つ目の画像には暗く荒れ狂う海が写っています。 これらの画像はすべて、人々が旅行するときに必要なもの、または使用するものであるため、すべて旅行に関連しています。1 つ目の画像には、スーツケースに荷物を詰めている人が写っています。これは、旅行に出かける人が行うことです。2 つ目の画像には、ショッピング モール内の何もない廊下が写っています。ショッピング モールは、旅行用品を購入するために訪れることが多い場所です。3 つ目の画像には、積み重ねたトイレット ペーパーが写っています。トイレット ペーパーは、人が旅行中によく使用するものです。4 つ目の画像には、暗い荒れ狂う海が写っています。これは、人が旅行中によく遭遇する場面です。 |
同じ方法は、クリエイティブな出力を得る場合にも有効です。画像の特徴を含めるようにモデルに明示的に指示します。これにより、出力を改善できます。
プロンプト | モデルのレスポンス |
---|---|
![]() この画像について詩を書いてもらえますか? |
Little bunny, so soft and brown, Hopping through the field, up and down. Your ears so long, your tail so small, You're the cutest creature of them all. You nibble on the grass, so green and sweet, And hop away when you see me. But I'll always be your friend, Little bunny, until the very end. |
更新されたプロンプト | 改善されたレスポンス |
---|---|
![]() この画像について、叙述的で印象的な詩を書き、場所も含めてもらえますか? |
Little bunny on the green, Ears so long, so keen. What do you see out there, In the distance, where you stare? Is it the ocean blue, Sparkling in the sun's hue? Or the waves that crash and roar, A rhythm that you adore? Little bunny, tell me true, What captures your attention so? Is it the salty breeze, Or the seagulls' cries that please? Perhaps it's the vastness of it all, A world so big and small. A place where dreams can roam, And adventures can be sown. Little bunny, I wonder what you dream, As you sit on the grass, so serene. Do you yearn to explore the deep, Or stay on land, where you can leap? Whatever it may be, little bunny, Keep that spark of wonder burning brightly. For in your dreams and aspirations, Lies a world waiting for your creation. |
プロンプトが失敗した原因を特定する
プロンプトが失敗する原因としては、モデルが画像をまったく理解していなかったことや、その後の推論手順が正しく実行されなかったことが考えられます。このような理由を見極めるには、画像に何が写っているかを説明するようモデルに指示します。
この例では、お茶と組み合わせるものとしては意外に感じるおやつ(ポップコーンなど)をモデルが回答する場合に、まずトラブルシューティングを行い、画像にお茶が含まれていることをモデルが正しく認識しているかどうかを判断します。
プロンプト | トラブルシューティング用のプロンプト |
---|---|
![]() 1 分で作ることができるおやつで、これに合うものは何ですか? |
![]() この画像にあるものを説明してください。 |
モデルに推論方法を説明するよう指示することで、推論が破綻した部分を絞り込むことができます。
プロンプト | トラブルシューティング用のプロンプト |
---|---|
![]() 1 分で作ることができるおやつで、これに合うものは何ですか? |
![]() 1 分で作ることができるおやつで、これに合うものは何ですか?理由を説明してください。 |
サンプリング パラメータをチューニングする
各リクエストでは、マルチモーダル プロンプトだけでなく、サンプリング パラメータのセットもモデルに送信します。モデルは、パラメータ値に応じて異なる結果を生成できます。さまざまなパラメータを試して、タスクに最適な値を取得します。最もよく調整されるパラメータは次のとおりです。
Temperature
Temperature は、Top-P と Top-K が適用されたときに回答を生成するサンプリングに使用されます。Temperature は、トークン選択のランダム性の度合いを制御します。Temperature が低いほど、自由度や創造性を抑えた決定的な回答が求められるプロンプトに適しています。一方、Temperature が高いと、より多様で創造的な結果を導くことができます。Temperature 0 は決定的であり、最も高い確率の回答が選択される可能性が非常に高いことを意味します。
ほとんどのユースケースでは、Temperature 0.4 から始めることをおすすめします。よりクリエイティブな結果が必要な場合は、Temperature の値を上げてください。明確なハルシネーションが見られる場合は、Temperature の値を下げてください。
Top-P
Top-P は、モデルが出力用にトークンを選択する方法を変更します。トークンは、確率の合計が Top-P 値に等しくなるまで、確率の高いものから低いものへと選択されます。たとえば、トークン A、B、C の確率が 0.6、0.3、0.1 で、Top-P 値が 0.9 だとします。このとき、モデルは次のトークンとして A か B を、Temperature を使って選択し、C は候補から外します。
ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。トップ P のデフォルト値は 1.0 です。
次のステップ
- Vertex AI Studio または Vertex AI API を使用したクイックスタート チュートリアルを試す。
- Vertex AI で Gemini API の使用を開始する。Vertex AI の Gemini API のクイックスタートをご覧ください。