檔案提示策略

Gemini 系列人工智慧 (AI) 模型可處理各種類型的輸入資料,包括文字、圖片和音訊。由於這些模型可處理多種資料類型或模式,因此 Gemini 模型稱為多模態模型,或稱為具有多模態功能

本頁面提供使用 Gemini API 提示媒體檔案的指南和最佳做法。如要瞭解如何使用 Gemini Files API 上傳媒體檔案,並將這些檔案納入提示中,請參閱 Vision音訊文件處理指南。

使用含有提示的媒體檔案

在提示中使用各種類型的資料,可讓您更靈活地運用 Gemini API 處理工作。舉例來說,您可以傳送美味餐點的相片給模型,並要求模型撰寫有關該餐點的短篇網誌。

提示 回應

根據這張圖片撰寫簡短且引人入勝的網誌文章。應包含圖片中餐點的說明,並談論我準備餐點的過程。


Cookie

準備餐點是節省時間和金錢的好方法,也可以幫助您吃得更健康。這道菜餚是健康美味的絕佳例子,而且可以輕鬆事先準備。

這道餐點包含糙米、烤蔬菜和照燒雞肉。 糙米是健康的複合碳水化合物,可持續提供能量。烤蔬菜是攝取每日維生素和礦物質的絕佳選擇,而照燒雞肉則是美味又富含蛋白質的選擇。

這道菜餚也非常容易準備。只要煮糙米、烤蔬菜,然後烹煮照燒雞即可。所有食材都煮熟後,請將其分裝到餐點準備容器中,並存放在冰箱中。這樣一來,你就能在忙碌的早晨拿起容器,出門上班了!

如果你想吃健康又美味的餐點,而且可以提前準備,這道菜色會是絕佳選擇。它富含營養和美味,一定能讓你吃得飽足又滿意。

祝你準備出美味健康的餐點!

使用媒體提示的策略

如果您無法順利從使用媒體檔案的提示中取得所需的輸出內容,可以採用一些策略來取得所需的結果。以下各節將提供設計方法和疑難排解提示,協助您改善使用多模態輸入的提示。

您可以遵循下列最佳做法,改善多模態提示:

  • 提示設計基礎知識

    • 指示明確:請撰寫清楚明確的指示,盡量避免誤解。
    • 在提示中加入幾個範例:使用幾個實際的少量示例,說明您要達成的目標。
    • 逐步拆解:將複雜任務拆分為可控的子目標,引導模型完成整個程序。
    • 指定輸出格式:在提示中要求輸出格式,例如 Markdown、JSON、HTML 等。
    • 針對單張圖片提示,請先放入圖片:雖然 Gemini 可處理任何順序的圖片和文字輸入內容,但如果提示包含單張圖片,將圖片放在文字提示前方,可能會獲得更好的成效。
  • 多模態提示疑難排解

    • 如果模型未從圖片的相關部分繪製資訊:提供提示,說明您希望提示從圖片的哪個部分繪製資訊。
    • 如果模型輸出內容太過一般 (未針對圖片進行調整): 在提示開始時,請先要求模型描述圖片,再提供任務指示,或是要求模型參照圖片中的內容。

提示設計基礎

本節將進一步說明上一節列出的最佳做法。

注意:以下 Gemini 範例的模型結果可能會因執行次數而異。

提供明確的操作說明

清楚且詳細的提示最能獲得成功。如果您有特定的輸出內容,建議您在提示中加入該要求,確保您能取得所需的輸出內容。

有時,提示的意圖對撰寫者來說可能很清楚,但實際上並未明確指定。如要自訂模型行為,請考量提示可能遭到 (誤) 解讀的方式,並確保您提供的指示明確具體。請記得盡量避免誤解

對於這張機場看板的圖片,如果要求模型「描述這張圖片」,系統會產生一般說明。如果您需要模型從圖片中剖析時間和城市,可以直接在提示中加入這項要求。

提示 模型回應

描述這張圖片。

圖片顯示機場的航班抵達與起飛時刻資訊看板。

更新提示 改善回應
行程時間表

