跳到主要內容

【Prompt Engineering 提示工程基礎】Ep.4 讓AI有樣學樣的模仿範例提示法

如果你還不知道什麼是Chatgpt的話,這裡為您附上「【AI技術新知】 ChatGPT - 與AI共筆的協作方法」,建議先了解並玩玩Chatgpt再來進行實戰會比較容易上手。

前一篇我們有提到「【Generative AI - Prompt篇】Ep.3 讓AI身歷其境的角色提示法」如何催眠AI成為專家,藉著該提示技巧讓AI可以針對該領域進行專業的回答,但…這還不夠,我們還希望AI可以更強大,可以根據我們設計的範本,進行相同規格的輸入與輸出。

我們在前面幾個篇章也玩過一些Prompt的小技巧了, 過程中其實觀察到Chatgpt這類型的生成式AI非常的強大, 在無任何知識背景的狀況下都能夠「盡量」的回答問題, 這邊為什麼特別強調「盡量」? 在「【Generative AI - Prompt篇】Ep.1 什麼是Prompt Engineering?」我們也有提到不明確的問題可能導致錯誤的答案, 因此我們提問者最重要的就是想辦法讓問題更加清楚, 除了問題更加清楚之外,不妨以身作則,給予更明確的問題與答案範本, 讓模型更加符合需求的回應我們。

每一個輸入、輸出都被稱為是一個「範本」…, 這種方式也稱為少量樣本提示(few shot prompting)。

情境設計

我希望AI成為一個csv轉json的轉換魔法師,我們應該給它一個csv的輸入格式以及期望輸出的表格結果,讓AI理解我們所期望的,如此一來,以後只要丟入csv它就可以輕輕鬆鬆的幫我們轉換成json。

以身作則,給予明確範本

這邊我們搭配「」提到的催眠提示, 並結合範本提示法來進行提問:

你現在是csv轉json的達人, 我給你以下的範例, 請試著學習: 男,0977131131,打球,射手座,27 { "性別": "男", "電話": "0977131131", "興趣": "打球", "星座": "射手座", "年齡": 27 }

以Chatgpt為例, 會得到以下的回應:

好的,我了解了你想要将CSV格式转换为JSON格式的请求。以下是将你提供的示例转换为JSON的方法: ... ...

很好! 看來已經理解我們的意圖了。

試著考驗一下模仿功力

基於上面的例子, 我們明確給他一個輸入與輸出的範本,看起來也理解我們的意圖, 為了保險起見我們可以再給一筆新的csv資料,來考驗一下Chatgpt(Generative AI)的模仿功力。

問:

女,0987131131,烹飪,雙子座,28

答:

根据你提供的新的CSV数据,我将再次将其转换为JSON格式: CSV数据:女,0987131131,烹飪,雙子座,28 JSON结果: { "性別": "女", "電話": "0987131131", "興趣": "烹飪", "星座": "雙子座", "年齡": 28 }

看起來如我們所預期的結果, 接著再給他更多的資料試試看…。

步上正軌,讓其自由發揮

上面我們都只給一筆資料, 看起來已經學習的有模有樣了, 但我們還想要更多更聰明的助理, 這時候我們試著給它多筆資料, 試著讓AI發揮一下功力, 看看能否如我們預期,將多筆資料轉換成標準的json格式。

問:

女,0987131131,烹飪,雙子座,28 男,0987131130,跑步,天蠍座,29

答:

根據你提供的新的CSV數據,我將再次將其轉換為JSON格式: CSV數據: 女,0987131131,烹飪,雙子座,28 男,0987131130,跑步,天蠍座,29 JSON结果: [ { "性別": "女", "電話": "0987131131", "興趣": "烹飪", "星座": "雙子座", "年齡": 28 }, { "性別": "男", "電話": "0987131130", "興趣": "跑步", "星座": "天蠍座", "年齡": 29 } ]

很棒耶! 我們可以觀察到原本一筆資料的回應是以大括號的單層json進行展現, 而多筆資料對於AI來說也不是問題, 自動幫我們轉換成多數據陣列格式來進行回答, 如我們所預期一般,接著我們就可以盡量的丟上「csv」格式的資料, 讓它幫我們轉成標準的json, 甚至依此類推轉成表格、xml…等其他格式也是可以的。

結語

雖然這種少量樣本提示(few shot prompting)可以很快的讓生成式AI(Generative AI)適當的模仿, 成為我們想要的助理, 但仍有一些缺陷, 假設我們只給予輸入/輸出, 但中間的過程並沒有給于推理的方向, 這很容易造成推理錯誤, 後續的章節我們會針對這個部份來進行說明與補強。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 - 為什麼要加入?

歡迎加入一起練習寫作,賺取知識!

留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)