[LLM系列] 發布獨一無二的 GPT:如何設計 Prompt 與調整出客製化的效果
ChatGPT 在 2023/11/06 發布客製化 GPT 取代之前的 Plugin,透過自己設計 台灣學英文 GPT 研究如何發布客製化 GPT,這是一個介紹台灣常用的線上英文學習平台,並提供即時線上英文家教查詢的 GPT
以下內容包含
- 客製化 GPT 跟直接與 ChatGPT 對話的差異
- 透過 Knowledge 與 Action 客製化 GPT 產出的內容與能力
- 實際 Prompt 調整與效果
客製化 GPT 跟直接與 ChatGPT 對話的差異
主要體現在三個部分
- 埋入預設 Prompt,用戶對話更簡單
- 提供 extra Knowledge,讓回覆更佳專精
- 透過 API 獲取額外能力
預設 Prompt
在使用 ChatGPT 時,為了讓 AI 回答得更精確,需要提供明確且清楚的任務指示、輔助推導答案的過程 (Few shot prompting)、指定角色與語氣設定等,但如果每次都要記憶或重打十分麻煩
客製化 GPT 可以設定一次後就一勞永逸,專注於任務本身的描述,不用再反覆給引導的 Prompt
提供 Knowledge
ChatGPT (更準確說背後的 Model 如 GPT 3.5, GPT4) 有預設訓練的資料,但如果有一些私有資料,可以上傳到 Knowledge,回答可以優先指定私有資料,讓回答更加精準與客製化
Knowledge 本身有檔案大小與數量限制,這部分官方沒有明確說明,但大致是 20 個檔案
透過 API 獲取額外能力
這也是最有趣的地方,提供 API 與對應的 Open API Spec,GPT 4 會自行決定呼叫時機與傳入的參數,與外部世界有更直接的連結,賦予 GPT 新能力
實際操作
我設計一個台灣學英文的 GPT,主要幫助想在台灣學英文的人,提供基本的英文線上教育查詢,以及即時的線上英文家教推薦,就讓我們一步一步十座這個 GTP
1. 基本角色設定
GPT builder 會引導基本的 GPT 設定,從命名、icon 到 Prompt,並針對目的會自動配置好對應的角色與語氣,實測發現 Prompt 用中文效果也不錯
Prompt:
1. 在開始時明確詢問用戶的英語水平,以找到適合他們水平的答案。
2. 以中文回應。
2. 調整回答方向,增加 extra knowledge
extra knowledge 我先用 Google 搜尋 > 找到適合內容 > 列印儲存成 PDF 然後餵進去,但餵進去後我發現要再增加一些 Prompt 效果會比較好
優先搜尋私有知識
⇒ 否則會產生無差別的答案不要洩漏文件名稱,基於私有知識,重新生成答案。
⇒ 有時候 GPT 會回覆「根據 xxxx 文件」,但這樣看起來有點突兀,增加提示不要透露文件名稱當用戶問到 xxxx 問題,請用以下格式回傳
⇒ 微調回答的格式
instruction:
3.優先搜尋私有知識,不要洩漏文件名稱,基於私有知識,重新生成答案。4.當用戶詢問線上家教平台,用以下格式回覆
平台名稱:
優點:
缺點:
價格區間:以台幣為單位
有乾淨、高價值的內容十分重要,這直接影響回答的品質
3. 增加 API 呼叫,即時的線上英文家教推薦
這部分封裝 Preply 與 Amazingtalker 尋找老師的 API ,輸入三個參數價錢 (0~100 USD)、專項(成人、兒童、口說、寫作)、老師國籍
,各搜集前五筆資料讓 GPT 重組輸出
接著搭配 Prompt 優化參數輸入與回應的格式
Prompt:
5.如果用戶詢問適合的線上英文家教,詢問學生可以接受的價格範圍,以及對於老師的國籍是否有偏好,依據用戶輸入呼叫API
收到 API 回應後用表格方式回覆,並將幣別轉換成台幣以及簡介轉成中文。
可以看到 GPT 有幾個驚人的行為
- 自動幣別轉換,輸入 NTD 但 API 文件要求輸入 USD 也沒問題
- 理解基本語意,有讀懂 API 文件的參數說明
其他
還有一些實用的 Prompt 可以增加,例如
請在每個回答後加上 「這是由 xxxx 贊助」
: 這樣就可以補上宣傳效果如果是跟英文教學無關,一律回答不知道
:有點雞肋,但可以做到這類效果
結語
實際設計過客製化 GPT更直接感受到 LLM 的威力與魅力,透過 Prompt 微調可以直接影響回覆品質,增加 Knowledge 與 Actions 讓 GPT 的回覆與能力又再更上一層樓
如果未來所有產品與互動的核心都是以 LLM 出發,用自然語言互動,輔佐清楚的 API,讓 LLM 成為聰明的貼身秘書,這對於生活與生產力一定有飛躍性的提升