聊天機器人應用實務
Practical Applications of Chatbots
Introduction to ChatGPT prompting
使用ChatGPT
ChatGPT旋風
使用ChatGPT
官網註冊
手機應用
使用ChatGPT
- ChatGPT免費版
- 訓練資料: before September 2021
- 引擎: GPT-3.5
- ChatGPT Plus
- 每月20美元
- 引擎GPT-4, 資料不限2021年9月之前(2023/9/27 release notes)
使用ChatGPT界面
Context對話情境
Prompt Engineering
提示工程
使用ChatGPT提示
Prompt(提示):提供給語言模型(language model, 如GPT-3.5) 的指令或問題。模型會根據這個初始提示來生成相關的回答、文本或內容。
提示: 明定步驟
使用ChatGPT提示
提供範例資料
推論
使用ChatGPT提示
將複雜任務拆解成較小的任務
使用ChatGPT提示工程
提示工程(Prompt engineering)是人工智慧中、自然語言處理(NLP)的操作概念。任務(tasks)的描述會被嵌入到輸入中。例如,不是隱含給予模型一定的參數,而是以問題的形式直接輸入。
設定角色
設定輸出格式
5種設計提示的最佳實務
提示要具體
設定條件
提供範例
使用ChatGPT提示工程
目的
設定角色
行銷任務最佳實務
參數
主題
通路
受眾
格式
目標
使用ChatGPT提示工程
關聯思考CoT
少量樣本
模板
拆解
使用ChatGPT基本原則
iteration #101
- back and forth
- 前後來回修正
- ask for variations
- 請提供3個不同的版本
- ask for clarification
- 釐清答案
- maintain stability in the face of change
- 明示保留、刪除的部份
- add explanations
- 提供解釋
第一次練習
擇定一主題,使用前述技巧產生吸引人的內容
時間: 5分鐘
文案、書籍、影片、網站...的標題
修改文章
email, po文等等
Prompting基本技巧
指令Instruction (1/5)
提示指令
模型輸出
淡水最知名的景點是哪一個
淡水老街
理想的情境
實際的情況,很可能是...
請幫我去識別化,將姓名中間的字以O取代
李陸助
黃宇駿
黃家宥
以下是姓名中間字以'O'取代後的名單:
李陸助
黃宇駿
黃家宥
指令Instruction 給範例(examples)(2/5)
常見的建議一:給範例
以下是姓名中間字以'O'取代後的名單:
李O助
黃宇駿
黃家宥
唐楷O
部分答對...比例不是很高 < 50%
幫我去識別化,將姓名中間的字以O取代。例如鄧雅之,以鄧O之取代。
李陸助
黃宇駿
黃家宥
唐楷勛
shot / shots
one-shot prompting
思考點: 例子不夠多?
two shots? few shots
指令Instruction 角色(3/5)
常見的建議二:角色扮演
抱歉,我之前的回答有誤,請容許我重新回答。以下是姓名中間字以'O'取代後的名單:
李O助
黃宇駿
黃家宥
唐O勛
答案沒有改變 仍是< 50%
你是中文姓名專家,再試著回答上面的問題
顯然ChatGPT不認為中文姓名專家該懂「個資法」
指令Instruction 情境(4/5)
常見的建議三:更詳細的解釋(context)
答案顯著改善,除了黃姓以外,全部正確
中文姓名大部分是3個字,第一個字是姓,後兩個字是名。去識別化會把第2個字,也就是姓後面的那一個字去除,以O取代。
非常抱歉之前的回答仍有誤。以下是正確的姓名去識別化結果,將中文姓名的第二個字以'O'取代:
李O助
黃宇駿
黃家宥
唐O勛
曾O為
指令Instruction(5/5)
常見的建議四:保留要的,修正不要的
全部正確!
三位姓黃的都沒有去識別化
非常抱歉之前的回答仍有誤。以下是正確的姓名去識別化結果,將中文姓名的第二個字以'O'取代:
李O助
黃O駿
黃O宥
唐O勛
曾O為
指令Instruction摘要整理(1/2)
小結:
- 來回處理
- 搭配角色
- 部落客 vs 一般遊客 (不同風格, styling)
- 行銷專家 vs 技術專家(不同角度)
- 需來回測試、了解是否有效
- 範例:zero-shot, 1-shot, few-shot(不同數量的範例)
- 情境:進一步解釋
- 設定回覆的行為
- 版本紀錄:記錄做了什麼事,有哪些改變
指令Instruction摘要整理(2/2)
指令
範例1
範例2
範例3
這很棒! // 正面
這很糟糕! // 負面
哇,那部電影真棒! // 正面
多麼可怕的節目! //
負面
few shots
範例+指令
結果
one-shot prompting
兩個步驟
來回修正
指令Instruction 綜合練習(1/4)
指令
範例1
範例2
範例3
角色
指令:修改文章
應用:修改文章 / 回饋
角色
角色與回饋
指令Instruction 綜合練習(2/4)
指令:推論
指令
範例1
範例2
範例3
角色
情境
問題
情境說明
few-shot
並非所有部份都會出現、也沒有標準的順序
應用:推論
指令Instruction 綜合練習(3/4)
常見應用:
- 寫報告:產生3個具有說服力的想法,主題是關於「旅館業節能減碳」
- 生成大綱、總結報告、提出反對觀點、參考來源
- 知識學習:你扮演英文老師的角色, 我需要理解過去完成式文法。 請用淺顯易懂方式描述。
- 概念解說、簡易/深度教學、測驗
- 對話、單字、例句、檢查文法、修改與解釋
- 行銷與SEO(搜尋引擎最佳化):創建一個 Email 行銷活動,利用你對產品受眾的理解,撰寫文案,以推廣產品。
- 行銷策略:受眾分析、行銷通路、預算
- SEO關鍵詞發想、網站metadata
指令Instruction 綜合練習(4/4)
常見應用:
- 📚寫報告:產生3個具有說服力的想法,主題是關於「旅館業節能減碳」
- 生成大綱、總結報告、提出反對觀點、參考來源
- 🧠知識學習:你扮演英文老師的角色, 我需要理解過去完成式文法。 請用淺顯易懂方式描述。
- 概念解說、簡易/深度教學、測驗
- 對話、單字、例句、檢查文法、修改與解釋
- 📜幫助閱讀法律文件、合約
- 📈行銷與SEO(搜尋引擎最佳化):創建一個 Email 行銷活動,利用你對產品受眾的理解,撰寫文案,以推廣產品。
- 行銷策略:受眾分析、行銷通路、預算
- SEO關鍵詞發想、網站metadata
大型語言模型的問題(1/3)
- 📝無法準確引用來源
- 部份LLM應用引用來源
- 產生內容時,也產生事實查核的內容
- 🙅♂️偏見:產生刻板、偏見的內容
- 成因:訓練的大型資料集有此傾向
- 性別歧視、種族歧視
- 行銷應用上應特別注意
- 😵幻覺Hallucinations
- 經常給出看起來很有自信但實際上是錯誤的答案。
- 📐數學任務經常出錯
- 🌐駭客攻擊Prompt hacking
- 產生不適當或有害的內容
大型語言模型的問題(2/3)
Prompt injection
大型語言模型的問題(3/3)
Prompt leaking
指令Instructions
- Mishra, S., Khashabi, D., Baral, C., Choi, Y., & Hajishirzi, H. (2021). Reframing Instructional Prompts to GPTk's Language. arXiv preprint arXiv:2109.07830. ( https://arxiv.org/abs/2109.07830 )
- Efrat, A., & Levy, O. (2020). The turking test: Can language models understand instructions?. arXiv preprint arXiv:2010.11982. ( https://arxiv.org/abs/2010.11982 )
Chain of Thoughts
- Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.
進階技巧
Chain of Thoughts
關聯思考、思維連鎖、思路鏈(CoT)
Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.
Chain of Thoughts
關聯思考、思維連鎖、思路鏈(CoT)
Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.
透過展示一些範例(few-shot examplars)給LLM,範例中解釋了推理過程
則LLM在回答提示時也會展示推理過程
此舉通常會帶來更準確的結果。
Chain of Thoughts
Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.
The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 17, 10, 19, 4, 8, 12, 24.
A: Adding all the odd numbers (17, 19) gives 36. The answer is True.
The odd numbers in this group add up to an even number: 16, 11, 14, 4, 8, 13, 24.
A: Adding all the odd numbers (11, 13) gives 24. The answer is True.
The odd numbers in this group add up to an even number: 17, 9, 10, 12, 13, 4, 2.
A: Adding all the odd numbers (17, 9, 13) gives 39. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:
Adding all the odd numbers (15, 5, 13, 7, 1) gives 41. The answer is False.
Chain of Thoughts
Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.
The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:
Adding all the odd numbers (15, 5, 13, 7, 1) gives 41. The answer is False.
Zero-shot CoT
Kojima, T., Gu, S. S., Reid, M., Matsuo, Y., & Iwasawa, Y. (2022). Large language models are zero-shot reasoners. Advances in neural information processing systems, 35, 22199-22213
加上"Let's think step by step"提示
Zero-shot CoT
I went to the market and bought 10 apples. I gave 2 apples to the neighbor and 2 to the repairman. I then went and bought 5 more apples and ate 1. How many apples did I remain with?
11 apples
I went to the market and bought 10 apples. I gave 2 apples to the neighbor and 2 to the repairman. I then went and bought 5 more apples and ate 1. How many apples did I remain with?
Let's think step by step.
First, you started with 10 apples.
You gave away 2 apples to the neighbor and 2 to the repairman, so you had 6 apples left.
Then you bought 5 more apples, so now you had 11 apples.
Finally, you ate 1 apple, so you would remain with 10 apples.
Applications
角色扮演#2
Linux terminal
Excel
prompting重點:trial and error
Ask chatgpt do not explain anything if you just want it to act like a piece of software, such as Linux terminal.
Roleplay
角色扮演的關鍵:clear intructions
範例
角色:
探討劇情
角色扮演
情境:個性、語氣、nonverbal communication
Roleplay
ChatGPT的問題:
容易得意忘形: over explain everything it does.
角色扮演練習:Act as, 扮演
try and error:
Persona
Job Title
Act as a life coach
應該要解釋該場景的完整設置和參與規則
Ontology
Roleplay
In-Context Training
In Context Training
zero shot prompt
one shot prompt
few shot prompt
chatGPT不懂的部份,透過a few shot examples to train it
In Context Training
few shot prompt範例
產生履歷表
給履歷表範例、告知chatGPT學習方向,並在收到履歷時只回應"知道了"
Chunking
divide and conquer
for long response content
聊天機器人應用實務-第三課
By Leuo-Hong Wang
聊天機器人應用實務-第三課
- 269