偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

萬(wàn)字長(zhǎng)文總結(jié)提示詞技巧!新加坡首屆GPT-4提示工程大賽冠軍最新分享

人工智能 新聞
提示工程已經(jīng)成為了熱門(mén)話題,無(wú)論是CO-STAR框架構(gòu)建提示詞,使用分隔符將提示詞分段,使用LLM護(hù)欄創(chuàng)建系統(tǒng)提示,還是僅使用LLM(無(wú)需插件或代碼)分析數(shù)據(jù)集,用戶(hù)都將擁有全新的使用體驗(yàn)。

新加坡(GovTech)舉辦了首屆GPT-4提示工程競(jìng)賽,Sheila Teo很幸運(yùn)地取得了勝利。

提示工程是一門(mén)融合了藝術(shù)和科學(xué)的學(xué)科——它既是對(duì)技術(shù)的理解,也包含創(chuàng)造力和戰(zhàn)略思維。

這次她和我們分享了她在學(xué)習(xí)過(guò)程中學(xué)到的提示工程策略,這些策略可以讓任何LLM都可以完全滿(mǎn)足用戶(hù)的需求,甚至做得更多!

其中1,2指的是適合初學(xué)者的提示技術(shù),而3,4指的是高級(jí)策略:

  • 1. 使用CO-STAR框架構(gòu)建提示詞
  • 2. 使用分隔符將提示詞分段
  • 3. 使用LLM護(hù)欄創(chuàng)建系統(tǒng)提示符
  • 4. 僅使用LLM(無(wú)需插件或代碼)分析數(shù)據(jù)集

1. 使用CO-STAR框架構(gòu)建提示信息

有效的提示結(jié)構(gòu)對(duì)于從LLM那里獲取最佳回復(fù)至關(guān)重要。CO-STAR框架是新加坡政府科技部數(shù)據(jù)科學(xué)與人工智能團(tuán)隊(duì)的心血結(jié)晶,是構(gòu)建提示的便捷模板。

它考慮到了LLM回答的有效性和相關(guān)性的所有關(guān)鍵方面,從而使回答更加優(yōu)化。

圖片

具體操作如下:

(C)上下文:提供任務(wù)的上下文信息

這有助于LLM了解正在討論的具體情景,確保其答復(fù)具有相關(guān)性。

(O)目標(biāo):確定你希望LLM執(zhí)行的任務(wù)是什么

明確你的目標(biāo)有助于LLM把回答的重點(diǎn)放在實(shí)現(xiàn)這一具體目標(biāo)上。

(S)風(fēng)格:指明你希望LLM使用的寫(xiě)作風(fēng)格

這可以是某個(gè)名人的寫(xiě)作風(fēng)格,也可以是某個(gè)行業(yè)的某個(gè)專(zhuān)家,如商業(yè)分析專(zhuān)家或首席執(zhí)行官。這將引導(dǎo)LLM以符合你需求的方式和用詞做出回復(fù)。

(T)語(yǔ)氣:確定回復(fù)的態(tài)度

這可確保LLM的回復(fù)與所需的情感或情緒背景產(chǎn)生共鳴。例如,正式的、幽默的、善解人意的等。

(A)受眾:確定回復(fù)的對(duì)象

根據(jù)受眾(如某一領(lǐng)域的專(zhuān)家、初學(xué)者、兒童等)量身定制LLM的回復(fù),確保其在所需的語(yǔ)境中是恰當(dāng)?shù)?、可以理解的?/span>

(R)回復(fù):提供回復(fù)格式

這可確保LLM按照下游任務(wù)所需的準(zhǔn)確格式輸出。例如,列表、JSON、專(zhuān)業(yè)報(bào)告等。大多數(shù)LLM應(yīng)用程序都會(huì)以編程方式LLM回復(fù)進(jìn)行下游操作,對(duì)于這些應(yīng)用程序來(lái)說(shuō),JSON輸出格式是最理想的。

CO-STAR的實(shí)際應(yīng)用

下面是一個(gè)真實(shí)的例子,說(shuō)明CO-STAR框架為什么有用。

假設(shè)你是一名社交媒體經(jīng)理,你需要幫助起草一篇Facebook帖子來(lái)宣傳公司的新產(chǎn)品。

沒(méi)有CO-STAR的提示工程是這樣的:

在Facebook上寫(xiě)一篇文章,為我公司的新產(chǎn)品做廣告。我的公司名為Alpha,產(chǎn)品名為Beta,是一種新型超快速吹風(fēng)機(jī)。

下面是GPT-4的輸出結(jié)果:


介紹Alpha公司革命性的Beta吹風(fēng)機(jī)!


- 告別冗長(zhǎng)乏味的吹發(fā)過(guò)程!阿爾法隆重推出貝塔型吹風(fēng)機(jī),這是我們?cè)谧o(hù)發(fā)技術(shù)方面的最新創(chuàng)新。


- 超快吹干:得益于先進(jìn)、強(qiáng)勁的電機(jī),Beta可以將你的吹干時(shí)間縮短一半。讓你更快做好準(zhǔn)備,有更多時(shí)間做自己喜歡的事情!


這種輸出方式雖然夠用,但卻非常普通,缺乏必要的細(xì)微差別和有針對(duì)性的吸引力,無(wú)法引起公司受眾的共鳴。

