Gemini 系列人工智慧 (AI) 模型可處理各種類型的輸入資料,包括文字、圖片和音訊。由於這些模型可處理多種資料類型或模式,因此 Gemini 模型稱為多模態模型,或稱為具有多模態功能。
本頁面提供使用 Gemini API 提示媒體檔案的指南和最佳做法。如要瞭解如何使用 Gemini Files API 上傳媒體檔案,並將這些檔案納入提示中,請參閱 Vision、音訊和文件處理指南。
使用含有提示的媒體檔案
在提示中使用各種類型的資料,可讓您更靈活地運用 Gemini API 處理工作。舉例來說,您可以傳送美味餐點的相片給模型,並要求模型撰寫有關該餐點的短篇網誌。
提示 | 回應 |
根據這張圖片撰寫簡短且引人入勝的網誌文章。應包含圖片中餐點的說明,並談論我準備餐點的過程。 ![]() |
準備餐點是節省時間和金錢的好方法,也可以幫助您吃得更健康。這道菜餚是健康美味的絕佳例子,而且可以輕鬆事先準備。 這道餐點包含糙米、烤蔬菜和照燒雞肉。 糙米是健康的複合碳水化合物,可持續提供能量。烤蔬菜是攝取每日維生素和礦物質的絕佳選擇,而照燒雞肉則是美味又富含蛋白質的選擇。 這道菜餚也非常容易準備。只要煮糙米、烤蔬菜,然後烹煮照燒雞即可。所有食材都煮熟後,請將其分裝到餐點準備容器中,並存放在冰箱中。這樣一來,你就能在忙碌的早晨拿起容器,出門上班了! 如果你想吃健康又美味的餐點,而且可以提前準備,這道菜色會是絕佳選擇。它富含營養和美味,一定能讓你吃得飽足又滿意。 祝你準備出美味健康的餐點! |
使用媒體提示的策略
如果您無法順利從使用媒體檔案的提示中取得所需的輸出內容,可以採用一些策略來取得所需的結果。以下各節將提供設計方法和疑難排解提示,協助您改善使用多模態輸入的提示。
您可以遵循下列最佳做法,改善多模態提示:
-
提示設計基礎知識
- 指示明確:請撰寫清楚明確的指示,盡量避免誤解。
- 在提示中加入幾個範例:使用幾個實際的少量示例,說明您要達成的目標。
- 逐步拆解:將複雜任務拆分為可控的子目標,引導模型完成整個程序。
- 指定輸出格式:在提示中要求輸出格式,例如 Markdown、JSON、HTML 等。
- 針對單張圖片提示,請先放入圖片:雖然 Gemini 可處理任何順序的圖片和文字輸入內容,但如果提示包含單張圖片,將圖片放在文字提示前方,可能會獲得更好的成效。
-
多模態提示疑難排解
- 如果模型未從圖片的相關部分繪製資訊:提供提示,說明您希望提示從圖片的哪個部分繪製資訊。
- 如果模型輸出內容太過一般 (未針對圖片進行調整): 在提示開始時,請先要求模型描述圖片,再提供任務指示,或是要求模型參照圖片中的內容。
提示設計基礎
本節將進一步說明上一節列出的最佳做法。
注意:以下 Gemini 範例的模型結果可能會因執行次數而異。
提供明確的操作說明
清楚且詳細的提示最能獲得成功。如果您有特定的輸出內容,建議您在提示中加入該要求,確保您能取得所需的輸出內容。
有時,提示的意圖對撰寫者來說可能很清楚,但實際上並未明確指定。如要自訂模型行為,請考量提示可能遭到 (誤) 解讀的方式,並確保您提供的指示明確具體。請記得盡量避免誤解
對於這張機場看板的圖片,如果要求模型「描述這張圖片」,系統會產生一般說明。如果您需要模型從圖片中剖析時間和城市,可以直接在提示中加入這項要求。
提示 | 模型回應 |
---|---|
![]() 描述這張圖片。 |
圖片顯示機場的航班抵達與起飛時刻資訊看板。 |
更新提示 | 改善回應 |
---|---|
![]() 將圖片中顯示的機場航班時刻表中的時間和城市解析為清單。 |
新增幾個範例
Gemini 模型可接受多個輸入內容,並將這些內容做為範例,瞭解您想要的輸出內容。新增這些範例有助於模型找出模式,並將指定圖像和回應之間的關係套用至新範例。這也稱為「少量樣本」學習。
在下方範例中,初始輸出內容以句子形式書寫,並包含國家/地區 (巴西)。假設您想要以其他格式或風格輸出內容,且只需要城市,而非國家/地區。在提示訊息中加入少量示例,有助於引導模型以您想要的方式回應。
提示 | 模型回應 |
---|---|
![]() 判斷地標所在的城市。 |
地標是巴西里約熱內盧的救世基督像。 |
更新提示 | 改善回應 |
---|---|
判斷地標所在的城市。 ![]() |
city: 羅馬,landmark: 羅馬競技場。 |
![]() |
city: 北京, landmark: 紫禁城 |
![]() |
城市:里約熱內盧,地標:救世基督像 |
逐步細分
對於需要視覺理解和推理能力的複雜工作,建議將工作細分為較小的步驟,以便更容易完成。或者,您也可以直接在提示中要求模型「逐一思考」,這麼做也能有效解決問題。
提示 | 模型回應 |
---|---|
![]() 衛生紙何時會用完? |
很快地,你只剩下 3 卷衛生紙巾了。 |
更新提示 | 改善回應 |
---|---|
![]()
|
|
數學題或其他類型的文字題,都是讓模型一步步思考的好題型。
提示 | 回應 |
---|---|
![]()
這個序列的第 4 項為何? |
-135 |
模型的回應不正確。改善這項問題的方法之一,是讓模型在回答提示前先剖析問題。
提示 | 回應 |
---|---|
![]()
請先剖析圖片中的公式。 接著根據公式回答「這個數列的第 4 項是什麼?」 |
按一下即可展開結果$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
$$ b(4) = b(4-1) * (-3) $$ $$ b(4) = b(3) * (-3) $$ $$ b(3) = b(3-1) * (-3) $$ $$ b(3) = b(2) * (-3) $$ $$ b(2) = b(2-1) * (-3) $$ $$ b(2) = b(1) * (-3) $$ $$ b(2) = 15 * (-3) $$ $$ b(2) = -45 $$ $$ b(3) = b(2) * (-3) $$ $$ b(3) = -45 * (-3) $$ $$ b(3) = 135 $$ $$ 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 格式提供的成分、料理類型、是否為素食 |
|
針對單一圖像提示,請先放入圖片
雖然 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。
後續步驟
- 請嘗試使用 Google AI Studio 編寫自己的多模態提示。
- 如需更多提示設計指南,請參閱「提示策略」頁面。