前段時間在 DeepLearning 學了一門大火的 Prompt 的課程,吳恩達本人授課,講的通俗易懂,感覺受益匪淺,因此在這裡總結分享一下我的學習筆記。
為什麼要學習 Prompt ?
因為在未來的 AIGC
年代,學習有效的 Promot
提示詞有效的利用 AI 來完成一些重複性的工作。這也我認為未來每個人都必備的技能之一。
以下是我個人學完這門課程的總結:
總而言之,學習 Prompt 提示詞可以幫助您更好地與 LLM 模型進行互動,指導其生成符合您需求的文字,並提高效率和準確性。也推薦大家有時間可以看完完整的視訊課程。我就不過多展開了。以下是我對課程的學習筆記。
第一章節,引言主要介紹和 ChatGPT
或類似的 LLM
交流時,要遵循的幾個基本原則,如下:
ChatGPT
這樣一個作為通用領域的大模型,對於一些特別複雜、需要深度專業知識,它是無法提供準確的答案的,特定領域的問題必須由特定領域的專用模型來解決。以上就是向第一章課程中包含的向 AI 提問的基本原則,希望對你有所幫助。
第二章主要介紹以下內容:
在資料處理與分析,API 開發和測試等常見的場景中你可能需要生成或解析 JSON 資料。你可以使用 ChatGPT 幫助你完成這些任務。
例如,如果我們想讓ChatGPT生成一個包含某人資訊的JSON物件,可以按照以下方式詢問:
命令: "請生成一個包含姓名(John Doe)、年齡(30)和職業(Software Engineer)的 JSON 物件。"
ChatGPT 可能會生成以下的輸出:
{
"name": "John Doe",
"age": 30,
"profession": "Software Engineer"
}
這是一個基本的範例,你可以根據需要自定義屬性和值。甚至讓它生成一個虛擬的 JSON 陣列物件也是很簡單的
ChatGPT 是一個基於大量文字訓練的語言模型,因此,它可能會生成包含錯誤、過時或猜測的資訊的答案。
但是,通過優化你的問題或提示(prompt),你可以降低這種情況的可能性。方法如下:
範例如下:
假設你想了解電池的工作原理,你可以按照以下方式提問:
對此,ChatGPT 可能會給出一個基本的答案,解釋電池的化學反應和能量轉換。
但是,你可能希望得到更詳細的答案,或者驗證模型的回答。你可以用以下方式改進你的提問:
尋求詳細的解釋: "能否詳細解釋一下電池的工作原理,特別是化學反應是如何產生電流的?"
這個問題要求模型提供更詳細的答案,並專注於電池的特定方面。再者,你可以要求模型參照其資訊來源,儘管它不能實時查閱網際網路,但可以提供它的訓練資料中的一些資訊:
要求參照來源: "能否詳細解釋一下電池的工作原理,特別是化學反應是如何產生電流的? 並請提供你的資訊來源。"
這樣的問題可以讓模型生成一個更完整和詳細的答案,並儘可能地提供一些源於其訓練資料的資訊來源。
最後,如果你對模型的回答有疑慮,你可以通過不同的方式重複提問,或要求模型解釋它的答案:
使用多個問題和要求解釋: "你能解釋一下電池內部的化學反應是如何產生電流的嗎?它是如何轉化為我們所用的電力的?你的答案是基於什麼樣的科學原理的?"
這樣的提問方式不僅可以從不同的角度理解問題,還可以挑戰模型的回答,檢查其是否基於合理的科學原理。
本章主要講解如何通過足夠的迭代(上下文和語境)讓 AI 更好的解決問題,這也是吳恩達所說的 不要迷信完美的 Prompt,簡單的 Prompt 只能解決簡單的問題,只有足夠的迭代(上下文和語境)才能真正的解決問題你當前遇到的問題,主要原因如下:
總的來說,提供更多的上下文資訊可以幫助 ChatGPT 更準確、更有用地回答你的問題。這也是開始說的 不要迷信完美的 Prompt 的原因所在了。
本章主要介紹 ChatGPT 的總結冗餘資訊的能力,資訊大爆炸和快節奏的時代,要讀完一本學術鉅著,或者是冗長的商業報告,法律文書等長篇文章幾乎是不可能了,有效的利用 ChatGPT 的摘要能力,它能夠從一篇長文中提取關鍵資訊並生成一個總結,幫助我們壓縮,但又不錯過關鍵資訊,提高閱讀效率。生成總結提示詞的方法很簡單,你可以上傳一份檔案(使用 AskYourPDF 外掛),或者給他一串長文字,然後提問:請為這篇文章生成一個總結。 即可。這章比較簡單,就會繼續展開了。
本章主要介紹 AI 的推理能力,推理能力是 AI 能力非常有趣的能力,當你給它一個問題或一個話題,它就會根據已經學到的知識和技能,嘗試生成一個合理且有幫助的回答。它是基於零樣本學習(Zero-Shot Learning)來實現的。通俗的解釋就是:
模型利用已有的知識或資訊來處理新的、未知的情況。在進行推理時,模型可能需要根據已知的事實或規則來預測未知的結果。
可以通過一個例子來理解:
比如說,如果你告訴 ChatGPT,「今天下雨,我沒有帶傘,我會溼嗎?」
ChatGPT 會結合它「學習」到的關於雨、傘和溼度的知識,給出 「是的,如果你在雨中行走而沒有傘,你可能會變溼。」這樣的回答。
這就涉及到了一種簡單的推理:雨會讓人溼,傘可以避免人淋溼,沒有傘的人在雨中會溼。
Transforming 轉換可謂是 AI 的非常擅長的能力,算是看家本領。關於 Transforming 的學術描述是這樣的:
Transforming 能力主要是指它可以把一種形式的資訊轉化為另一種形式,或者把資訊從一種語境、語氣、風格轉換到另一種。
這麼理解可能比較抽象,以下是一些經常會應用到的應用場景:
以上只是一些可能的應用場景,AI 的轉換能力可以在許多其他場景中發揮作用,取決於具體的需求和環境。
擴充套件 Expanding 能力主要指它可以從給定的初始資訊或提示中生成更多的內容或資訊。簡單來說摘要(Summarizing)的使用場景相反,就是根據短文生成長文。比如文章、故事、對話等。以下是一些可能的應用場景:
範例:
假設我們給出 AI 一個如下的提示詞:
請根據以下提示詞生成一個故事:在一個風和日麗的早晨,傑克醒來,發現他的寵物鸚鵡消失了。
它會生成如下的故事:
在一個風和日麗的早晨,傑克醒來,發現他的寵物鸚鵡消失了。他的眼神立即被籠子空蕩蕩的一角所吸引,籠門半開,鸚鵡的食物未動,一切都顯得格外安靜,與往日的歡聲笑語形成了鮮明對比。
他心急如焚,急忙在家裡找尋,然而,家裡並沒有找到鸚鵡的蹤影。他的心沉了下來,他想,也許鸚鵡只是飛出去玩了一會,很快就會回來的。然而,整個上午過去了,鸚鵡還是沒有回來。
午後的陽光照在花園裡,傑克決定到花園和附近的森林裡尋找鸚鵡。他呼喚著鸚鵡的名字,但只有微風吹過樹葉的聲音迴應他。傑克心裡越來越不安,他知道鸚鵡不可能走得太遠。
就在此時,他看到了一片鸚鵡的羽毛,旁邊還有一些熟悉的爪印。他心跳加速,緊跟著這些線索深入森林。在森林的深處,他看到了他的鸚鵡,它正站在一個高大的橡樹上,旁邊是一窩剛剛孵化的小鳥。
原來,鸚鵡是跟著母鳥來到這裡,幫助它照顧剛剛孵化的小鳥。看到這一幕,傑克笑了,他知道他的鸚鵡是一隻善良的生物,它的消失是為了做一件好事。
那一天,傑克和他的鸚鵡一起在森林裡度過了美好的一天。他們幫助小鳥找食物,一起在樹林裡玩耍。晚上,鸚鵡回到了籠子,傑克知道,無論鸚鵡飛到哪裡,它都會回到他身邊,因為這就是它的家。
在這個範例中,ChatGPT 從一個簡單的提示擴充套件出一個完整的故事,包括角色的動作、感情以及故事的發展和結局。
吳恩達的這門 Prompt Engineering 課程,主要講解了使用 Prompt 的基本原則,還有 LLM 大模型在各個場景下的使用方式。
關於使用 Prompt 要記住以下原則:
以上是課程的全部內容,課程內容不長,有興趣可以去官網學習。