下面是一個(gè)使用CO-STAR模板的示例,它提醒你將任務(wù)的其他方面融入你的提示中,特別是之前的快速提示中缺少的「風(fēng)格」、「語(yǔ)氣」和「受眾」方面:

圖片


#上下文#

我想為我公司的新產(chǎn)品做廣告。我的公司名叫Alpha,產(chǎn)品名叫Beta,是一種新型超快吹風(fēng)機(jī)。


#目標(biāo)#

為我創(chuàng)建一個(gè)Facebook帖子,目的是讓人們點(diǎn)擊產(chǎn)品鏈接購(gòu)買(mǎi)它。


#風(fēng)格#

效仿戴森等宣傳類(lèi)似產(chǎn)品的成功公司的寫(xiě)作風(fēng)格。


#語(yǔ)氣#

有說(shuō)服力的。


#受眾#

我公司在Facebook上的受眾通常是老一代人。請(qǐng)針對(duì)這部分受眾通常對(duì)美發(fā)產(chǎn)品的要求,量身定制你的帖子。


#回復(fù)#

Facebook上的帖子,簡(jiǎn)明扼要而又富有感染力。


通過(guò)應(yīng)用CO-STAR,GPT-4的回復(fù)變得更有針對(duì)性、更有效:

圖片


用Alpha Beta擁抱輕松優(yōu)雅--智慧一代的超快吹風(fēng)機(jī)。

使用Alpha Beta,重新找回簡(jiǎn)單有效的護(hù)發(fā)樂(lè)趣。我們的最新創(chuàng)新產(chǎn)品不僅僅是一款吹風(fēng)機(jī),它還是一個(gè)承諾,為那些熱愛(ài)生活的人提供快速、輕柔、可靠的頭發(fā)造型。


- 簡(jiǎn)單直觀:告別復(fù)雜的小工具。Alpha Beta為舒適和簡(jiǎn)便而設(shè)計(jì),非常適合那些看中直接、無(wú)憂技術(shù)的人。


- 省心技術(shù):我們知道你的時(shí)間非常寶貴。因此,Alpha Beta可以大大縮短吹干時(shí)間,讓你有更多時(shí)間享受生活的樂(lè)趣。使用Alpha Beta,讓每一天都成為美好的一天。體驗(yàn)精致與簡(jiǎn)約的完美融合。


CO-STAR框架指導(dǎo)你有條不紊地向LLM提供有關(guān)任務(wù)的所有關(guān)鍵信息,確保根據(jù)你的需求提供量身定制的優(yōu)化回復(fù)。

2. 使用分隔符將提示詞分段

分隔符是一種特殊的標(biāo)記,可幫助LLM區(qū)分提示詞的哪些部分應(yīng)被視為一個(gè)意義單元。這一點(diǎn)很重要,因?yàn)槟愕恼麄€(gè)提示信息是作為一長(zhǎng)串標(biāo)記符到達(dá)LLM的。

分隔符通過(guò)對(duì)提示詞的特定部分進(jìn)行區(qū)別對(duì)待,為這一語(yǔ)素序列塑造了結(jié)構(gòu)。

值得注意的是,對(duì)于簡(jiǎn)單的任務(wù),分隔符可能不會(huì)影響LLM的回復(fù)質(zhì)量。

但是,任務(wù)越復(fù)雜,使用分隔符進(jìn)行分段對(duì)LLM回答的影響就越大。

將分隔符用作特殊字符

分隔符可以是任何通常不會(huì)同時(shí)出現(xiàn)的特殊字符序列,例如:

  • ###
  • ===
  • >>> >>>

所選特殊字符的數(shù)量和類(lèi)型并不重要,只要它們足夠獨(dú)特,能讓LLM將其理解為內(nèi)容分隔符而非普通標(biāo)點(diǎn)符號(hào)即可。

下面舉例說(shuō)明如何在提示符中使用此類(lèi)分隔符:

圖片

將<<<CONVERSATIONS>>中每段對(duì)話的情緒分類(lèi)為「積極」或「消極」。給出情感分類(lèi),無(wú)需任何其他前言文本。


###


對(duì)話示例


[Agent]:早上好,有什么能幫你的嗎?

[顧客]:這個(gè)產(chǎn)品太糟糕了,和廣告上說(shuō)的完全不一樣!

[顧客]:我非常失望,希望全額退款。


[Agent]:早上好,有什么可以幫你?

[顧客]:你好,我只想說(shuō)你們的產(chǎn)品留下了深刻印象。它超出了我的預(yù)期!


###


輸出示例


「消極」


「積極」


###


<<<

[Agent]:你好,歡迎來(lái)到我們的支持中心。有什么可以幫你的嗎?

[顧客]:你好!我只是想讓你們知道我收到了我的訂單,而且太棒了。

[Agent]:很高興聽(tīng)到這個(gè)消息!我們很高興你對(duì)購(gòu)買(mǎi)的產(chǎn)品感到滿(mǎn)意。還有什么需要我?guī)兔Φ膯幔?/span>

[顧客]:沒(méi)有了。我只想給你一些積極的反饋。謝謝你們的優(yōu)質(zhì)服務(wù)。


[Agent]:你好,感謝你的聯(lián)系。有什么可以幫你?

[顧客]:我對(duì)最近購(gòu)買(mǎi)的產(chǎn)品非常失望。和我預(yù)期的完全不一樣。

