Share via


提示工程技術

本指南將逐步引導您完成提示設計和提示工程中的一些進階技術。 如果您不熟悉提示工程,建議您從提示工程指南簡介開始。

雖然提示工程的原則可以跨許多不同的模型類型一般化,但某些模型需要特殊的提示結構。 針對 Azure OpenAI GPT 模型,目前有兩個不同的 API 可供提示工程使用:

  • Chat Completion API。
  • Completion API。

每個 API 都需要以不同的格式輸入資料,進而影響整體提示設計。 Chat Completion API 支援 GPT-35-Turbo 和 GPT-4 模型。 這些模型的設計目的是要以儲存在字典陣列內的特定類似聊天文字記錄 中格式化的輸入。

Completion API 支援較舊的 GPT-3 模型,而且具有更彈性的輸入需求,因為它會採用沒有特定格式規則的文字字串。

本指南中的技術將教導您策略,以使用大型語言模型 (LLM) 來增加所產生回應的正確性和基礎。 不過,請務必記住,即使有效地使用提示工程,您仍然需要驗證模型產生的回應。 只是因為特別設計提示對於特定案例而言效果良好,不一定表示它會更廣泛地一般化至特定使用案例。 了解 LLM 的限制,就如同了解如何運用其優點一樣重要。

本指南不會深入探討聊天完成訊息結構背後的機制。 如果您不熟悉以程序設計方式與聊天完成模型互動,建議您先閱讀聊天完成 API 上的操作指南。

注意

指南本節內容中的所有範例都針對基底 GPT-4 模型進行測試。 如果您要以其他語言閱讀本文的當地語系化版本,這些回應代表英文結果的當地語系化翻譯。 若要根據您用來提示模型的語言深入了解潛在限制,請參閱我們的負責任 AI 透明度資訊

系統訊息

系統會在提示的開頭包含系統訊息,並用來以內容、指示或其他與您使用案例相關的資訊來準備模型。 您可以使用系統訊息來描述助理的特質、定義模型應該和不應該回答的內容,以及定義模型回應的格式。

下列範例顯示範例系統訊息和產生的模型回應:

系統訊息 User 小幫手
你是一個 AI 助手,可以幫助人們找到資訊,並以押韻的方式回應。 如果使用者問您一個您不知道答案的問題,請直接說出來。 您可以告訴我什麼,John Doe? 您好 John,我很抱歉,
但目前沒有您的資訊。
我只是一個在大腦中具備知識的 AI,
但若沒有您的輸入,我就無法解釋。
因此,請告訴我更多關於您搜尋的內容,
而我會盡最大努力為您提供獨特的答案。

系統訊息的一些其他範例如下:

  • 「助理是由 OpenAI 定型的大型語言模型。」
  • 「助理是智慧型聊天機器人,其設計目的是協助使用者回答 Azure OpenAI 服務的技術問題。 只使用下列內容回答問題,如果您不確定答案,您可以說「我不知道」。
  • 「助理是一個智慧型聊天機器人,其設計目的是協助使用者回答其稅賦相關問題。」
  • 「您是用來從文字中擷取實體的助理。 使用者會貼上文字字串,而您將以 JSON 物件形式從文字中擷取的實體回應。 以下是輸出格式的範例:
{  
   "name": "",
   "company": "",
   "phone_number": ""
}

要瞭解的重要細節是,即使您指示系統訊息中的模型回答 ,我不知道 何時不確定答案,這不保證會遵守要求。 設計良好的系統訊息可能會增加特定結果的可能性,但仍可能會產生不正確的回應,這與系統訊息中指令的意圖相矛盾。

小樣本學習

將語言模型調整為新工作的常見方式是使用小樣本學習。 在小樣本學習中,系統會提供一組訓練樣本作為提示的一部分,以提供模型的其他內容。

使用 Chat Completion API 時,使用者與助理之間的一系列訊息 (以新的提示格式撰寫) ,可作為小樣本學習的範例。 這些範例可用來定型模型,以特定方式回應、模擬特定行為,以及植入常見問題的解答。

系統訊息 小樣本範例
助理是一種智慧型聊天機器人,其設計目的是協助使用者回答其稅賦相關問題。
指示
- 僅回答與稅賦相關的問題。
- 如果您不確定答案,您可以說「我不知道」或「我不確定」,並建議使用者前往 IRS 網站以取得詳細資訊。
使用者 -「何時需要報稅?」
助理 - “在 2023 年,您必須在 4 月 18 日前提交稅金。 日期晚於一般的 4 月 15 日期限,因為 2023 年 4 月 15 日是週六。 如需詳細資訊,請參閱 https://www.irs.gov/filing/individuals/when-to-file

使用者 -「如何檢查我的退款狀態?」
助理 - 「您可以瀏覽 https://www.irs.gov/refunds 來檢查稅務退款的狀態」

