iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
AI & Data

OpenAI 從提示工程(Prompt Engineering)到語義核心(Semantic Kernel)的實踐系列 第 3

提示工程(Prompt Engineering):Prompt 初階技法

  • 分享至 

  • xImage
  •  

前言

上一篇提到Prompt是LLM模型的誘發劑,本篇接續介紹Prompt的基本用法和一些初階技法,幫助讀者更有效的與這些語言模型互動。

接下來的內容均以ChatGPT-4模型做為示範

Prompt的基本概念

Prompt,簡單來說,就是我們提供給語言模型的輸入。它可以是一個問題、一個句子的開頭,然後模型會根據這個Prompt生成相應的回應。

例如,當我們給GPT模型提供以下的Prompt:

地球是太陽行星中的一員嗎

GPT-4模型會這樣回應:

是的,地球是太陽系中的一個行星。太陽系中主要包含太陽和圍繞太陽旋轉的八大行星,這八大行星按照距離太陽的遠近分別是:水星、金星、地球、火星、木星、土星、天王星和海王星。地球是其中的第三顆,並且是唯一已知有生命存在的行星。

Prompt的基本用法

  • 避免使用模糊的詞句:為了得到精確的答案,Prompt需要足夠明確。例如,如果我們問:"首都在哪裡?"這樣的問題太過模糊,模型不知道我們指的是哪個國家的首都。但如果我們問:"日本的首都在哪裡?",則模型有可能回答:"日本的首都是東京(Tokyo)。"

  • 引導模型:我們可以在Prompt中加入一些指引,讓模型生成特定格式或風格的文本。例如,如果我們想要一篇李白文筆風格的文案,則Prompt可以是

以"""李白"""的文筆風格,撰寫金門高粱的廣告文案

則生成的內容可以看到確實是詩詞風格

https://ithelp.ithome.com.tw/upload/images/20230918/20126569qoen1Yjawx.png

  • 提供相關重點背景資訊:在某些情況下,提供一些背景資料或上下文可以幫助模型更準確的理解Prompt。例如,當問及歷史事件時,提供日期或相關事件可以得到更精確的答案。

現在你是一位人工智慧專家,了解整個人工智慧的發展脈絡,請問近年來人工智慧運算力大突破來自於採用GPU運算,而這個又是基於什麼事件

https://ithelp.ithome.com.tw/upload/images/20230918/20126569LYZvXKF8oA.png

  • 換句說採用不同的Prompts,有些時候Prompt一直達不到你想要的生成結果,這時候不妨用換句說的概念,重新塑造一個Prompt,例如底下這個例子(免責聲明:此為GPT回應,不代表本人言論XD)

https://ithelp.ithome.com.tw/upload/images/20230918/20126569dYdshqWHqd.png

Prompt的基本技法

  • 角色扮演

賦予ChatGPT角色情境,這個動作會讓模型鎖定在特定的領域,並且提供較好的生成內容。例如:

如何學好英文

https://ithelp.ithome.com.tw/upload/images/20230918/20126569D6GCfo2pjb.png

你是一位高中英語老師,請以教學專業經驗,提供如何學習英文的建議或方法

https://ithelp.ithome.com.tw/upload/images/20230918/20126569FAsiLkW6Wp.png

相較之下,賦予ChatGPT角色之後,回答的內容更貼近學校學習的情境

  • 格式指定

在提示詞內指示ChatGPT回應時,輸出指定的格式,例如表格、條件式列表、字數500個字以內....等,這可以讓ChatGPT生成的內容一步到位更符合所需。例如:

你是一個程式設計師,現在需要輸出一個客戶資料,包含姓名、電話、電子郵件,請使用json格式表達

https://ithelp.ithome.com.tw/upload/images/20230918/20126569fsgciRabje.png

  • 使用三個引號"""或者三個井字號###區分指令與內容

在Prompt內容裡經常會混合了指令要求以及使用者所提供的資料,這個時候可以使用三個引號"""或者三個井字號###區分指令與內容,以便ChatGPT能明確的分辨哪些是內容指令要求,哪些內容是引用的資料。例如:

你是一位專業的facebook小編,請幫我撰寫一則有關於 """ ChatGPT對教育場景的影響 """ 的貼文,字數約500個字左右,使用繁體中文

https://ithelp.ithome.com.tw/upload/images/20230918/20126569NATxyhdvhC.png

透過三個引號"""或者三個井字號###,把主題"ChatGPT對教育場景的影響"與其它指令做區分。

  • 說明目標受眾

前面提到可以賦予ChatGPT角色,相對的,也可以在Prompt裡明確設定與ChatGPT對話的對象背景資訊,例如:

現在你是一位學校老師,我是一位才6歲的小朋友,請問為什麼上課時要專心呢

https://ithelp.ithome.com.tw/upload/images/20230918/20126569Z0okRX3ymf.png

結語

現在透過瞭解prompt的基本用法和一些初階技法,我們可以更有效的引導模型,進而得到更精確且有用的回應。接下來的章節會再進一步探討Prompt提示工程的進階技法。

嗨,我是Ian,我喜歡分享與討論,今年跟2位朋友合著了一本ChatGPT主題書,如果你是一位開發者,這本書或許會有些幫助,https://www.tenlong.com.tw/products/9786263335189
這次的鐵人賽文章也會同時發佈於個人blog,歡迎關注我的blog : https://medium.com/@ianchen_27500


上一篇
提示工程(Prompt Engineering):LLM模型的誘發劑-Prompt提示
下一篇
提示工程(Prompt Engineering):Prompt 進階技法 In-Context Learning
系列文
OpenAI 從提示工程(Prompt Engineering)到語義核心(Semantic Kernel)的實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言