[Agent]:很遺憾聽(tīng)到這個(gè)消息。能否請(qǐng)你提供更多詳細(xì)信息,以便我提供幫助?

[顧客]:產(chǎn)品質(zhì)量很差,而且到貨很晚。我真的不滿(mǎn)意。

>>>

以上示例使用分隔符####進(jìn)行分節(jié),分節(jié)標(biāo)題EXAMPLE CONVERSATIONS(示例對(duì)話)和EXAMPLE OUTPUTS(示例輸出)用大寫(xiě)字母區(qū)分。

序言指出,要分類(lèi)的對(duì)話被分在<<<CONVERSATIONS>>>內(nèi),這些對(duì)話隨后在提示的底部提供給LLM,但沒(méi)有任何解釋性文字,但由于分隔符<<< and>>>的存在,LLM明白這些是它應(yīng)該分類(lèi)的對(duì)話。

下面是GPT-4的輸出結(jié)果,其中給出了情感分類(lèi),但沒(méi)有像我們要求的那樣輸出任何其他前言文本:

「積極」


「消極」

將分隔符用作XML標(biāo)簽

使用分隔符的另一種方法是將其作為XML標(biāo)簽。XML標(biāo)簽是用角括號(hào)括起來(lái)的帶有開(kāi)頭和結(jié)尾的標(biāo)簽。<tag>和</tag>就是一個(gè)例子。

這種方法很有效,因?yàn)長(zhǎng)LM已經(jīng)接受過(guò)大量XML網(wǎng)頁(yè)內(nèi)容的訓(xùn)練,并學(xué)會(huì)了理解其格式。

下面是同樣的提示,但結(jié)構(gòu)上使用XML標(biāo)簽作為分隔符:

圖片

根據(jù)給出的示例,將以下對(duì)話的情感分為兩類(lèi)。在沒(méi)有任何其他前言文本。


<類(lèi)>

積極

消極

</類(lèi)>


<對(duì)話示例>

[Agent]:早上好,有什么可以幫你?

[顧客]:這個(gè)產(chǎn)品太糟糕了,和廣告上說(shuō)的完全不一樣!

[顧客]:我非常失望,希望全額退款。


[Agent]:早上好,有什么可以幫你?

[顧客]:你好,我只想說(shuō)你們的產(chǎn)品留下了深刻印象。它超出了我的預(yù)期!

</對(duì)話示例>


<示例類(lèi)>

積極

消極

</示例類(lèi)>


<對(duì)話>

[Agent]:你好!歡迎來(lái)到我們的支持中心。有什么可以幫你?

[顧客]:你好!我只是想讓你們知道我收到了我的訂單,而且太棒了。

[Agent]:很高興聽(tīng)到這個(gè)消息!還有什么需要我?guī)兔Φ膯幔?/span>

[顧客]:沒(méi)有了。我只想給你一些積極的反饋。謝謝你們的優(yōu)質(zhì)服務(wù)!


[Agent]:你好,感謝你的聯(lián)系。有什么可以幫你?

[顧客]:我對(duì)最近購(gòu)買(mǎi)的產(chǎn)品非常失望。和我預(yù)期的完全不一樣。

[Agent]:很遺憾聽(tīng)到這個(gè)消息。能否請(qǐng)你提供更多詳細(xì)信息,以便我提供幫助?

[顧客]:產(chǎn)品的質(zhì)量很差,而且很晚才送到。我對(duì)這次經(jīng)歷非常不滿(mǎn)意。

</對(duì)話>

在XML標(biāo)簽中,使用與你在說(shuō)明中用來(lái)描述它們的詞相同的名詞,是有好處的。

我們?cè)谏鲜鎏崾局薪o出的指令是:


用給出的例子,將以下對(duì)話的情感分為兩類(lèi),不要使用任何其他序言文本。


其中我們使用了名詞「對(duì)話」、「分類(lèi)」和「示例」。因此,我們用作分隔符的XML標(biāo)簽是<對(duì)話>、<類(lèi)>、<示例-對(duì)話> 和 <示例-類(lèi)>,確保LLM理解你的指令與用作分隔符的XML標(biāo)簽之間的關(guān)系。

同樣,通過(guò)使用分隔符,以清晰、有條理的方式對(duì)指令進(jìn)行分段,可確保GPT-4按你希望的方式作出回復(fù):


「積極」

「消極」


3. 使用LLM護(hù)欄創(chuàng)建系統(tǒng)提示

在進(jìn)入正題之前,需要注意的是本節(jié)只適用于具有系統(tǒng)提示功能的LLM,而不像本文其他章節(jié)那樣適用于任何LLM。

最著名的LLM當(dāng)然是ChatGPT,因此我們將使用ChatGPT作為本節(jié)的示例。

圍繞系統(tǒng)提示的術(shù)語(yǔ)

首先,讓我們來(lái)理清術(shù)語(yǔ):關(guān)于ChatGPT,有大量資源幾乎可以互換使用這三個(gè)術(shù)語(yǔ):「系統(tǒng)提示」、「系統(tǒng)消息」和 「自定義指令」。

這讓很多人感到困惑,以至于OpenAI發(fā)布了一篇文章來(lái)解釋這些術(shù)語(yǔ)。以下是其摘要:

  • 「系統(tǒng)提示」和 「系統(tǒng)消息」是通過(guò)聊天完成API以編程方式與ChatGPT進(jìn)行交互時(shí)使用的術(shù)語(yǔ)。
  • 另一方面,「自定義指令」是通過(guò)ChatGPT用戶(hù)界面與ChatGPT交互時(shí)使用的術(shù)語(yǔ)。