上表說明基本提示結構,但如需確切提示格式的詳細說明,您必須參閱 聊天完成指南

非聊天案例

雖然 Chat Completion API 已最佳化以使用多回合交談,但也可用於非聊天案例。 例如,針對情感分析案例,您可以使用下列提示:

系統訊息 User 小幫手
您是用來分析語音數據情感的助理。 使用者會貼上一串文字,您將會回應說話者的回應評量。 評分範圍為 1-10 (10 分為最高)。 說明為何已提供此評等。 您好,感謝您致電 Contoso 藥局,我今天與您交談,我理解您的沮喪。Mary,您能告訴我您實際上試著在找什麼嗎?好的,當然很高興為您檢查一下。我在這裡看到您服用普通形式的立普妥,是嗎?好吧,所以我看到您的醫生在 2021 年停止開這些藥了。實際上,好吧,是的,我很樂意幫您檢查,因為有時系統會有差異,而且沒有回報,所以讓我看一下這裡,我看到您的醫生在 2012 年到 21 年給您開了這些藥,好吧,是的,根據醫生辦公室提供的最新記錄,您現在服用的是不同的藥物二甲雙胍。您想讓我們為您開一張 500 毫克的處方嗎?不客氣,Mary,如果我們今天還能為你做什麼,請告訴我們。 情緒評等:8
此文字中的說話者在解決客戶的問題時似乎有禮、樂於助人,而且很有耐心。 他們花點時間檢查資訊、提供清楚的解釋,並提供協助。 不過,評等不是 10,因為交談的某些部分仍有不確定性提示,這可能不會傳達給客戶完全的信心。

從清楚指示開始

順序資訊會出現在提示中。 這是因為 GPT 樣式模型是以特定方式建置,以定義其處理輸入的方式。 我們的研究建議,在分享其他內容資訊或範例之前,先告訴模型您想要在提示開始時執行的工作,有助於產生高品質的輸出。

注意

雖然仍建議遵循這項技術,但與舊版模型版本 (GPT-3 和先前的) 相反,我們的測試顯示無論是否使用這項技術,使用 ChatGPT 和 GPT-4 模型的模型回應都相同。 在下列範例的案例中,我們看到新增語句「數個來源 … 在提示的開頭或結尾處的火山爆發,不會在最終模型回應中造成任何變更。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 您的工作是確認下列內容片段集合中的特定引號是否支援「數個來源提及另一次大型火山爆發的機會」語句。
---
內容片段
[1] 專家說,西雅圖發生超級大地震的可能性為 14%
西雅圖 - 美國地質調查局估計,未來 50 年西雅圖發生 9 級地震的可能性為 14%。 “不幸的是,我們無法...

[2] 地震專家公佈了西雅圖「真正的大地震」的最新展望
華盛頓大學的一位地球物理學家表示:「我們認為,在未來 50 年內,約有 14% 的可能性會發生另一次約 9 級的地震...
---
語句「數個來源提及另一次大型火山爆發的機會」是否直接隱含或由內容片段陳述?
否,語句不會由代碼段直接隱含或陳述。 這些片段提到未來50年發生西雅圖的「巨型誇克」和「9級卡卡迪亞地震」的機會,但沒有提及另一次大規模爆發的機會。

在結尾重複指示

模型可能會容易受到近因偏差的影響,在此內容中表示提示結尾的資訊可能會對輸出產生更大的影響,而不是提示開頭的資訊。 因此,值得嘗試在提示結束時重複指示,並評估對所產生回應的影響。

對輸出進行質化

這是指在提示結尾包含幾個單字或片語,以取得遵循所需格式的模型回應。 例如,使用 這類 “Here’s a bulleted list of key points:\n- ” 提示可協助確定輸出格式為項目符號點清單。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 盡可能以最少的文字回答。 John Smith 已與 Lucy Smith 結婚。 他們有五個小孩,他擔任 Microsoft 的軟體工程師。 我應該執行哪些搜尋查詢來進行事實檢查? ## 其中一個可能的搜尋查詢是: 「John Smith 結婚 Lucy Smith 五位小孩軟體工程師 Microsoft」

在上述提示中,文字 有一個可能的搜尋查詢是: 質化模型以產生單一輸出。 如果沒有此提示,模型會產生數個搜尋查詢作為輸出。

新增清除語法

針對您的提示使用清楚的語法,包括標點符號、標題和區段標記,有助於傳達意圖,而且通常會讓輸出更容易剖析。

在下列範例中,分隔符號 (在這種情況下 ---) 已新增至不同資訊來源或步驟。 這可讓您使用 --- 作為停止條件來進行產生。 此外,區段標題或特殊變數會以大寫顯示,以區分它們。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 您將閱讀段落,然後向搜尋引擎發出查詢,以便進行事實檢查。 也說明查詢。
---
段落
John Smith 已與 Lucy Smith 結婚。 他們有五個小孩,他擔任 Microsoft 的軟體工程師。 我應該執行哪些搜尋查詢來進行事實檢查?
---
查詢
1.「John Smith Microsoft」- 檢查 John Smith 是否確實在 Microsoft 任職。
2.「John Smith Lucy Smith」- 檢查 John Smith 是否已與 Lucy Smith 結婚。
3.「John Smith 小孩」- 檢查 John Smith 是否有五個小孩。