將圖片中顯示的機場航班時刻表中的時間和城市解析為清單。

  • 10:50 莫斯科時間
  • 11:05 愛丁堡
  • 11:05 倫敦
  • 11:10 布加勒斯特
  • 11:30 基輔
  • 11:35 都柏林
  • 11:45 東密德蘭
  • 12:15 Sofia
  • 12:30 (倫敦時間)
  • 12:30 新堡
  • 12:40 聖彼得堡
  • 12:40 倫敦時間
  • 12:45 曼徹斯特
  • 新增幾個範例

    Gemini 模型可接受多個輸入內容,並將這些內容做為範例,瞭解您想要的輸出內容。新增這些範例有助於模型找出模式,並將指定圖像和回應之間的關係套用至新範例。這也稱為「少量樣本」學習。

    在下方範例中,初始輸出內容以句子形式書寫,並包含國家/地區 (巴西)。假設您想要以其他格式或風格輸出內容,且只需要城市,而非國家/地區。在提示訊息中加入少量示例,有助於引導模型以您想要的方式回應。

    提示 模型回應
    行程時間表

    判斷地標所在的城市。

    地標是巴西里約熱內盧的救世基督像。

    更新提示 改善回應

    判斷地標所在的城市。

    羅馬競技場

    city: 羅馬,landmark: 羅馬競技場。

    紫禁城

    city: 北京, landmark: 紫禁城

    forbidden-city

    城市:里約熱內盧,地標:救世基督像

    逐步細分

    對於需要視覺理解和推理能力的複雜工作,建議將工作細分為較小的步驟,以便更容易完成。或者,您也可以直接在提示中要求模型「逐一思考」,這麼做也能有效解決問題。

    提示 模型回應

    衛生紙何時會用完?

    很快地,你只剩下 3 卷衛生紙巾了。

    更新提示 改善回應

      1. 首先,請數一數這張圖片中有幾卷衛生紙。
      2. 接著,決定一般人每天會用多少衛生紙巾。
      3. 計算這些衛生紙巾卷的使用期限。

      1. 這張圖片中有 3 卷衛生紙巾。
      2. 一般人每天會使用約 20 張衛生紙。
      3. 如果每卷衛生棉條含有 200 片,那麼每卷衛生棉條可使用約 10 天。因此,3 卷衛生棉條可使用約一個月。

    數學題或其他類型的文字題,都是讓模型一步步思考的好題型。

    提示 回應

    這個序列的第 4 項為何?

    -135

    模型的回應不正確。改善這項問題的方法之一,是讓模型在回答提示前先剖析問題。

    提示 回應

    請先剖析圖片中的公式。

    接著根據公式回答「這個數列的第 4 項是什麼?」

    按一下即可展開結果

    $$ b(n) = b(n-1) * (-3) $$

    $$ b(1) = 15 $$

    1. 將 n = 4 替換到公式中:
    2. $$ b(4) = b(4-1) * (-3) $$

      $$ b(4) = b(3) * (-3) $$

    3. 我們不知道 b(3) 的值,因此將 n = 3 替換為公式:
    4. $$ b(3) = b(3-1) * (-3) $$

      $$ b(3) = b(2) * (-3) $$

    5. 我們不知道 b(2) 的值,因此將 n = 2 替換為公式:
    6. $$ b(2) = b(2-1) * (-3) $$

      $$ b(2) = b(1) * (-3) $$

    7. 我們知道 b(1) 的值為 15,因此將其替換至公式中:
    8. $$ b(2) = 15 * (-3) $$

      $$ b(2) = -45 $$

    9. 我們現在知道 b(2) 的值,因此將其代入 b(3) 的公式:
    10. $$ b(3) = b(2) * (-3) $$

      $$ b(3) = -45 * (-3) $$

      $$ b(3) = 135 $$

    11. 我們現在知道 b(3) 的值,因此將其代入 b(4) 的公式:
    12. $$ b(4) = b(3) * (-3) $$

      $$ b(4) = 135 * (-3) $$

      $$ b(4) = -405 $$

    因此,序列中的第 4 項為 -405。

    這個模型回應是正確的,現在您可以要求模型逐步思考,讓回應更精簡。

    更新提示 改善回應

    這個序列的第 4 項為何?請按部就班思考。

    第一個項為 15。

    第二項為 b(1) * (-3) = 15 * (-3) = -45。

    第三個項是 b(2) * (-3) = -45 * (-3) = 135。

    第四項為 b(3) * (-3) = 135 * (-3) = -405。

    嘗試指定輸出格式

    常見的問題是模型輸出內容必須採用特定格式 (例如 Markdown、JSON、HTML),尤其是當模型輸出內容需要由下游工作流程攝入時。您可以嘗試在提示中指示模型以該格式產生輸出內容。以下提供兩個範例:

    提示 模型回應

    將圖片中的表格剖析成 Markdown 格式

    | 主旨 | 狀態 | 時間 | 開始日期 | 截止日 |

    | ------- | ------ | ---- | --------- | ------ |

    | 數學 | 完成 | 1.5 小時 | 2023 年 11 月 29 日 | 2023 年 12 月 1 日 |

    | 地理位置 | 完成 | 30 分鐘 | 2023 年 12 月 2 日 | 2023 年 12 月 4 日 |

    | 物理 | 進行中 | 2 小時 | 2023 年 12 月 3 日 | 2023 年 12 月 5 日 |

    | 生物學 | 未開始 | 6 小時 | 2016 年 11 月 2 日 | 2023 年 12 月 6 日 |

    提示 模型回應

    請提供下列所有屬性的清單:

    以 JSON 格式提供的成分、料理類型、是否為素食

    ```json```

    {

    "ingredients": [

    "rice",

    "shrimp",

    "clams",

    "mussels",

    "peas",

    "tomatoes",

    "onions",

    "garlic",

    "olive oil",

    "paprika",

    "salt",

    "pepper"

    ],

    "type of cuisine": "Spanish",

    "vegetarian": false

    針對單一圖像提示,請先放入圖片

    雖然 Gemini 可以在提示中以任意順序解讀圖片和文字,但在文字提示前放置單一圖片可能會獲得更好的結果。在以下範例中,您會發現每個提示的圖片都會先顯示,然後才顯示文字。

    排解多模態提示問題

    如果您沒有收到有用的回覆,可能需要對提示進行疑難排解。以下提供幾種可嘗試的策略。

    如果模型未從圖片的相關部分繪製資訊

    如要取得更具體的回覆,您可以指出要讓提示從圖片的哪些部分擷取資訊,以便提供回覆。

    提示 模型回應

    這些尿布可讓嬰兒使用多久?

    尿布可使用 198 天。

    更新提示 改善回應

    這些尿布可以使用多久?

    根據盒子上的體重判斷寶寶的年齡,並使用盒子中的尿布總數。

    將總數除以孩子每天使用的尿布數量。

    盒子內含 198 片尿布。盒子上指出,這些尿布適用於體重 22 到 37 磅的兒童。

    這個體重範圍內的平均兒童年齡大約介於 1 到 2 歲。

    2 歲兒童通常每天使用 6 片尿布,因此尿布可使用約 33 天 (198/6)。

    如果模型輸出結果過於一般化,且未充分針對圖片輸入內容進行調整

    為了協助模型針對圖片調整回應內容,請嘗試在執行推論工作前,先要求模型描述圖片。

    提示 模型回應

    這些圖片有什麼共通之處?

    這四張圖片都是風景攝影的範例。

    更新提示 改善回應

    首先,請詳細說明每張圖片的內容。這些圖片有什麼共通之處?

    第一張圖片顯示某人正在打包行李箱。第二張圖片顯示購物中心內空無一人的走廊。第三張圖片顯示一卷衛生紙。第四張圖片顯示黑暗暴風的海景。

    這些圖片的共同點是,它們都是邊緣空間的例子。臨界空間是指介於兩個地點或情況之間的地方或情況。這類夢境通常會讓人感到不確定或模糊。

    第一張圖片顯示該名使用者在家中和旅途中的樣貌。第二張圖片顯示兩間商店之間的走道。第三張圖片是衛生紙,可代表浴室。浴室是私人空間和公共空間之間的過渡空間。這是我們準備進入或離開外部世界的場所。

    第四張圖片顯示海面在平靜和暴風之間的狀態。

    臨界空間既令人興奮,也令人不安。它們可以是新的開始,也可以是結束的地方。你可以在其中沉思,也可以採取行動。

    你也可以嘗試明確要求模型參照圖片中的物件。

    更新提示 改善回應

    這些圖片有什麼共通之處?請在回覆中提及圖片中的內容。

    所有圖片都與旅遊相關。第一張圖片顯示某人正在打包行李箱,第二張圖片顯示購物中心空無一人的走廊,第三張圖片顯示一疊衛生紙,第四張圖片則顯示黑暗暴風的海面。

    這些圖片都與旅遊相關,因為這些都是旅客在旅遊時需要或使用的物品。第一張圖片顯示某人正在打包行李箱,這是人們出遊時會做的事。第二張圖片顯示購物中心空蕩的走廊,這是人們經常前往購買旅遊用品的地點。第三張圖片顯示一疊衛生紙,這是人們在旅行時經常會用到的東西。第四張圖片顯示黑暗暴風的海景,這是旅客經常遇到的情況。

    同樣的訣竅也適用於圖片的廣告素材輸出內容。在以下兔子範例中,明確要求模型納入圖片中的各個層面,可以改善輸出結果。

    提示 模型回應

    你可以為這張圖片寫首詩嗎?

    小兔子,棕色又柔軟,
    在田野間跳來跳去。
    你的耳朵好長,尾巴好小,
    你是所有生物中最可愛的。

    你啃食青草,綠油油又香甜,
    看到我時就跳開。
    但我永遠是你的好友,
    小兔子,直到最後一刻。

    更新提示 改善回應

    能否為我寫一首描述這張圖片的詩,並加入地點?

    綠地上的小兔子,
    耳朵好長,好敏銳。
    你看到什麼?
    你在遠方看到什麼?

    是海洋藍嗎?
    在陽光的色調中閃閃發光?
    或者是洶湧澎湃的海浪聲,
    你喜歡這種節奏嗎?

    小兔子,請說實話,
    你為什麼如此專注?
    是鹹鹹的海風,
    還是海鷗的叫聲讓你感到開心?

    也許是因為它太廣大,
    這個世界既大又小。
    夢想可以翱翔,
    冒險可以展開。

    小兔子,我想知道你在做什麼夢
    你坐在草地上,顯得十分平靜。
    你想探索深海嗎?
    還是想留在陸地上,以便跳躍?

    無論是什麼,小兔子,
    請保持好奇心,讓它熊熊燃燒。
    因為在你的夢想和抱負中,
    有一個世界等著你創造。

    排解提示失敗的部分

    很難判斷提示失敗的原因,是因為模型一開始就「不瞭解圖片」,還是因為模型雖然瞭解圖片,但之後未執行正確的推理步驟

    如要區分這些原因,請要求模型說明圖片中的內容。

    在下方範例中,如果模型回應的零食與茶搭配起來似乎不合理 (例如爆米花),您可以先排除問題,判斷模型是否正確辨識圖片中含有茶。

    提示 提示疑難排解

    有什麼零食可以在 1 分鐘內完成,並搭配這道料理享用?

    描述圖片中的內容。

    另一種策略是要求模型說明原因。這有助於您縮小推理過程中出錯的部分 (如果有)。

    提示 提示疑難排解

    有什麼零食可以在 1 分鐘內完成,並搭配這道料理享用?

    有什麼零食可以在 1 分鐘內完成,並搭配這道料理享用?請說明原因。

    調整取樣參數

    在每項要求中,您不僅會向模型傳送多模態提示,還會傳送一組取樣參數。模型生成的結果會因參數值而異。嘗試不同的參數,取得最適合工作目標的值。最常調整的參數如下:

    • 溫度
    • top-P
    • 前 K 個

    溫度

    在套用 Top-P 和 Top-K 時,系統會在產生回應期間使用溫度進行取樣。Temperature 會決定選取詞元的隨機程度。如果您想藉由提示生成更具確定性、較不具開放性和創意性的回覆,建議調低溫度參數。另一方面,如果溫度參數較高,則可能產生較多元或有創意的結果。Temperature 為「0」代表具有確定性,即模型一律會選取可能性最高的回覆。

    以大部分用途來說,可以先將 temperature 設為「0.4」,如果需要更多創意結果,請嘗試提高溫度。如果發現明顯的幻覺,請嘗試降低溫度。

    Top-K

    「Top-K」會影響模型選取輸出符記的方式。如果「前 K 個」設為「1」,代表下一個所選詞元是模型詞彙表的所有詞元中可能性最高者 (也稱為「貪婪解碼」)。如果「前 K 個」設為「3」,則代表模型會依據溫度參數,從可能性最高的 3 個詞元中選取下一個詞元。

    在每個符記選取步驟中,模型會對機率最高的「Top-K」符記取樣,接著進一步根據「Top-P」篩選詞元,最後依 temperature 選出最終詞元。

    如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。「前 K 個」的預設值為 32。

    Top-P

    「Top-P」會影響模型選取輸出符記的方式。模型會按照機率最高 (請見「Top-K」) 到最低的順序選取符記,直到所選符記的機率總和等於 Top-P 值。舉例來說,假設詞元 A、B 和 C 的可能性分別為 0.6、0.3 和 0.1,而 Top-P 值為 0.9,模型會依據溫度參數選擇 A 或 B 做為下一個詞元,並排除 C 做為候選詞元。

    如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。「Top-P」的預設值為 1.0。

    後續步驟