圖片

不過(guò)總的來(lái)說(shuō),這三個(gè)術(shù)語(yǔ)指的是同一件事,所以不要被術(shù)語(yǔ)混淆了!今后,本節(jié)將使用「系統(tǒng)提示」一詞?,F(xiàn)在讓我們深入了解一下!

什么是系統(tǒng)提示?

系統(tǒng)提示是一種附加提示,你可以在其中提供有關(guān)LLM行為方式的指令。它被認(rèn)為是附加的,因?yàn)樗粚儆谀銓?duì)LLM的「正?!固崾荆从脩?hù)提示)。

在聊天中,每次你提供新提示時(shí),系統(tǒng)提示都會(huì)像過(guò)濾器一樣,讓LLM在回復(fù)你的新提示前自動(dòng)應(yīng)用。這意味著LLM在聊天中的每次回復(fù)都會(huì)考慮到到系統(tǒng)提示。

何時(shí)使用系統(tǒng)提示?

你首先想到的問(wèn)題可能是:既然我也可以在與LLM進(jìn)一步對(duì)話之前,在新聊天的第一次提示中說(shuō)明,為什么還要在系統(tǒng)提示中說(shuō)明呢?

答案是,因?yàn)長(zhǎng)LM的對(duì)話內(nèi)存是有限的。在后一種情況下,隨著對(duì)話的繼續(xù),LLM很可能會(huì)「忘記」你在聊天中提供的第一條提示,從而遺忘這些提示。

另一方面,如果在系統(tǒng)提示自帶指令,那么這些系統(tǒng)提示就會(huì)與聊天中的每個(gè)新提示一起被自動(dòng)考慮。

這可以確保LLM在聊天過(guò)程中繼續(xù)接收這些提示,無(wú)論聊天時(shí)間多長(zhǎng)。

總之:在整個(gè)聊天過(guò)程中使用系統(tǒng)提示,可提供你希望LLM在回復(fù)時(shí)記住的提示。

系統(tǒng)提示應(yīng)包括哪些內(nèi)容?

系統(tǒng)提示中的說(shuō)明通常包括以下幾類(lèi):

  • 任務(wù)定義,這樣LLM就能在整個(gè)聊天過(guò)程中始終記住要做什么。
  • 輸出格式,以便LLM始終記住應(yīng)該如何回復(fù)。
  • 安全護(hù)欄,這樣LLM就能始終記住它應(yīng)該如何「不」回復(fù)。安全護(hù)欄是LLM管理中的新興領(lǐng)域,指的是LLM允許在其中運(yùn)行的配置范圍。

例如,系統(tǒng)提示可能如下所示:

圖片

你將使用此文本回答問(wèn)題:「插入文本」。

你將以這種格式回復(fù)一個(gè)JSON對(duì)象:{「問(wèn)題」:「答案」}。

如果文本中沒(méi)有足夠的信息來(lái)回答問(wèn)題,請(qǐng)不要編造信息,并將答案填寫(xiě)為 「NA」。

你只能回答與「插入范圍」相關(guān)的問(wèn)題。切勿回答任何與年齡、性別和宗教信仰等人口統(tǒng)計(jì)信息相關(guān)的問(wèn)題。

其中每個(gè)部分涉及的類(lèi)別如下:

圖片

但是,「正常」的聊天提示又是什么呢?

現(xiàn)在你可能會(huì)想:聽(tīng)起來(lái)系統(tǒng)提示中已經(jīng)提供了很多信息。那我應(yīng)該在聊天的 「正?!固崾荆从脩?hù)提示)中放點(diǎn)什么呢?

系統(tǒng)提示概述了當(dāng)前的任務(wù)。在上面的系統(tǒng)提示示例中,任務(wù)被定義為只使用一段特定文本來(lái)回答問(wèn)題,并且LLM被指示以{「問(wèn)題」:「答案」}格式。

圖片


你將使用此文本回答問(wèn)題:[插入文本]。

你將以這種格式回復(fù)一個(gè)JSON對(duì)象:{「問(wèn)題」:「答案」}。

在這種情況下,聊天的每個(gè)用戶(hù)提示都是你希望使用文本回答的問(wèn)題。例如,用戶(hù)提示可能是「文本是關(guān)于什么的」而LLM會(huì)回答{文本是關(guān)于什么的?文本是關(guān)于......}。

但是,讓我們進(jìn)一步概括這個(gè)任務(wù)示例。在這種情況下,我們可以將上述系統(tǒng)提示的第一行編輯為:

圖片


你將使用此文本回答問(wèn)題:[插入文字]。

你將使用提供的文本回答問(wèn)題。

現(xiàn)在,聊天的每個(gè)用戶(hù)提示,都會(huì)包括要回答問(wèn)題的文本和要回答的問(wèn)題,例如:[插入文本]:

圖片

在這里,我們還使用XML標(biāo)簽作為分隔符,以便有條理地向LLM提供所需的2條信息。

XML標(biāo)簽「文本」和「問(wèn)題」中使用的名詞,與系統(tǒng)提示中使用的名詞相對(duì)應(yīng),這樣LLM就能理解標(biāo)簽與系統(tǒng)提示指令之間的關(guān)系。