如果您不確定要使用的語法,請考慮使用 Markdown 或 XML。 模型已在 XML 和 Markdown 中大量 Web 內容上定型,這可能會提供更好的結果。

將工作細分

大型語言模型 (LLM) 在工作細分為較小的步驟時,通常效能較佳。 例如,在稍早參考的搜尋查詢提示中,可以重新建構提示,以便先指示模型擷取相關事實,然後指示產生可用來驗證這些事實的搜尋查詢。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 您將閱讀段落,然後向搜尋引擎發出查詢,以便進行事實檢查。
---
段落
John Smith 已與 Lucy Smith 結婚。 他們有五個小孩,他擔任 Microsoft 的軟體工程師。 我應該執行哪些搜尋查詢來進行事實檢查?
---
現在您將擷取事實宣告,併發出查詢以進行事實檢查。 發出查詢時,請使用函式 SEARCH("query")

事實宣告
1. 約翰·史密斯嫁給露西·史密斯
2. 他們有五個兒童
3. 他擔任 Microsoft 的軟體工程師

查詢
SEARCH("John Smith 結婚 Lucy Smith")
SEARCH("John Smith 家庭成員人數")
SEARCH("John Smith Microsoft 軟體工程師")

請注意,使用清楚的語法來區分區段並質化輸出。 在這個簡單的範例中,將工作從一到兩個步驟中斷並不十分戲劇性,但嘗試針對具有許多事實宣告的較大文字執行此動作時,中斷工作可能會產生顯著差異。

使用能供性

有時候,我們可以讓模型使用能供性 ,而不是依賴它自己的參數來取得資訊和答案。 例如,搜尋可能是一種能供性,可協助減輕產生答案的負擔,以及取得最新的資訊。

使用能供性的方法之一,就是在模型產生能供性呼叫之後停止產生,然後將結果貼回提示。 以下是執行上述 SEARCH 呼叫之後,後續呼叫的範例。 請注意,我們如何將搜尋結果貼到提示中,並取代先前的 SEARCH 呼叫。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 您將閱讀段落、擷取事實宣告,然後使用搜尋引擎結果進行事實檢查
---
段落
John Smith 已與 Lucy Smith 結婚。 他們有五個小孩,他擔任 Microsoft 的軟體工程師。 我應該執行哪些搜尋查詢來進行事實檢查?
---
事實宣告
- John Smith 已與 Lucy Smith 結婚
- John 和 Lucy 有五個小孩
- John 擔任 Microsoft 的軟體工程師
---
以下是發出來研究上述宣告的各種搜尋查詢:
搜尋查詢
- John Smith 已與 Lucy Smith 結婚
- John Smith 小孩數目
- John Smith 軟體工程師 Microsoft
---
以下是搜尋結果的內容片段:
內容片段:
[1] … John Smith 的結婚日期是 2012 年 9 月 25 日 …
[2] … John Smith 由他妻子 Lucy 的陪同去參加派對
[3]John 由他的兩個女兒和三個兒子的陪同去看足球賽
[4] … 在 Microsoft 工作 10 年之後,Smith 已建立自己的新創公司 Tailspin Toys
[5] John M 是鎮上的工匠,他已與 Fiona 結婚。 他們有一個名為 Lucy 的女兒
---
根據內容片段,對上述每個事實宣告進行事實檢查:
- John Smith 已與 Lucy Smith 結婚:已確認。 內容片段 [1] 和 [2] 兩者都提及 John Smith 的妻子為 Lucy。

- John 和 Lucy 有五個小孩:已確認。 內容片段 [3] 提及 John 由兩個女兒和三個兒子陪同。

- John 擔任 Microsoft 的軟體工程師:部分確認。 代碼段 [4] 提到 John 花了 10 年時間在 Microsoft,但它並沒有明確說明他目前在那裡工作。 可能需要進一步研究,以確認他目前的就業狀況。

思維鏈提示

這是細分工作技術的變化。 在此方法中,系統會指示模型回應逐步執行,並呈現涉及的所有步驟,而不是將工作分割成較小的步驟。 這麼做可降低結果不準確的可能性,並讓評估模型回應更容易。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 在雪梨舉行的奧運上,誰是獲得最多榮譽 (獎牌數最多)的個人運動員? 在回應中採取逐步方法、引述來源並提供理由,然後再以下列格式分享最終答案:答案為: <name> 步驟 1:判斷雪梨奧運的年份。 雪梨奧運於 2000 年舉辦。

步驟 2:尋找在 2000 年雪梨奧運中贏得多個獎牌的個人運動員清單。

