概述
前段時間在 DeepLearning 學(xué)了一門大火的 Prompt 的課程,吳恩達(dá)本人授課,講的通俗易懂,感覺受益匪淺,因此在這里總結(jié)分享一下我的學(xué)習(xí)筆記。
為什么要學(xué)習(xí) Prompt ?
因?yàn)樵谖磥淼?AIGC
年代,學(xué)習(xí)有效的 Promot
提示詞有效的利用 AI 來完成一些重復(fù)性的工作。這也我認(rèn)為未來每個人都必備的技能之一。
以下是我個人學(xué)完這門課程的總結(jié):
- 更好的完成任務(wù):試想一下,如果你給 AI 一個模糊的問題,那么你得到的只會是一個模糊的回答
- 多元化的結(jié)果:可以讓 AI 更多維的結(jié)果,但不限于:代碼,JSON,XML,HTML 等格式文本,甚至是圖片,視頻等
- 避開 AI 的局限:喜歡編造事實(shí),這是目前 AI 已知的缺陷,但有效的 Prompt 可以幫助你有效的避開這個已知,但目前還無法解決的缺陷
- 不再迷信完美的 Prompt:了解真相后,你將不再迷信類似于 awesome-chatgpt-prompts-zh 各種所謂的魔法,速成的調(diào)教指南,因?yàn)椴淮嬖谕昝赖?Prompt
- 了解 AI 的能力:目前大模型的能力局限在:摘要,推理,轉(zhuǎn)換,擴(kuò)展等能力上,目前的 AI 并非無所不能,不要過分神話,也不要過分貶低它
總而言之,學(xué)習(xí) Prompt 提示詞可以幫助您更好地與 LLM 模型進(jìn)行交互,指導(dǎo)其生成符合您需求的文本,并提高效率和準(zhǔn)確性。也推薦大家有時間可以看完完整的視頻課程。我就不過多展開了。以下是我對課程的學(xué)習(xí)筆記。
第一章: Introduction 引言
第一章節(jié),引言主要介紹和 ChatGPT
或類似的 LLM
交流時,要遵循的幾個基本原則,如下:
- 明確的指令:清晰的指令會得到更準(zhǔn)確的回復(fù)。例如,而不是問 "我應(yīng)該吃什么?",你可以問 "我應(yīng)該在素食飲食中添加哪些蛋白質(zhì)來源 ?"
- 合理的期待:模型的知識儲備和它的訓(xùn)練參數(shù)和訓(xùn)練方向有關(guān),例如對于
ChatGPT
這樣一個作為通用領(lǐng)域的大模型,對于一些特別復(fù)雜、需要深度專業(yè)知識,它是無法提供準(zhǔn)確的答案的,特定領(lǐng)域的問題必須由特定領(lǐng)域的專用模型來解決。 - 驗(yàn)證結(jié)果:如上,對于特別復(fù)雜和專業(yè)的問題,AI 有時候會虛構(gòu)信息,你必須對 AI 的回復(fù)進(jìn)行驗(yàn)證,如果發(fā)現(xiàn)了錯誤,可以嘗試用不同的方式提問。
- 等待 AI 思考的時間:AI 需要理解你的問題,并生成一個有用的響應(yīng),這可能需要一些時間,特別是對于復(fù)雜的問題。要有一點(diǎn)耐心
以上就是向第一章課程中包含的向 AI 提問的基本原則,希望對你有所幫助。
第二章:Guidelines 指南
第二章主要介紹以下內(nèi)容:
- 如何使用 ChatGPT 進(jìn)行結(jié)構(gòu)化輸出,例如 JSON,HTML,XML 等等
- 如果使用 Prompt 有效的避免 AI 虛構(gòu)事實(shí)的方法(上面提到過)
生成結(jié)構(gòu)化數(shù)據(jù)
在數(shù)據(jù)處理與分析,API 開發(fā)和測試等常見的場景中你可能需要生成或解析 JSON 數(shù)據(jù)。你可以使用 ChatGPT 幫助你完成這些任務(wù)。
例如,如果我們想讓ChatGPT生成一個包含某人信息的JSON對象,可以按照以下方式詢問:
命令: "請生成一個包含姓名(John Doe)、年齡(30)和職業(yè)(Software Engineer)的 JSON 對象。"
ChatGPT 可能會生成以下的輸出:
{
"name": "John Doe",
"age": 30,
"profession": "Software Engineer"
}
這是一個基本的示例,你可以根據(jù)需要自定義屬性和值。甚至讓它生成一個虛擬的 JSON 數(shù)組對象也是很簡單的
如何避免 AI 編造事實(shí) ?
ChatGPT 是一個基于大量文本訓(xùn)練的語言模型,因此,它可能會生成包含錯誤、過時或猜測的信息的答案。
但是,通過優(yōu)化你的問題或提示(prompt),你可以降低這種情況的可能性。方法如下:
- 要求引用來源:在詢問事實(shí)性信息時,要求模型引用其信息來源。(目前 GPT-4 已經(jīng)實(shí)現(xiàn)聯(lián)網(wǎng)功能)
- 尋求解釋而不是事實(shí):如果你想了解一個具體的概念或理論,考慮尋求對它的解釋,而不是一個具體的事實(shí)。例如,問 "什么是深度學(xué)習(xí)?" 可能比問 "深度學(xué)習(xí)最重要的研究是什么?" 得到更準(zhǔn)確的回答,因?yàn)楹笳呖赡芤龑?dǎo)模型進(jìn)行猜測或編造。
- 使用多個問題:如果你對一個問題的答案不確定,可以嘗試用不同的方式重復(fù)提問,或者向模型要求解釋它的答案。這可以幫助你從不同的角度理解問題,并可能揭示模型的不準(zhǔn)確之處。
示例如下:
假設(shè)你想了解電池的工作原理,你可以按照以下方式提問:
- 直接提問: "電池是如何工作的?"
對此,ChatGPT 可能會給出一個基本的答案,解釋電池的化學(xué)反應(yīng)和能量轉(zhuǎn)換。
但是,你可能希望得到更詳細(xì)的答案,或者驗(yàn)證模型的回答。你可以用以下方式改進(jìn)你的提問:
尋求詳細(xì)的解釋: "能否詳細(xì)解釋一下電池的工作原理,特別是化學(xué)反應(yīng)是如何產(chǎn)生電流的?"
這個問題要求模型提供更詳細(xì)的答案,并專注于電池的特定方面。再者,你可以要求模型引用其信息來源,盡管它不能實(shí)時查閱互聯(lián)網(wǎng),但可以提供它的訓(xùn)練數(shù)據(jù)中的一些信息:
要求引用來源: "能否詳細(xì)解釋一下電池的工作原理,特別是化學(xué)反應(yīng)是如何產(chǎn)生電流的? 并請?zhí)峁┠愕男畔碓础?
這樣的問題可以讓模型生成一個更完整和詳細(xì)的答案,并盡可能地提供一些源于其訓(xùn)練數(shù)據(jù)的信息來源。
最后,如果你對模型的回答有疑慮,你可以通過不同的方式重復(fù)提問,或要求模型解釋它的答案:
使用多個問題和要求解釋: "你能解釋一下電池內(nèi)部的化學(xué)反應(yīng)是如何產(chǎn)生電流的嗎?它是如何轉(zhuǎn)化為我們所用的電力的?你的答案是基于什么樣的科學(xué)原理的?"
這樣的提問方式不僅可以從不同的角度理解問題,還可以挑戰(zhàn)模型的回答,檢查其是否基于合理的科學(xué)原理。
第三章:Lterative 迭代
本章主要講解如何通過足夠的迭代(上下文和語境)讓 AI 更好的解決問題,這也是吳恩達(dá)所說的 不要迷信完美的 Prompt,簡單的 Prompt 只能解決簡單的問題,只有足夠的迭代(上下文和語境)才能真正的解決問題你當(dāng)前遇到的問題,主要原因如下:
- 理解問題的全貌:提供更多的上下文可以幫助 ChatGPT 更好地理解你的問題。例如,如果你只是簡單地提問“它多大?”,ChatGPT 無法知道你在問什么。但如果你先說“我剛買了一部新手機(jī),”然后再問“它多大?”,ChatGPT 就能理解你在問手機(jī)的大小。
- 消除歧義:上下文可以幫助消除語言的歧義。許多單詞和短語在不同的上下文中可能有不同的含義。例如,“行”可以指的是做某事,也可以指的是一行文本。如果你提供足夠的上下文,ChatGPT 就能更好地理解你的意思。
- 理解問題的背景:在一些情況下,理解問題的背景信息對于生成有用的答案是很重要的。例如,如果你在問有關(guān)一部電影的問題,提供電影的名字和你已經(jīng)知道的相關(guān)信息可以幫助 ChatGPT 生成更相關(guān)的答案。
- 跟蹤對話的連貫性:在一個持續(xù)的對話中,提供上下文可以幫助 ChatGPT 維持對話的連貫性。例如,如果你在之前的對話中提到過某個主題,將這個信息包括在新的提示中可以幫助 ChatGPT 理解和回應(yīng)你的問題。
總的來說,提供更多的上下文信息可以幫助 ChatGPT 更準(zhǔn)確、更有用地回答你的問題。這也是開始說的 不要迷信完美的 Prompt 的原因所在了。
第四章:Summarizing 摘要
本章主要介紹 ChatGPT 的總結(jié)冗余信息的能力,信息大爆炸和快節(jié)奏的時代,要讀完一本學(xué)術(shù)巨著,或者是冗長的商業(yè)報告,法律文書等長篇文章幾乎是不可能了,有效的利用 ChatGPT 的摘要能力,它能夠從一篇長文中提取關(guān)鍵信息并生成一個總結(jié),幫助我們壓縮,但又不錯過關(guān)鍵信息,提高閱讀效率。生成總結(jié)提示詞的方法很簡單,你可以上傳一份文檔(使用 AskYourPDF 插件),或者給他一串長文本,然后提問:請為這篇文章生成一個總結(jié)。 即可。這章比較簡單,就會繼續(xù)展開了。
第五章:Inferring 推理
本章主要介紹 AI 的推理能力,推理能力是 AI 能力非常有趣的能力,當(dāng)你給它一個問題或一個話題,它就會根據(jù)已經(jīng)學(xué)到的知識和技能,嘗試生成一個合理且有幫助的回答。它是基于零樣本學(xué)習(xí)(Zero-Shot Learning)來實(shí)現(xiàn)的。通俗的解釋就是:
模型利用已有的知識或信息來處理新的、未知的情況。在進(jìn)行推理時,模型可能需要根據(jù)已知的事實(shí)或規(guī)則來預(yù)測未知的結(jié)果。
可以通過一個例子來理解:
比如說,如果你告訴 ChatGPT,“今天下雨,我沒有帶傘,我會濕嗎?”
ChatGPT 會結(jié)合它“學(xué)習(xí)”到的關(guān)于雨、傘和濕度的知識,給出 “是的,如果你在雨中行走而沒有傘,你可能會變濕?!边@樣的回答。
這就涉及到了一種簡單的推理:雨會讓人濕,傘可以避免人淋濕,沒有傘的人在雨中會濕。
第六章:Transforming 轉(zhuǎn)換
Transforming 轉(zhuǎn)換可謂是 AI 的非常擅長的能力,算是看家本領(lǐng)。關(guān)于 Transforming 的學(xué)術(shù)描述是這樣的:
Transforming 能力主要是指它可以把一種形式的信息轉(zhuǎn)化為另一種形式,或者把信息從一種語境、語氣、風(fēng)格轉(zhuǎn)換到另一種。
這么理解可能比較抽象,以下是一些經(jīng)常會應(yīng)用到的應(yīng)用場景:
- 從非結(jié)構(gòu)化信息到結(jié)構(gòu)化信息:可以從非結(jié)構(gòu)化的文本數(shù)據(jù)中提取關(guān)鍵信息,并將其轉(zhuǎn)換為結(jié)構(gòu)化的格式,如 JSON,XML 等。這在處理大量非結(jié)構(gòu)化數(shù)據(jù)時很有用,比如從社交媒體帖子、新聞文章或產(chǎn)品評論中提取關(guān)鍵信息。
- 從一種語言到另一種語言:雖然 AI 并不是一個專業(yè)的翻譯工具,但是 AI 目前表現(xiàn)出來的翻譯能力,真的是目前是吊打市面上的所有翻譯軟件,包括 Google 翻譯等等,這里安利一款我目前在用的基于 AI 轉(zhuǎn)換工具:OpenAI Translator,這是款開源軟件,你可以在 Github 上找到它
- 從一種語氣或風(fēng)格到另一種語氣或風(fēng)格:可以把一個文本從一種語氣或風(fēng)格轉(zhuǎn)換為另一種。例如,它可以把一段正式的商業(yè)報告轉(zhuǎn)換為更為口語化、易于理解的語言,或者把一段平淡的描述轉(zhuǎn)化為更具有創(chuàng)造性的表達(dá)。例如命令:"使用蘇格拉底的語氣對計算機(jī)基礎(chǔ)理論某一個知識點(diǎn)進(jìn)行講解"等
- 把復(fù)雜的概念或信息轉(zhuǎn)化為易于理解的形式:可以把復(fù)雜的概念、數(shù)據(jù)或信息轉(zhuǎn)化為更易于理解的形式。例如,它可以把一段關(guān)于氣候變化的科學(xué)報告轉(zhuǎn)化為一段適合兒童閱讀的故事,或者把一組復(fù)雜的數(shù)據(jù)轉(zhuǎn)化為簡單的圖表或信息圖。
- 從文字到音頻或視頻腳本:可以將一段文字轉(zhuǎn)化為適合錄制為音頻或視頻的腳本。例如,它可以把一篇博客文章轉(zhuǎn)化為一段播客劇本,或者把一段對話轉(zhuǎn)化為電影腳本。
以上只是一些可能的應(yīng)用場景,AI 的轉(zhuǎn)換能力可以在許多其他場景中發(fā)揮作用,取決于具體的需求和環(huán)境。
第七章:Expanding 擴(kuò)展
擴(kuò)展 Expanding 能力主要指它可以從給定的初始信息或提示中生成更多的內(nèi)容或信息。簡單來說摘要(Summarizing)的使用場景相反,就是根據(jù)短文生成長文。比如文章、故事、對話等。以下是一些可能的應(yīng)用場景:
- 寫作輔助:如果你在寫作時卡住了,你可以給它一個簡短的提示,然后讓它生成更多的內(nèi)容。這可以幫助你開拓思路,找到新的創(chuàng)意或靈感。
- 報告生成:如果你需要編寫一篇關(guān)于特定主題的文章或報告,你可以給它一個簡短的概述或大綱,然后讓它生成完整的文章或報告
- 寫小說:如果你想創(chuàng)作一個新的故事,你可以給它一個簡短的劇情概要,比如主角的描述或故事的開頭,然后讓它生成完整的故事。
- 教育和學(xué)習(xí):在教育和學(xué)習(xí)的場景中,它可以用來生成教學(xué)材料,比如講解、案例研究、問題和答案等。這可以幫助學(xué)生更好地理解和掌握知識。
示例:
假設(shè)我們給出 AI 一個如下的提示詞:
請根據(jù)以下提示詞生成一個故事:在一個風(fēng)和日麗的早晨,杰克醒來,發(fā)現(xiàn)他的寵物鸚鵡消失了。
它會生成如下的故事:
在一個風(fēng)和日麗的早晨,杰克醒來,發(fā)現(xiàn)他的寵物鸚鵡消失了。他的眼神立即被籠子空蕩蕩的一角所吸引,籠門半開,鸚鵡的食物未動,一切都顯得格外安靜,與往日的歡聲笑語形成了鮮明對比。
他心急如焚,急忙在家里找尋,然而,家里并沒有找到鸚鵡的蹤影。他的心沉了下來,他想,也許鸚鵡只是飛出去玩了一會,很快就會回來的。然而,整個上午過去了,鸚鵡還是沒有回來。
午后的陽光照在花園里,杰克決定到花園和附近的森林里尋找鸚鵡。他呼喚著鸚鵡的名字,但只有微風(fēng)吹過樹葉的聲音回應(yīng)他。杰克心里越來越不安,他知道鸚鵡不可能走得太遠(yuǎn)。
就在此時,他看到了一片鸚鵡的羽毛,旁邊還有一些熟悉的爪印。他心跳加速,緊跟著這些線索深入森林。在森林的深處,他看到了他的鸚鵡,它正站在一個高大的橡樹上,旁邊是一窩剛剛孵化的小鳥。
原來,鸚鵡是跟著母鳥來到這里,幫助它照顧剛剛孵化的小鳥??吹竭@一幕,杰克笑了,他知道他的鸚鵡是一只善良的生物,它的消失是為了做一件好事。
那一天,杰克和他的鸚鵡一起在森林里度過了美好的一天。他們幫助小鳥找食物,一起在樹林里玩耍。晚上,鸚鵡回到了籠子,杰克知道,無論鸚鵡飛到哪里,它都會回到他身邊,因?yàn)檫@就是它的家。
在這個示例中,ChatGPT 從一個簡單的提示擴(kuò)展出一個完整的故事,包括角色的動作、感情以及故事的發(fā)展和結(jié)局。
總結(jié) Conslusion
吳恩達(dá)的這門 Prompt Engineering 課程,主要講解了使用 Prompt 的基本原則,還有 LLM 大模型在各個場景下的使用方式。
關(guān)于使用 Prompt 要記住以下原則:文章來源:http://www.zghlxwxcb.cn/news/detail-471491.html
- 清晰具體的指令
- 足夠的上下文和足夠多的對話
- 提出展示信息源,避免 AI 編造事實(shí)
- 使用結(jié)構(gòu)化的輸出方式,例如 JSON, XML,HTML 等,這是 AI 擅長的輸出方式
- 合理的期望,AI 并不是萬能的
以上是課程的全部內(nèi)容,課程內(nèi)容不長,有興趣可以去官網(wǎng)學(xué)習(xí)。文章來源地址http://www.zghlxwxcb.cn/news/detail-471491.html
到了這里,關(guān)于使用 ChatGPT 的 7 個技巧 | Prompt Engineering 學(xué)習(xí)筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!