總之,系統(tǒng)提示應(yīng)給出總體任務(wù)指令,而每個(gè)用戶(hù)提示應(yīng)提供你需要任務(wù)執(zhí)行的具體細(xì)節(jié)。在本例中,這些具體內(nèi)容就是文本和問(wèn)題。

此外:使LLM護(hù)欄動(dòng)態(tài)化

以上是通過(guò)系統(tǒng)提示中的幾句話添加的護(hù)欄。這些護(hù)欄是一成不變的,在整個(gè)聊天過(guò)程中不會(huì)改變。

如果你希望在聊天的不同階段設(shè)置不同的護(hù)欄,該怎么辦?

不幸的是,對(duì)于ChatGPT用戶(hù)界面的用戶(hù)來(lái)說(shuō),現(xiàn)在還不能直接做到這一點(diǎn)。

不過(guò),如果你正在以編程方式與ChatGPT進(jìn)行交互,那你就走運(yùn)了!

隨著人們對(duì)構(gòu)建有效的LLM護(hù)欄的關(guān)注度越來(lái)越高,一些開(kāi)源軟件包也應(yīng)運(yùn)而生,它們可以讓你以編程方式設(shè)置更詳細(xì)、更動(dòng)態(tài)的護(hù)欄。

其中值得注意的是英偉達(dá)團(tuán)隊(duì)開(kāi)發(fā)的NeMo護(hù)欄,它允許你配置用戶(hù)與LLM之間的預(yù)期對(duì)話流,從而在聊天的不同點(diǎn)設(shè)置不同的護(hù)欄,使動(dòng)態(tài)護(hù)欄隨著聊天的進(jìn)行而發(fā)展。非常推薦你去看一看!

4. 僅使用LLM(無(wú)需插件或代碼)分析數(shù)據(jù)集

你可能聽(tīng)說(shuō)過(guò)OpenAI在ChatGPT的GPT-4中推出的高級(jí)數(shù)據(jù)分析插件,高級(jí)(付費(fèi))賬戶(hù)可以使用該插件。

它允許用戶(hù)將數(shù)據(jù)集上傳到ChatGPT,并直接在數(shù)據(jù)集上運(yùn)行代碼,從而進(jìn)行精確的數(shù)據(jù)分析。

但你知道嗎,使用LLM分析數(shù)據(jù)集并不一定需要這樣的插件?讓我們先來(lái)了解一下單純使用LLMs分析數(shù)據(jù)集的優(yōu)勢(shì)和局限性。

LLM「不擅長(zhǎng)」的數(shù)據(jù)集分析類(lèi)型

你可能已經(jīng)知道,LLM進(jìn)行精確數(shù)學(xué)計(jì)算的能力有限,因此它們不適合從事需要對(duì)數(shù)據(jù)集進(jìn)行精確定量分析的工作,例如:

  • 描述性統(tǒng)計(jì):通過(guò)平均值或方差等指標(biāo)對(duì)數(shù)字列進(jìn)行定量總結(jié)。
  • 相關(guān)性分析:獲取列之間的精確相關(guān)系數(shù)。
  • 統(tǒng)計(jì)分析:如假設(shè)檢驗(yàn),以確定各組數(shù)據(jù)點(diǎn)之間是否存在統(tǒng)計(jì)意義上的顯著差異。
  • 機(jī)器學(xué)習(xí):在數(shù)據(jù)集上執(zhí)行預(yù)測(cè)建模,如使用線性回歸、梯度提升樹(shù)或神經(jīng)網(wǎng)絡(luò)。

在數(shù)據(jù)集上執(zhí)行此類(lèi)定量任務(wù),是OpenAI高級(jí)數(shù)據(jù)分析插件存在的原因,這樣編程語(yǔ)言就可以在數(shù)據(jù)集上運(yùn)行代碼來(lái)執(zhí)行此類(lèi)任務(wù)。

那么,為什么有人要只使用LLM而不使用此類(lèi)插件來(lái)分析數(shù)據(jù)集呢?

LLM擅長(zhǎng)的數(shù)據(jù)集分析類(lèi)型

LLM擅長(zhǎng)識(shí)別模式和趨勢(shì)。這種能力源于它們?cè)诙鄻踊秃A繑?shù)據(jù)方面接受的廣泛培訓(xùn),使他們能夠辨別可能無(wú)法立即察覺(jué)的復(fù)雜模式。

這使它們非常適合執(zhí)行基于數(shù)據(jù)集模式識(shí)別的任務(wù),例如:

  • 異常檢測(cè):根據(jù)一個(gè)或多個(gè)列值,識(shí)別偏離常規(guī)的異常數(shù)據(jù)點(diǎn)。
  • 聚類(lèi):將各列中具有相似特征的數(shù)據(jù)點(diǎn)進(jìn)行分組。
  • 跨列關(guān)系:識(shí)別跨列的綜合趨勢(shì)。
  • 文本分析(針對(duì)基于文本的列):根據(jù)主題或情感進(jìn)行分類(lèi)。
  • 趨勢(shì)分析(針對(duì)有時(shí)間方面的數(shù)據(jù)集):識(shí)別跨時(shí)間列內(nèi)的模式、季節(jié)性變化或趨勢(shì)。