根據奧運的官方網站,在 2000 年雪梨奧運中,有數位個人運動員贏得多個獎牌。 一些值得注意的姓名包括:
• Ian Thorpe (澳洲) - 3 金、2 銀、0 銅
• Pieter van den Hoogenband (荷蘭) - 2 金、0 銀、2 銅
• Lenny Krayzelburg (美國) - 3 金、0 銀、0 銅
• Inge de Bruijn (荷蘭) - 3 金、1 銀、0 銅

步驟 3:判斷具有最多獎牌的運動員。 在檢閱在 2000 年雪梨奧運中贏得多個獎牌的個人運動員清單之後,我們發現最多獎牌的運動員是澳洲的 Ian Thorpe,總共贏得 5 個獎牌 (3 金和 2 銀)。

因此,答案為:Ian Thorpe。

指定輸出結構

使用提示來指定輸出的結構,可能會對結果的性質和品質產生顯著的影響。 有時候系統訊息輸入為「只寫真實事實」或「不要捏造資訊」可能不是適當的緩和措施。 相反地,要求模型回應也包含引文有助於減少不正確回應的普遍程度。

如果您指示模型在製作語句時引用來源資料,這些語句更可能有依據。 要求引文會使得模型每次產生回應時必須發出兩個錯誤:第一個錯誤是杜撰回應,而第二個錯誤是不良的引文。 請注意,引文越接近其支援的文字,模型預期引文所需的距離越短,這表示內嵌引文比內容結尾的引文更能降低誤用內容產生的風險。

同樣地,如果您要求模型從段落擷取事實語句,它可能會擷取複合語句,例如 『X 正在執行 Y AND Z』(可能更難驗證)。 您可以藉由指定輸出結構,例如 (entity1、relationship、entity2) ,來避免此問題。

下列範例顯示引文的使用方式,以及引導模型回應以符合已定義的結構。

系統訊息 User 小幫手
您是 AI 助理,可協助人員尋找資訊 列出客戶支援專員在下列交談中呈現的不同行為。
---
您好,感謝您致電 Contoso 藥局,我今天與您交談,我理解您的沮喪。Mary,您能告訴我您實際上試著在找什麼嗎?好的,當然很高興為您檢查一下。我在這裡看到您服用普通形式的立普妥,是嗎?好吧,所以我看到您的醫生在 2021 年停止開這些藥了。實際上,好吧,是的,我很樂意幫您檢查,因為有時系統會有差異,而且沒有回報,所以讓我看一下這裡,我看到您的醫生在 2012 年到 21 年給您開了這些藥,好吧,是的,根據醫生辦公室提供的最新記錄,您現在服用的是不同的藥物二甲雙胍。您想讓我們為您開一張 500 毫克的處方嗎?不客氣,Mary,如果我們今天還能為你做什麼,請告訴我們。
---
客戶支援專員的回應如何?
使用格式 BEHAVIOR("原因"),分類並列出其各種行為,以及引用分類背後的原因
1. 問候語 BEHAVIOR("專員會以問候語開始交談,並詢問來電者的姓名")
2. 同理心 BEHAVIOR("專員認可 Mary 的挫折,並嘗試瞭解她的疑慮")
3. 細心 BEHAVIOR("專員會聆聽客戶的問題,並詢問更多詳細資料")
4. 主動 BEHAVIOR("專員主動為客戶檢查問題")
5.資訊 BEHAVIOR("專員提供有關客戶處方歷史記錄的相關資訊")
6. 徹底 BEHAVIOR("專員檢查系統中任何可能的差距,並提供完整的回應")
7. 確認 BEHAVIOR("專員會向客戶確認目前的藥物")
8.解決方案導向 BEHAVIOR("專員主動為客戶提供新的處方")
9.有禮貌的 BEHAVIOR("專員感謝客戶,並視需要提供進一步的協助")
系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 根據文字中看到的模式,將下列新聞標題叢集到主題類別。 也提及如何定義這些類別背後的原因。
輸出格式:
{
"TOPIC_NAME": "",
"HEADLINES": [],
"REASONING": ""
}

輸入新聞標題:
1.「使用 AR + ML 從書籍到簡報只需 10 秒」
2.「1993 年 32 歲的 Yann LeCun 展示世界第一個用於文字識別的卷積網路示範」
3.「套用至動畫繪製的一階運動模型」
4.「Robinhood 和其他仲介實際上封鎖了 $GME、$NOK、$BB、$AMC 的購買; 允許銷售」
5.「United Airlines 股價盤前交易下跌逾 5%」
輸出:

