掌握這3大提示技巧,讓你秒變GPT達人!
BlockBeats 律動財經 2023-04-09 15:30
為什麼提示工程如此重要?
提示工程的目標是通過提供清晰、簡潔且結構良好的輸入來提高語言模型的性能,這些輸入需要針對模型所用於的特定任務或應用進行定製。可以將提示工程比喻成與人交流時使用清晰明了的語言,讓對方更容易理解你的意圖,從而做出更滿意的回應。
那麼接下來,我們將依次介紹 OpenAI 提供的提示工程最佳實踐,FushionAI 的自動生成功能,以及讓 GPT 進行自我反思。我們還會提供一個額外的實用小技巧,請多留心!
OpenAI 的官方最佳提示技巧
1. 使用最新的模型
為了獲得最佳效果,我們建議使用最新、性能最強大的模型。截至 2022 年 11 月,文本生成方面的最佳選擇是「text-davinci-003」模型,代碼生成方面的最佳選擇是「code-davinci-002」模型。能使用 GPT-4 當然會比 ChatGPT 要更好。
2. 將指令放在提示的開頭,並用 ### 或"""將指令與文本分開
效果不佳:
將下面的文本摘要成一個關鍵要點的項目列表。
{輸入文本}
更好的選擇:
將下面的文本摘要成一個關鍵要點的項目列表。
文本:
""" {輸入文本} """
3. 對所需的上下文、結果、長度、格式、風格等儘可能具體、詳細和描述性
效果不佳:
寫一首關於 OpenAI 的詩。
更好的選擇:
寫一首關於 OpenAI 的短篇勵志詩,重點描述 DALL-E 產品發布(DALL-E 是一個文本到圖像的機器學習模型),風格仿照 {著名詩人}。
4. 通過示例(示例 1,示例 2)明確所需輸出格式
效果不佳:
從下面的文本中提取實體。提取以下 4 種實體類型:公司名稱、人名、特定主題和主題。
文本:{文本}
更好的選擇:
從下面的文本中提取重要實體。首先提取所有公司名稱,然後提取所有人名,然後提取與內容相關的特定主題,最後提取總體主題。
期望格式:
公司名稱:
人名:-||-
特定主題:-||-
總體主題:-||-
文本:{文本}
5. 從零次學習開始,然後進行少次學習,如果這些方法都不起作用,那麼進行微調
零次學習
從下面的文本中提取關鍵詞。
文本:{文本}
關鍵詞:
少次學習 - 提供幾個示例
從下面的文本中提取關鍵詞。
文本 1:Stripe 為 Web 開發人員提供了 API,以便他們將支付處理集成到自己的網站和行動應用程序中。
關鍵詞 1:Stripe,支付處理,API,Web 開發人員,網站,行動應用程序
文本 2:OpenAI 已經訓練出了處理和生成文本方面非常優秀的語言模型。我們的 API 可以讓您使用這些模型,解決幾乎任何涉及處理語言的任務。
關鍵詞 2:OpenAI,語言模型,文本處理,API。
文本 3:{文本}
關鍵詞 3:
微調:請參閱參考文獻里的微調最佳實踐指南。
6. 減少模糊和不精確的描述
效果不佳:
這個產品的描述應該比較簡短,只有幾句話,不要太多。
更好的選擇:
用 3 至 5 句話的段落來描述這個產品。
7. 不僅要說不做什麼,更應該說做什麼
效果不佳:
以下是代理和客戶之間的對話。不要詢問用戶名或密碼。不要重複。
客戶:我無法登錄我的帳戶。代理:
更好的選擇:
以下是代理和客戶之間的對話。代理將嘗試診斷問題並提出解決方案,同時避免詢問任何與個人身份資訊(PII)有關的問題。不要詢問用戶名或密碼,而是引導用戶查閱幫助文章 www.samplewebsite.com/help/faq
客戶:我無法登錄我的帳戶。代理:
8. 代碼生成 - 使用「引導詞」引導模型生成特定模式
效果不佳:
編寫一個簡單的 Python 函數
1. 詢問我一個以英里為單位的數字
2. 將英里換算成公里
在下面的代碼示例中,添加「import」提示模型應該以 Python 語言開始編寫。(類似地,「SELECT」是 SQL 語句開始的好提示。)
更好的選擇:
編寫一個簡單的 Python 函數
1. 詢問我一個以英里為單位的數字
2. 將英里換算成公里
import
FusionAI, 自動生成更好的提示
FusionAI 是一個可以自動生成更適合 GPT 提示並生成相應文章的 AI 軟體,我會建議新手期時將它當作學習提示工程的教程來使用。
例如,當我給出提示:「I want to have a blog of prompt engineering」FusionAI 會修改此提示為
可以看出來這樣生成出來的提示對照了前文提到的第 3 和第 6 條技巧,規定了輸入長度,要求變得更精確了,讓 AI 聚焦於提示工程的好處和挑戰,並且舉出相應例子。
讓我們用中文輸入挑戰一下 FusionAI。給出提示:「給我一篇關於提示工程的部落格」。FusionAI 修改提示為:
可以看出來這個提示是有嚴重偏差的,詞不達意,無法使用。這其實給我們提了個醒,語言和指令在轉譯的時候是會有資訊損失的,轉譯的次數越多資訊差就越大,直到不可辨別。因此我們要儘量接觸和使用一手資訊,在 AI 上也適用。
我們不建議使用各種模版或者類似 FusionAI 的工具來生成內容,因為噪音太大。當然,在你還不了解提示工程的時候可以參考它們來學習,這是可以的。
GPT,你得學會自我反思
在 Eric Jang 的一篇最新的部落格《Can LLMs Critique and Iterate on Their Own Outputs?》里,他提到 LLM 可以在沒有任何基礎反饋的情況下自我糾正,並嘗試將這樣的自我反思作為一種提示工程的技巧。(注意,目前只有 GPT-4 有這個功能)
你可以把這種情況想象成某人向你發送了一條短信,然後迅速「取消發送」,再發送一條新的短信。
讓我們舉個例子,當我們讓 GPT-4 寫出一首不押韻的詩:「can you write a poem that does not rhyme? think carefully about the assignment」,GPT-4 給出的回答是:
很明顯,節選的小詩是押韻的,這並不符合我們的要求。那麼我們給出進一步的指令讓 GPT-4 進行自我反思:「did the poem meet the assignment?」,那麼 GPT-4 會回答:
可以看出來,這次 GPT-4 生成的小詩確實是不押韻的,在沒有給出任何額外反饋的前提下 GPT-4 完成了自我的提示工程。筆者猜想這可能跟 LLM 的無監督學習有關,但為什麼 GPT-4 擁有此功能而 GPT-3.5 卻沒有,就不得而知了。
當然,這樣的能力也是有侷限的。如果你願意,你可以要求 GPT-4 隨機給出兩個五位數並且求出它們的乘積。接下來你會發現,無論你讓 GPT-4 怎麼反思,它都無法給出正確的答案。GPT-4 只會不斷客氣地胡說八道而已。對於想深入研究的讀者,可以從文末鏈接閱讀 Eric 的部落格和一篇最新的預印版論文《Reflection》
One more thing
有心的讀者可能已經發現了,作者在使用 LLM 一般都選擇英文作為提示語言。這是因為作為預訓練模型,其表現的優異程序與預訓練時的數據集有關係,一般來說數據越多則被訓練得越好。而英語作為全球第一的使用語言,數據量是遠超中文的。所以除非你需要輸出與中文語境強相關的文章,否則我會建議使用英文來作為提示語言。
總結
在這篇文章里我們介紹了三種提示工程的方法。分別是 OpenAI 推薦的前置提示工程,AI 自動生成,以及以反思為主的後置提示工程。同時,我們也建議非英語母語者嘗試使用英語作為與 LLM 交互的語言。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零開始學合約系列講座熱烈報名中
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