對(duì)于這類(lèi)基于模式的任務(wù),僅使用LLM可能比使用代碼在更短的時(shí)間內(nèi)獲得更好的結(jié)果!讓我們用一個(gè)例子來(lái)充分說(shuō)明這一點(diǎn)。

僅使用LLM分析Kaggle數(shù)據(jù)集

我們將使用一個(gè)流行的Kaggle數(shù)據(jù)集,該數(shù)據(jù)集是為客戶(hù)個(gè)性分析而策劃的,其中一家公司試圖對(duì)其客戶(hù)聚類(lèi)進(jìn)行細(xì)分,以便更好地了解客戶(hù)。

為便于稍后驗(yàn)證LLM的分析結(jié)果,我們將把該數(shù)據(jù)集子集為50行,并只保留最相關(guān)的列。

之后,用于分析的數(shù)據(jù)集將如下所示,其中每一行代表一位客戶(hù),每一列描述客戶(hù)信息:

圖片

假設(shè)你在公司的營(yíng)銷(xiāo)團(tuán)隊(duì)工作。你的任務(wù)是利用這個(gè)客戶(hù)信息數(shù)據(jù)集來(lái)指導(dǎo)營(yíng)銷(xiāo)工作。

這是一項(xiàng)分兩步走的任務(wù):首先,利用數(shù)據(jù)集生成有意義的客戶(hù)細(xì)分。

其次,就如何對(duì)每個(gè)細(xì)分市場(chǎng)進(jìn)行最佳營(yíng)銷(xiāo)提出想法?,F(xiàn)在,這是一個(gè)實(shí)際的商業(yè)問(wèn)題,LLM的模式發(fā)現(xiàn)(第一步)能力在這個(gè)問(wèn)題上確實(shí)可以大顯身手。

讓我們使用4種提示工程技術(shù),為這項(xiàng)任務(wù)設(shè)計(jì)如下提示:

1. 將復(fù)雜的任務(wù)分解成簡(jiǎn)單的步驟

2. 參考每個(gè)步驟的中間輸出

3. 編寫(xiě)LLM回答的格式

4. 將指令與數(shù)據(jù)集分開(kāi)

圖片

下面是GPT-4的回復(fù),我們繼續(xù)將數(shù)據(jù)集以CSV字符串的形式傳遞給它。

圖片

隨后,GPT-4按照我們要求的標(biāo)記符報(bào)告格式回復(fù)了分析結(jié)果:

圖片

圖片

圖片

驗(yàn)證LLM的分析結(jié)果

為簡(jiǎn)潔起見(jiàn),我們選取兩個(gè)由LLM生成的客戶(hù)聚類(lèi)進(jìn)行驗(yàn)證,例如年輕的家庭成員和挑剔的發(fā)燒友。

年輕的家庭

  • 由LLM綜合得出的特征:1980年以后出生、已婚或同居、中低收入、有子女、經(jīng)常小額消費(fèi)。
  • 按LLM聚類(lèi)為該組的行:3、4、7、10、16、20
  • 深入研究數(shù)據(jù)集,這些行的完整數(shù)據(jù)是:

圖片

這與LLM確定的配置文件完全一致。它甚至能夠在我們沒(méi)有事先進(jìn)行預(yù)處理的情況下,對(duì)帶有空值的行進(jìn)行聚類(lèi)!

挑剔的發(fā)燒友

  • 由LLM合成的特征:年齡跨度大、婚姻狀況不限、收入高、子女狀況各異、購(gòu)物花費(fèi)高。
  • 通過(guò)LLM聚類(lèi)到該組的行:2、5、18、29、34、36
  • 深入研究數(shù)據(jù)集,這些行的完整數(shù)據(jù)是:

圖片

這也非常符合LLM所確定的特征!

這個(gè)例子展示了LLM在發(fā)現(xiàn)模式、解釋多維數(shù)據(jù)集并將其提煉為有意義的見(jiàn)解方面的能力,同時(shí)確保其分析深深植根于數(shù)據(jù)集的事實(shí)真相。

如果我們使用ChatGPT的高級(jí)數(shù)據(jù)分析插件呢?

為了完整起見(jiàn),我用同樣的提示嘗試了同樣的任務(wù),但要求ChatGPT使用代碼來(lái)執(zhí)行分析,這就激活了它的高級(jí)數(shù)據(jù)分析插件。

我的想法是讓該插件使用K-Means等聚類(lèi)算法直接在數(shù)據(jù)集上運(yùn)行代碼,以獲得每個(gè)客戶(hù)聚類(lèi),然后再綜合每個(gè)聚類(lèi)的概況,從而提供營(yíng)銷(xiāo)策略。

然而,盡管數(shù)據(jù)集只有50行,但多次嘗試后都出現(xiàn)了以下錯(cuò)誤信息,并且沒(méi)有任何輸出:

圖片

圖片

現(xiàn)在使用高級(jí)數(shù)據(jù)分析插件,在數(shù)據(jù)集上執(zhí)行較簡(jiǎn)單的任務(wù)(如計(jì)算描述性統(tǒng)計(jì)或創(chuàng)建圖表)似乎很容易實(shí)現(xiàn),但需要計(jì)算算法的較高級(jí)任務(wù)有時(shí)可能會(huì)由于計(jì)算限制或其他原因?qū)е洛e(cuò)誤或無(wú)輸出。

那么,何時(shí)使用LLM分析數(shù)據(jù)集?