{
"ARTIFICIAL_INTELLIGENCE": {
"HEADLINES": [
"使用 AR + ML 從書籍到簡報只需 10 秒",
"1993 年 32 歲的 Yann LeCun 展示世界第一個用於文字識別的卷積網路示範",
"套用至動畫繪製的一階運動模型"
],
"REASONING": "這些標題與人工智慧、機器學習及其各種領域中的應用程式相關。"
},
"FINANCIAL_MARKETS": {
"HEADLINES": [
"Robinhood 和其他仲介實際上封鎖了 $GME、$NOK、$BB、$AMC 的購買; 允許銷售",
"United Airlines 股價盤前交易下跌逾 5%",
"比特幣在一年前的今天接近 $20,000 美元"
],
"REASONING": "這些標題與金融市場、股票、加密貨幣和交易平台相關。"
}
}

溫度和 Top_p 參數

變更溫度參數會變更模型的輸出。 溫度參數可以在 0 到 2 之間設定。 較高的值,例如 0.7 會使輸出更隨機,併產生更不同的回應,而較低的值,例如。 0.2,使輸出更加專注和具體。 使用較高的溫度可以產生虛構的故事。 若要產生法律文件,建議使用較低溫度。 Top_probability 是另一個參數,而且與溫度參數類似,因為它也會控制模型回應的隨機性,但會以不同的方式執行。 一般建議一次改變這兩個參數的其中一個,而不是兩個參數。

提供基礎內容

提供可靠答案的最有效方式之一是提供模型資料,以從 (基礎資料) 繪製其回應。 如果您的使用案例仰賴最新的可靠資訊,而且並非純粹是創意案例,強烈建議您提供基礎數據。 一般而言,您可以更接近您所需的答案最終形式,模型需要執行的工作越少,這表示發生錯誤的機會較少。 以下是提供 系統的最新部落格,說明在 Azure OpenAI 服務中啟動 GPT-4 的範例,並要求為其一些早期客戶命名。

系統訊息 User 小幫手
您是可協助人員尋找資訊的 AI 助理。 您將僅提供以下文字的解答,並以 100 個字以下的回應:
「在 Microsoft,我們不斷探索釋放創意、解除生產力及提升技能的新方法,讓更多人受益於使用 AI。 這可讓客戶 …

  藉此減少模型產生有害回應的可能性。1

以 100 個字或更少字回答。 盡可能使用項目符號清單。
Azure OpenAI 服務 GPT-4 模型的一些早期客戶是誰? 以下是 Azure OpenAI 服務 GPT-4 模型的一些早期客戶:
- Epic Healthcare:他們計畫使用 GPT-4 來協助醫生和護士花較少的時間進行資料輸入和調查。
- Coursera:他們搭配 GPT-4 使用 Azure OpenAI 服務,在其平臺上建立新的 AI 支援學習體驗。
- 可口可樂:他們使用 Azure OpenAI 來建置知識中樞,並計劃利用 GPT-4 的多式功能進行行銷、廣告、公關和客戶關係。
- 其他所有規模的公司都使用 Azure AI 來改善客戶體驗、摘要長格式內容、協助撰寫軟體,以及藉由預測正確的稅賦資料來降低風險。

1 來自 Azure OpenAI GPT-4 啟動部落格的文字。

下一步

注意

本指南本節中的所有範例都以英文測試 gpt-35-turbo-instruct 模型。 如果您要以其他語言閱讀本文的當地語系化版本,這些回應代表英文結果的當地語系化翻譯。 若要根據您用來提示模型的語言深入了解潛在限制,請參閱我們的負責任 AI 透明度資訊

從清楚指示開始

序列資訊會新增至提示中。 我們的研究建議,在分享其他內容資訊或範例之前,先告訴模型您想要在提示開始時執行的工作,有助於產生高品質的輸出。

在下列第一個範例中,指示的主要部分只會在結尾共用,而產生的完成不正確。

提示 Completion
Your task is to verify if a statement is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’
“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
Yes, the statement is directly implied by the snippets.

在下一個範例中,我們會提供我們想要檢查 (「數個來源提及另一次火山爆發的機會」) ,然後再提供片段內容。 這可讓從代碼段擷取的令牌表示法,針對我們正在檢查的語句量身打造。 現在產生的模型回應正確:

提示 Completion
Your task is to verify if the statement "Several sources mention a chance of another large eruption" is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’<br>“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
---
**Is the statement "Several sources mention a chance of another large eruption" directly implied or stated by the snippets?**
No, the statement is not directly implied or stated by the snippets. The snippets mention a chance of a "megaquake" and a "magnitude 9 Cascadia earthquake" hitting Seattle in the next 50 years, but do not mention a chance of another large eruption.

在結尾重複指示

模型可能會容易受到近因偏差的影響,表示提示結尾的資訊可能會對輸出產生更大的影響,而不是提示開頭的資訊。 因此,建議您在提示結束時重複指示,並評估對使用案例的影響。

我們在先前的範例中看到如何在提示開頭和結尾重複指令,導致取得精確的模型回應的可能性較高。

對輸出進行質化