答案是取決于分析的類(lèi)型。

對(duì)于需要精確數(shù)學(xué)計(jì)算或復(fù)雜、基于規(guī)則的處理的任務(wù),傳統(tǒng)的編程方法仍然更勝一籌。

對(duì)于基于模式識(shí)別的任務(wù),使用傳統(tǒng)的編程和算法方法可能具有挑戰(zhàn)性或更耗時(shí)。然而,LLM擅長(zhǎng)此類(lèi)任務(wù),甚至可以提供額外的輸出,如支持其分析的附件和markdown格式的完整分析報(bào)告。

最終,是否使用LLM取決于當(dāng)前任務(wù)的性質(zhì),要在LLM在模式識(shí)別方面的優(yōu)勢(shì)與傳統(tǒng)編程技術(shù)提供的精確性和特定性之間取得平衡。

現(xiàn)在回到提示工程!

在本節(jié)結(jié)束之前,讓我們回過(guò)頭來(lái)看看用于生成本數(shù)據(jù)集分析的提示,并對(duì)所使用的關(guān)鍵提示工程技術(shù)進(jìn)行分析:

圖片

提示:

#上下文#

我是賣(mài)酒的。我有一個(gè)關(guān)于客戶(hù)信息的數(shù)據(jù)集:[出生年份、婚姻狀況、收入、孩子數(shù)量、距上次購(gòu)買(mǎi)的天數(shù)、消費(fèi)金額]。


#############


#目標(biāo)#

我希望你利用這個(gè)數(shù)據(jù)集將我的客戶(hù)分組,然后告訴我如何針對(duì)每個(gè)組別開(kāi)展?fàn)I銷(xiāo)活動(dòng)。請(qǐng)按以下步驟操作,不要使用代碼:


1. 聚類(lèi):使用數(shù)據(jù)集的列對(duì)數(shù)據(jù)集的行進(jìn)行聚類(lèi),使同一聚類(lèi)中的客戶(hù)具有相似的列值,而不同聚類(lèi)中的客戶(hù)具有明顯不同的列值。確保每一行只屬于一個(gè)聚類(lèi)。


對(duì)于找到的每個(gè)聚類(lèi):

2. CLUSTER_INFORMATION:根據(jù)數(shù)據(jù)集列描述聚類(lèi)。

3. 聚類(lèi)名稱(chēng):解釋[CLUSTER_INFORMATION]以獲得該聚類(lèi)客戶(hù)的簡(jiǎn)短名稱(chēng)。

4. marketing_ideas:產(chǎn)生向該客戶(hù)聚類(lèi)推銷(xiāo)我的產(chǎn)品的想法。

5. RATIONALE:解釋為什么[MARKETING_IDEAS]與該客戶(hù)聚類(lèi)相關(guān)且有效。


#############


#風(fēng)格#

商業(yè)分析報(bào)告

#############


#語(yǔ)氣#

專(zhuān)業(yè)、技術(shù)


#############


#受眾#

我的商業(yè)伙伴。讓他們相信你的營(yíng)銷(xiāo)策略是經(jīng)過(guò)深思熟慮的,并有充分的數(shù)據(jù)支持。


#############


#回復(fù):markdown報(bào)告#

<對(duì)于[CLUSTERS]>中的每個(gè)聚類(lèi)

- 客戶(hù)聚類(lèi):[CLUSTER_NAME]

- 簡(jiǎn)介:[CLUSTER_INFORMATION]

- 營(yíng)銷(xiāo)理念:[RATIONALE]

- 原因:[RATIONALE]


<附件>

列出屬于每個(gè)聚類(lèi)的行號(hào)列表,以支持你的分析。使用這些表頭:[[CLUSTER_NAME],行列表]。


#############


#開(kāi)始分析#

如果你能理解,請(qǐng)向我索要我的數(shù)據(jù)集。

技巧 1:將復(fù)雜任務(wù)分解成簡(jiǎn)單步驟

LLM擅長(zhǎng)完成簡(jiǎn)單的任務(wù),但對(duì)于復(fù)雜的任務(wù)就不那么擅長(zhǎng)了。因此,對(duì)于像這樣的復(fù)雜任務(wù),重要的是要把任務(wù)分解成簡(jiǎn)單的步驟說(shuō)明,讓LLM遵循。這樣做的目的是,向LLM提供你自己執(zhí)行任務(wù)時(shí)會(huì)采取的步驟。

在本例中,步驟如下:

圖片


請(qǐng)按以下步驟操作,不要使用代碼:


1. CLUSTERS:使用數(shù)據(jù)集的列對(duì)數(shù)據(jù)集的行進(jìn)行聚類(lèi),使同一聚類(lèi)中的客戶(hù)具有相似的列值,而不同聚類(lèi)中的客戶(hù)具有明顯不同的列值。確保每一行只屬于一個(gè)聚類(lèi)。


對(duì)于找到的每個(gè)聚類(lèi)

2. CLUSTER_INFORMATION:根據(jù)數(shù)據(jù)集列描述聚類(lèi)。

3. CLUSTER_NAME:解釋[CLUSTER_INFORMATION]以獲得該聚類(lèi)客戶(hù)的簡(jiǎn)短名稱(chēng)。

4. MARKETING_IDEAS:產(chǎn)生向該客戶(hù)聚類(lèi)推銷(xiāo)我的產(chǎn)品的想法。