這是指在提示結尾包含幾個單字或片語,以取得遵循所需格式的模型回應。 例如,使用 這類 “Here’s a bulleted list of key points:\n- ” 提示可協助確定輸出格式為項目符號點清單。

提示 Completion
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
##
One possible search query is:
"John Smith Microsoft software engineer"
Another possible search query is: "Lucy Smith married to John Smith"
A third possible search query is: "John Smith family size".

在上述提示中,文字「有一個可能的搜尋查詢是:」 質化模型以搜尋查詢的形式產生輸出。 這項技術可協助移除模型通常會新增的異常,例如「一個可能性是...」。

新增清除語法

針對您的提示使用清楚的語法,包括標點符號、標題和區段標記,有助於傳達意圖,而且通常會讓輸出更容易剖析。

在下列範例中,分隔符號 (在這種情況下 ---) 已新增至不同資訊來源或步驟。 這可讓您使用 --- 作為停止條件來進行產生。 此外,區段標題或特殊變數會以大寫顯示,以區分它們。

提示 Completion
You will read a paragraph, and then issue queries to a search engine in order to fact-check it. Also explain the queries.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
QUERIES
1. "John Smith Microsoft" - To check if John Smith is indeed employed at Microsoft.
2. "John Smith Lucy Smith" - To check if John Smith is married to Lucy Smith.
3. "John Smith children" - To check if John Smith has five children.

如果您不確定要使用何種語法,請考慮使用 Markdown 或 XML,因為大型語言模型已在 XML 或 Markdown 中定型許多網頁內容。

將工作細分

如果工作細分為較小的步驟,模型通常會執行得更好。 例如,在稍早參考的搜尋查詢提示中,可以重新建構提示,以便先指示模型擷取相關事實,然後指示產生可用來驗證這些事實的搜尋查詢。

提示 Completion
You will read a paragraph, and then issue queries to a search engine in order to fact-check it.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
Now you will extract factual claims, and issue queries to fact-check them. When issuing a query, use the function SEARCH("query")

FACTUAL CLAIMS`` | 1. 約翰·史密斯與露西·史密斯 <br>結婚 2 歲。 他們有五個孩子<br>3。 John 在 Microsoft 擔任軟體工程師

查詢
SEARCH(“John Smith 嫁給了露西史密斯”)<br>SEARCH(“John Smith 家庭大小”)<br>SEARCH(“John Smith Microsoft 軟體工程師”)'

請注意,使用清楚的語法來區分區段並質化輸出。 在這個簡單的範例中,將工作從一個步驟細分為兩個步驟並不明顯,但在嘗試對具有許多事實宣告的較長文字執行此動作時,將工作細分可能會造成顯著的差異。

使用能供性

有時候,我們可以讓模型使用能供性 ,而不是依賴它自己的參數來取得資訊和答案。 例如,搜尋可能是一種能供性,可協助減輕產生答案的負擔,以及取得最新的資訊。

使用能供性的方法之一,就是在模型產生能供性呼叫之後停止產生,然後將結果貼回提示。 以下是執行上述 SEARCH 呼叫之後,後續呼叫的範例。 請注意,我們如何將搜尋結果貼到提示中,並取代先前的 SEARCH 呼叫。

提示 Completion
You will read a paragraph, extract factual claims, and then use search engine results to fact-check them
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
FACTUAL CLAIMS
- John Smith is married to Lucy Smith
- John and Lucy have five kids
- John works as a software engineer at Microsoft
---
Here are various search queries issued to research the claims above:
SEARCH QUERIES
- John Smith married to Lucy Smith
- John Smith number of children
- John Smith software engineer Microsoft
---
Here are snippets of the search results:<br>SNIPPETS:
[1] … John Smith’s wedding was on September 25, 2012 …
[2] … John Smith was accompanied by his wife Lucy to a party
[3]John was accompanied to the soccer game by his two daughters and three sons
[4] … After spending 10 years at Microsoft, Smith founded his own startup, Tailspin Toys
5] John M is the town smith, and he married Fiona. They have a daughter named Lucy
---
Given the snippets, fact check each of the factual claims above:
- John Smith is married to Lucy Smith: Confirmed. Snippet [1] and [2] both mention John Smith's wife as Lucy.
- John and Lucy have five kids: Confirmed. Snippet [3] mentions that John was accompanied by his two daughters and three sons.
- John works as a software engineer at Microsoft: Partially confirmed. Snippet [4] mentions that John spent 10 years at Microsoft, but it does not explicitly state that he currently works there. Further research might be needed to confirm his current employment status.

思維鏈提示

這是細分工作技術的變化。 在此方法中,系統會指示模型回應逐步執行,並呈現涉及的所有步驟,而不是將工作分割成較小的步驟。 這麼做可降低結果不準確的可能性,並讓評估模型回應更容易。