5. RATIONALE:解釋為什么[MARKETING_IDEAS]與該客戶(hù)聚類(lèi)相關(guān)且有效。



不要簡(jiǎn)單地把總體任務(wù)交給LLM,而是讓它「把客戶(hù)分成幾組,然后就如何向每組客戶(hù)進(jìn)行營(yíng)銷(xiāo)提出想法」。

有了循序漸進(jìn)的指導(dǎo),LLM就更有可能取得正確的結(jié)果。

技巧 2:引用每一步的中間產(chǎn)出

在向LLM提供分步流程時(shí),我們會(huì)給每個(gè)步驟的中間輸出一個(gè)大寫(xiě)的變量名,即 CLUSTERS、CLUSTER_INFORMATION、CLUSTER_NAME、MARKETING_IDEAS和RATIONALE。

使用大寫(xiě)字母是為了將這些變量名與給出的指令正文區(qū)分開(kāi)來(lái)。以后可以用方括號(hào)[VARIABLE_NAME]來(lái)引用這些中間輸出。

技巧 3:規(guī)范LLM回復(fù)的格式

在這里,我們要求使用markdown報(bào)告格式,以美化LLM的回復(fù)。在這里,中間輸出中的變量名又派上了用場(chǎng),可以決定報(bào)告的結(jié)構(gòu)。

圖片


#回復(fù):markdown報(bào)告#

<對(duì)于[CLUSTERS]>中的每個(gè)聚類(lèi)

- 客戶(hù)聚類(lèi):[CLUSTER_NAME] 

- 簡(jiǎn)介:[CLUSTER_INFORMATION] 

- 營(yíng)銷(xiāo)理念:[MARKETING_IDEAS] 

- 原因:[RATIONALE] 


<附件>
列出屬于每個(gè)聚類(lèi)的行號(hào)列表,以支持你的分析。使用這些表頭:[[CLUSTER_NAME],行列表]。


事實(shí)上,你甚至可以隨后要求ChatGPT以可下載文件的形式提供報(bào)告,以便你在撰寫(xiě)最終報(bào)告時(shí)參考其答復(fù)。

圖片

技巧 4:將任務(wù)指令與數(shù)據(jù)集分開(kāi)

你會(huì)注意到,在第一個(gè)提示中,我們從未將數(shù)據(jù)集交給LLM。相反,提示中只給出了數(shù)據(jù)集分析的任務(wù)說(shuō)明,并將其添加到了底部:

圖片


#開(kāi)始分析#

如果你能理解,請(qǐng)向我檢索我的數(shù)據(jù)集。


ChatGPT隨后回復(fù)說(shuō)它能理解,我們?cè)谙乱粋€(gè)提示中將數(shù)據(jù)集作為CSV字符串傳遞給它:

圖片

但為什么要把指令和數(shù)據(jù)集分開(kāi)呢?

這樣做可以幫助LLM保持對(duì)每條指令的清晰理解,降低遺漏信息的可能性,尤其是像本任務(wù)這樣指令較長(zhǎng)的復(fù)雜任務(wù)。

你可能遇到過(guò)這樣的情況,即LLM「不小心遺忘」了你作為較長(zhǎng)提示的一部分給出的某個(gè)指令。例如,如果你要求給出100字的回復(fù),而LLM給你的回復(fù)是一個(gè)較長(zhǎng)的段落。

通過(guò)先接收指令,再接收指令所針對(duì)的數(shù)據(jù)集,LLM可以先消化它應(yīng)該做的事情,然后再對(duì)接下來(lái)提供的數(shù)據(jù)集執(zhí)行指令。

不過(guò)請(qǐng)注意,只有聊天LLM才能實(shí)現(xiàn)指令和數(shù)據(jù)集的分離,因?yàn)榱奶霯LM會(huì)保留會(huì)話記憶,而用于補(bǔ)全的LLM不會(huì)。

圖片

責(zé)任編輯:張燕妮 來(lái)源: 新智元
相關(guān)推薦

2021-10-18 11:58:56

負(fù)載均衡虛擬機(jī)

2024-05-10 12:59:58

PyTorch人工智能

2022-09-06 08:02:40

死鎖順序鎖輪詢(xún)鎖

2022-04-25 10:56:33

前端優(yōu)化性能

2021-01-19 05:49:44

DNS協(xié)議

2022-09-14 09:01:55

shell可視化

2024-09-09 05:00:00

RedisString數(shù)據(jù)庫(kù)

2020-07-15 08:57:40

HTTPSTCP協(xié)議

2020-11-16 10:47:14

FreeRTOS應(yīng)用嵌入式

2020-07-09 07:54:35

ThreadPoolE線程池

2022-10-10 08:35:17

kafka工作機(jī)制消息發(fā)送

2024-03-07 18:11:39

Golang采集鏈接

2022-07-19 16:03:14

KubernetesLinux

2023-06-12 08:49:12

RocketMQ消費(fèi)邏輯

2021-08-26 05:02:50

分布式設(shè)計(jì)

2024-01-11 09:53:31

面試C++

2022-09-08 10:14:29

人臉識(shí)別算法

2024-01-05 08:30:26

自動(dòng)駕駛算法

2022-07-15 16:31:49

Postman測(cè)試

2022-02-15 18:45:35

Linux進(jìn)程調(diào)度器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)