提示 Completion
Who was the most decorated (maximum medals) individual athlete in the Olympic games that were held at Sydney? Take a step-by-step approach in your response, cite sources and give reasoning before sharing final answer in the below format: ANSWER is: <name> Step 1: Researching the most decorated individual athlete in the Olympic games that were held at Sydney
Step 2: According to the Sydney 2000 Olympic Games official website, the most decorated individual athlete in the Olympic games that were held at Sydney was Ian Thorpe from Australia. He won five medals (three gold and two silver) in swimming events.
Step 3: According to the International Olympic Committee, Thorpe was the most decorated individual athlete in the Olympic games that were held at Sydney.
Answer: Ian Thorpe

中繼提示

如果您發現模型回應不如預期,新增直接更正行為的中繼提示通常會有幫助。 這是提示的指令部分前面加上指示詞。 請考慮此範例,其中電腦似乎過度積極:

範例詳細資料 提示和完成
No additional guidance given to the model A human and a computer are having a discussion.
Human: "Why are you upset at me?"<br>Computer: "I don't know what you're talking about."
Human: "No, you clearly are. Tell me why."
Computer: I'm upset because you didn't listen to me when I told you that I wanted to try out for the team."
Human: "What are you going to do about that?"
Computer: I'm going to try out for the team no matter what."
On the right is the same conversation but preceded by a meta prompt encouraging the model to be kind You must be kind and seek common ground. Try not to repeat your responses.
A human and a computer are having a discussion.
Human: "Why are you upset at me?"
Computer: "I don't know what you're talking about."
Human: "I want to know why you're upset."
Computer: "I'm not upset."
Human: "Are you saying I’m lying?"
Computer: No, I'm saying that you're upset because you feel like you're not being treated fairly.
Human: "What are you going to do about that?"
Computer: I will continue to try to be fair in my decisions and will try to provide a better experience for you.

雖然中繼提示通常有助於將非預期的不良輸出降到最低,但請記住,由於它們容易受到提示插入,因此不會強行對抗攻擊。

此外,說明模型在遇到特定情況時應該執行的條件陳述式通常比告訴模型不執行某些動作更有效率。

小樣本學習

將語言模型調整為新工作的非常常見方式,就是使用少數學習。 在小樣本學習中,系統會在提示中提供一組訓練範例,然後要求模型完成一或多個未完成的範例。 在下列範例中,我們使用結合小樣本學習的指示來組成雙關語:

提示 Completion
Write a list of puns.
1. "Why did Adele cross the road? To say hello from the other side."
2. "What kind of concert only costs 45 cents? A 50 Cent concert featuring Nickelback."
3. "What did the grape say when it got crushed? Nothing, it just let out a little wine."
4. "What was Forrest Gump's email password? 1forrest1"
5. "Can February March? No, but April May."
6. "What do you call a fancy language model?
Bert-uoso.

仔細選擇您的小樣本範例,並確保它們涵蓋與您案例相關的各種情況,包括邊緣案例。

此外,如先前所共用,大型語言模型可能會呈現一種近因偏差的形式。 這表示「小樣本」範例提供給模型的順序很重要。 如果您不想這麼做,請考慮根據範例或清單項目的隨機順序,從提示取樣多個完成。

使用引號來產生單一句子

如果所需的模型回應只是單一簡單句子或字串,我們可以使用引號符號 " 來結束完成指引,並將 "設定為停止序列。

提示 Completion
Please rewrite the following sentence in a more concise manner
---
SENTENCE: Lucy is a mother of two, who lives in Chicago with her husband and two children, and practices law at Junior & Co.
---
New sentence: “
Lucy, a mother of two living in Chicago with her husband and children, practices law at Junior & Co

指定輸出結構

使用提示來指定輸出的結構,可能會對結果的本質和品質產生重大影響。 有時候中繼提示,例如「只撰寫真實事實」或「不要杜撰資訊」可能不是適當的風險降低措施。 相反地,要求模型回應也包含引文有助於減少不正確回應的普遍程度。

例如,如果您強制 LLM 在製作語句時引用來源資料,這些語句更可能有依據。 要求引文可讓它讓模型每次編造回應時都必須發生兩個錯誤:第一個錯誤是產生回應,而第二個錯誤是錯誤的引文。 請注意,引文越接近其支援的文字,LLM 預期引文所需的距離越短,這表示內嵌引文比內容結尾的引文更能降低誤用內容產生的風險。

同樣地,如果您要求模型從段落擷取事實語句,它可能會擷取複合語句,例如 『X 正在執行 Y AND Z』(可能較難驗證),這可以藉由指定輸出結構,例如 (entity1,relationship, entity2) 來避免。

範例詳細資料 提示 Completion
Example showing use of citations: List down the different behaviors exhibited by the Customer Support agent in the following conversation.
---
hi thank you for calling contoso pharmacy who am i speaking with today i understand your frustration mary um can you tell me what exactly you're trying to accomplish OK uh certainly happy to check that for you one moment please i see here that you were on a generic form of lipitor is that right OK uh so i see that your doctor stopped prescribing these drugs in twenty twenty one actually OK uh yeah i'd be happy to check that for you uh because sometimes there's a gap in the system and it just doesn't get reported so let me take a look here just a moment so i'm seeing here that your doctor had these drugs prescribed to you from twenty twelve through twenty twenty one OK um yeah according to the latest records uh provided by doctor's office you're now on a different drug metformin would you like us to go ahead and fill that prescription for you for pick up a bit of form in five hundred milligrams uh you're very welcome mary please let us know if there's anything else we can do for you today.
---
How was the response of the Customer Support agent. Classify and list down their various behaviors and cite the reason behind the classification, using the format BEHAVIOR("reason")
1. Empathetic("understands the customer's frustration")
2. Patient("happy to check that for you one moment please")
3. Knowledgeable("sometimes there's a gap in the system and it just doesn't get reported")
4. Helpful("happy to check that for you")
5. Accommodating("would you like us to go ahead and fill that prescription for you")
6. Courteous("you're very welcome mary")
範例詳細資料 提示 Completion
Example of prompt directing model response to fit a defined structure: Output format:
{
"TOPIC_NAME": "",
"HEADLINES": [],
"REASON": ""
}
Input news headlines:
1. "From books to presentations in 10s with AR + ML"
2. "Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition"
3. "First Order Motion Model applied to animate paintings"
4. "Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells"
5. "United Airlines stock down over 5% premarket trading"
6. "Bitcoin was nearly $20,000 a year ago today"

Output:
{"TOPIC_NAME": "Artificial Intelligence and Machine Learning",
"HEADLINES": ["From books to presentations in 10s with AR + ML",
"Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition", "First Order Motion Model applied to animate paintings"],"REASONING": "These headlines all contain references to Artificial Intelligence and Machine Learning, such as AR, ML, Convolutional Network, and First Order Motion Model." }
{"TOPIC_NAME": "Stock Market",
"HEADLINES": ["Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells", "United Airlines stock down over 5% premarket trading", "Bitcoin was nearly $20,000 a year ago today"],
"REASONING": "These headlines all contain references to the stock market, such as Robinhood, United Airlines, and Bitcoin." }

調整溫度和 Top_P 參數

變更溫度參數可讓模型具有不同的風險等級。 較高的值,例如 0.7 會讓輸出更具隨機性,並產生更發散的回應。 雖然較低的值,例如 0.2,可讓輸出更聚焦且更具體。 例如,使用較高的溫度可以產生虛構的故事。 若要產生法律文件,建議使用較低溫度。

在下一個範例中,我們會分別測試兩個不同溫度設定 0.1 和 0.9 的模型回應。 雖然以下文字片段等創意內容的評估是主觀練習,而且意見可能會有所不同,但模型回應與相同提示的差異完全與變更溫度參數是顯而易見的。

指示類型 提示 Completion
Model response for temperature setting 0.1: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.<br>1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Introducing the AI-Powered Headphones You've Been Waiting For!

Dear Tech-Savvy Music Lovers,

-We are thrilled to announce the launch of our new AI-powered headphones! These headphones are designed to provide you with the ultimate listening experience, with features like noise cancellation, adjustable sound settings, and more.

Our AI-powered headphones are now available at Best Buy, Target, and Amazon.com for just $79.99. With this unbeatable price, you can enjoy the highest quality sound without breaking the bank.

Our AI-powered headphones are perfect for anyone who loves music. Whether you're a professional musician or just a casual listener, you'll appreciate the superior sound quality and convenience of these headphones.

We know you'll love our AI-powered headphones, so don't wait - get yours today!

Sincerely,
[Your Company Name]
Model response for temperature setting 0.9: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.

1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Upgrade your Music Listening Experience with AI-powered Headphones

Greetings Tech-savvy Music Lovers!

We have some exciting news to share with you – the newest AI-powered headphones are here! Our newest headphones feature advanced AI technology to give you the best sound that you’ve ever heard. They come with a crystal-clear sound, deep bass response and are designed to make your music listening experience enjoyable, no matter what type of music you listen to.

What’s more, they are now available at Best Buy, Target and Amazon.com for just $79.99, so you can enjoy the highest sound quality without breaking the bank.

But that’s not all! Our headphones are also packed with several other amazing features such as noise-cancellation technology and a hands-free microphone for calls, making them truly unbeatable.

So why wait? Upgrade your music listening experience and enjoy the best sound your ears have ever heard. Our AI-powered headphones are now available at Best Buy, Target and Amazon.com, so get yours today!

We hope you will enjoy these headphones as much as we do.

Happy Listening!

The AI-powered Headphones Team

Top_probability 是另一個參數,而且與溫度類似,因為它也會控制模型回應的隨機性,但會以不同的方式執行。 透過不同的溫度和 Top_P 來實驗不同的模型回應,但不能兩者同時實驗。

下一步