成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大模型 Prompt 技巧全解析

人工智能
本文將深入探討 prompt 的定義和撰寫(xiě)框架,詳細(xì)闡述打造高效 prompt 的原則與策略,同時(shí)從技術(shù)原理層面剖析 prompt,助力讀者更好地運(yùn)用大模型,提升業(yè)務(wù)價(jià)值。

作者 | mitin

在數(shù)字化浪潮的推動(dòng)下,AI大模型以其卓越的自然語(yǔ)言處理能力和智能交互特性,迅速在很多領(lǐng)域中占據(jù)了重要地位。比如:與傳統(tǒng)客服相比,AI大模型展現(xiàn)出了無(wú)可比擬的優(yōu)勢(shì),通過(guò)精心設(shè)計(jì)的 prompt,能使我們?cè)诳头泄堋⒅悄芸头榷鄠€(gè)項(xiàng)目和業(yè)務(wù)場(chǎng)景中發(fā)揮顯著作用,大幅提高工作效率,優(yōu)化成果質(zhì)量。

為了精進(jìn)個(gè)人能力以及助力產(chǎn)研學(xué)習(xí)氛圍的提升,本人在學(xué)習(xí)完吳恩達(dá)教授以及其他前輩們有關(guān) prompt 的課程之后,整理了這份學(xué)習(xí)資料,以供大家學(xué)習(xí)交流。該筆記將深入探討 prompt 的定義和撰寫(xiě)框架,詳細(xì)闡述打造高效 prompt 的原則與策略,同時(shí)從技術(shù)原理層面剖析 prompt,助力讀者更好地運(yùn)用大模型,提升業(yè)務(wù)價(jià)值。

第一節(jié):Prompt定義及基本框架

1. 什么是Prompt

大模型 prompt 指在大語(yǔ)言模型應(yīng)用中,用于 “提示” 模型喚起特定能力以解決實(shí)際問(wèn)題的提問(wèn)方式。早期它被稱作 “輸入形式” 或 “輸入模板”,后來(lái) “prompt”(提示)這一叫法因契合大語(yǔ)言模型語(yǔ)境,能準(zhǔn)確體現(xiàn)其在調(diào)用模型能力方面的關(guān)鍵作用,成為公認(rèn)術(shù)語(yǔ)。

大模型多數(shù)核心能力在預(yù)訓(xùn)練階段形成,prompt 就像鑰匙,引導(dǎo)模型從預(yù)訓(xùn)練積累的海量信息中,精準(zhǔn)喚起如理解復(fù)雜文本、總結(jié)信息、生成內(nèi)容、邏輯推理等能力,滿足用戶實(shí)際需求。它并非把模型當(dāng)作單純知識(shí)庫(kù),而是高效調(diào)用其能力,實(shí)現(xiàn)類似人類運(yùn)用智能解決復(fù)雜問(wèn)題的效果,是 prompt 工程的核心,對(duì)用好大語(yǔ)言模型意義重大。

2. 撰寫(xiě)Prompt的基本框架

(1) Prompt包含的要素

  • 指令:想要模型執(zhí)行的特定任務(wù)或指令。
  • 上下文:包含外部信息或額外的上下文信息,引導(dǎo)語(yǔ)言模型更好地響應(yīng)。
  • 輸入數(shù)據(jù):用戶輸入的內(nèi)容或問(wèn)題。
  • 輸出指示:指定輸出的類型或格式。

(2) Prompt五大框架

① RTF框架

RTF(Role-Task-Format)框架是一個(gè)非常簡(jiǎn)單通用的Prompt提示框架,我們和任意大模型對(duì)話場(chǎng)景下都可以使用該規(guī)范進(jìn)行改進(jìn)輸出。

  • R-Role(角色):指定大模型擔(dān)當(dāng)固定角色(程序員、數(shù)據(jù)分析師、講解員、記者等等)
  • T-Task(任務(wù)): 任務(wù),告訴大模型需要為我們做的事情
  • F-Format(格式):大模型最終結(jié)果的返回格式(比如:表格、Markdown、英文等等)

主要優(yōu)點(diǎn):

  • 簡(jiǎn)單、方便。
  • 指定Role角色,可以讓大模型在當(dāng)前的角色范圍內(nèi)回答知識(shí),這在一些特定的領(lǐng)域中非常有效。
  • 指定Role角色也能讓工程上檢索知識(shí)能夠確定邊界范圍,配合元數(shù)據(jù)所發(fā)揮的威力會(huì)更強(qiáng)。
  • 如果結(jié)合RAG知識(shí)內(nèi)容檢索,那么上下文回答的內(nèi)容會(huì)讓用戶感覺(jué)更加是順暢。

② 思考鏈模式

通過(guò)這種模式來(lái)逐步改善大模型的推理能力,非常適合一些復(fù)雜的任務(wù)處理。例如:

  • 分析型或者邏輯推理型的任務(wù)
  • 決策
  • 解決問(wèn)題(比如程序員根據(jù)錯(cuò)誤日志找Bug)

而要使用這種模式,只需要在末尾添加”讓我們逐步思考”即可。例如:

# 數(shù)據(jù)源(與指令區(qū)分)
user_datasource = """XXX……""" 

prompt1 = """分析一下在人工客服服務(wù)場(chǎng)景下,'''{user_datasource}'''中客戶有哪些訴求。用一句話概括。"""
prompt2 = """分析一下在人工客服服務(wù)場(chǎng)景下,'''{user_datasource}'''中客戶有哪些訴求。用一句話概括。讓我們逐步思考。"""

# 模型輸出結(jié)果
output1:在人工客服服務(wù)場(chǎng)景下,客戶主要訴求為:微信賬號(hào)存在安全風(fēng)險(xiǎn)導(dǎo)致無(wú)法添加好友、單點(diǎn)攔截、下載安裝微信出現(xiàn)問(wèn)題等,尋求客服協(xié)助解決問(wèn)題。
output2:在人工客服服務(wù)場(chǎng)景下,客戶主要訴求為:微信賬號(hào)存在安全風(fēng)險(xiǎn)導(dǎo)致無(wú)法添加好友,以及因違規(guī)行為被限制登錄,客戶希望客服能夠盡快處理這些問(wèn)題。

# 分析結(jié)果
output1中的”單點(diǎn)攔截”并不是用戶的訴求,而output2顯然更加正確

③ RISEN框架

  • R-Role:大模型扮演的角色
  • I-Instructions: 指示命令,和Task-任務(wù)差不多
  • S-Steps: 步驟
  • E-End Goal: 最終目標(biāo)
  • N-Narrowing(Constraints): 縮小范圍(約束條件),和RTF框架中的Format有異曲同工之妙,一個(gè)是格式的約束,而這里的約束可以是任意方面,比如回答的內(nèi)容(特定領(lǐng)域)、字?jǐn)?shù)限制等等方面

該框架主要適合:

  • 撰寫(xiě)具有特定約束的任務(wù)(例如博客文章)
  • 有明確指導(dǎo)方針的任務(wù)(例如商業(yè)計(jì)劃)

④ RODES框架

  • R-Role: 角色
  • O - Objective: 目標(biāo)
  • D - Details: 詳細(xì)的細(xì)節(jié)
  • E - Examples: 示例
  • S - Sense Check: 感官檢查

⑤ 密度鏈模式

密度鏈模式Prompt是Salesforce、麻省理工學(xué)院和哥倫比亞大學(xué)的研究人員推出的一種新提示,它非常的高效,使用遞歸來(lái)創(chuàng)建越來(lái)越好的輸出的提示,與普通提示生成的 GPT-4 摘要相比,它生成的摘要更加密集且更適合人們理解。

適合:

  • 總結(jié)
  • 改進(jìn)您最喜歡的提示
  • 通過(guò)遞歸生成可用的長(zhǎng)格式內(nèi)容

(感興趣的同學(xué)可以自己檢索一下)

第二節(jié):打造高效Prompt的兩大核心原則

在Prompt工程領(lǐng)域,掌握精妙的撰寫(xiě)策略是釋放語(yǔ)言模型強(qiáng)大潛力的關(guān)鍵。本節(jié)將深入探討prompt撰寫(xiě)的兩大核心策略,為您揭示如何通過(guò)優(yōu)化指令,引導(dǎo)模型生成更貼合需求、更具質(zhì)量的輸出。

1. 原則一:編寫(xiě)明確和具體的指令

為了讓模型精準(zhǔn)理解我們的意圖,編寫(xiě)清晰、明確且具體的指令至關(guān)重要。這不僅能避免模型產(chǎn)生誤解,還能顯著提升輸出結(jié)果的相關(guān)性和準(zhǔn)確性。

策略1:使用分隔符清晰界定輸入部分

在構(gòu)建prompt時(shí),使用分隔符將特定文本部分與提示的其他部分清晰隔開(kāi),能有效避免提示詞沖突。任何能讓模型識(shí)別出單獨(dú)部分的符號(hào)都可作為分隔符,常見(jiàn)的包括:

  • 章節(jié)標(biāo)題:通過(guò)不同層級(jí)的標(biāo)題區(qū)分不同內(nèi)容模塊。
  • 三重雙引號(hào):""" ,在代碼編寫(xiě)中常用于包裹較長(zhǎng)的文本字符串。
  • 三重單引號(hào):''' ,功能與三重雙引號(hào)類似,適用于不同的語(yǔ)法環(huán)境。
  • 三重破折號(hào):--- ,在文本中起到明顯的分隔作用。
  • 角括號(hào):<> ,常被用于標(biāo)記特定元素。
  • XML標(biāo)簽:,利用結(jié)構(gòu)化的標(biāo)簽形式區(qū)分不同內(nèi)容。

示例1:假設(shè)我們需要對(duì)一段產(chǎn)品描述進(jìn)行總結(jié),可通過(guò)如下方式使用分隔符:

product_description = f"""這是一款全新的智能手表,具備心率監(jiān)測(cè)、睡眠追蹤等健康功能,還支持多種運(yùn)動(dòng)模式記錄,擁有高清顯示屏和長(zhǎng)達(dá)7天的續(xù)航能力。"""
prompt =  f"""請(qǐng)總結(jié)以下產(chǎn)品描述:'''{product_description}'''"""

示例2:如果要讓模型對(duì)一段用戶評(píng)論進(jìn)行情感分析,示例如下:

user_comment = f"""這款手機(jī)的拍照效果真的太棒了,色彩還原度高,夜景模式也很出色,唯一不足的是電池續(xù)航有點(diǎn)短。"""
prompt = f"""分析以下用戶評(píng)論的情感傾向:''' {user_comment}''' """

這種方式能夠確保模型明確區(qū)分指令和待處理文本,避免因指令混淆而產(chǎn)生錯(cuò)誤輸出。

策略2:要求結(jié)構(gòu)化輸出

為了便于后續(xù)對(duì)模型輸出進(jìn)行解析和處理,我們可以要求模型以特定的結(jié)構(gòu)化格式輸出,如HTML或JSON。這種方式能極大提高數(shù)據(jù)處理的效率,尤其是在Python編程環(huán)境中,結(jié)構(gòu)化輸出可直接讀入字典或列表中,方便進(jìn)一步的分析與操作。

示例 1:要求模型以 JSON 格式輸出。

prompt = "請(qǐng)以json格式列出每個(gè)nodeType所體現(xiàn)的用戶訴求、客服方案。每一個(gè)json-value不超過(guò)20個(gè)字"

# 數(shù)據(jù)源(與指令區(qū)分)
user_datasource = """XXX……""" 

# 模型輸出
{
"IVR": {
"用戶訴求": "微信使用問(wèn)題求助",
"客服方案": "引導(dǎo)正常使用或自助處理"
},
"ASYNC": {
"用戶訴求": "賬號(hào)封禁等相關(guān)申訴",
"客服方案": "按規(guī)則處理或引導(dǎo)自助"
},
"AI": {
"用戶訴求": "支付相關(guān)問(wèn)題咨詢",
"客服方案": "要求用戶詳細(xì)描述問(wèn)題"
}
}

示例2:以HTML格式輸出一個(gè)簡(jiǎn)單的書(shū)籍。

prompt = "請(qǐng)以HTML格式列出三本你推薦的科幻小說(shuō)及其作者。"
# 模型輸出
<ul>
    <li>《三體》 - 劉慈欣</li>
    <li>《基地》 - 艾薩克·阿西莫夫</li>
    <li>《銀河帝國(guó):機(jī)器人五部曲》 - 艾薩克·阿西莫夫</li>
</ul>

策略3:要求模型檢查條件是否滿足

在面對(duì)復(fù)雜任務(wù)時(shí),如果在一些假設(shè)條件,而這些條件并非總是成立,那么我們需要引導(dǎo)模型首先對(duì)這些假設(shè)進(jìn)行檢查。若條件不滿足,模型應(yīng)明確指示并停止繼續(xù)執(zhí)行任務(wù),以避免無(wú)效計(jì)算和錯(cuò)誤結(jié)果。同時(shí),考慮潛在的邊緣情況,并為模型設(shè)定相應(yīng)的處理規(guī)則,能夠有效減少意外錯(cuò)誤,確保模型輸出的穩(wěn)定性和可靠性。

示例:假設(shè)我們要求模型計(jì)算一個(gè)數(shù)學(xué)表達(dá)式,但前提是表達(dá)式所有都為正數(shù)。

expression = "5 + 3 - (-2)"
prompt = f"""首先檢查表達(dá)式 '{expression}' 中的所有數(shù)字是否都為正數(shù)。如果是,請(qǐng)計(jì)算該表達(dá)式的值;如果不是,請(qǐng)輸出'表達(dá)式中存在非正數(shù),無(wú)法計(jì)算'。"""
# 模型輸出
表達(dá)式中存在非正數(shù),無(wú)法計(jì)算

策略4:Few-shot prompting(少樣本提示)

在要求模型執(zhí),提供成功完成任務(wù)的示例,能夠幫助模型更好地理解任務(wù)要求和期望輸出的格式。通過(guò)這些示例,模型可以學(xué)習(xí)到任務(wù)的模式和規(guī)律,從而在處理實(shí)際輸入時(shí)生成更符合預(yù)期的結(jié)果。少樣本提示尤其適用于處理一些復(fù)雜或具有特定格式要求的任務(wù),能夠顯著提升模型的表現(xiàn)。

示例:要求模型按照特定格式將中文詞匯翻譯成英文并造句。

prompt = """
示例1:
中文詞匯:蘋果
翻譯:apple
造句:I like to eat apples.

示例2:
中文詞匯:學(xué)校
翻譯:school
造句:I go to school every day.

中文詞匯:圖書(shū)館
翻譯:
造句:
"""
# 模型輸出
翻譯:library
造句:I often read books in the library.

2. 原則二:給予模型充足的思考時(shí)間

當(dāng)模型因急于得出結(jié)論而出現(xiàn)推理錯(cuò)誤時(shí),我們需要通過(guò)優(yōu)化式,為模型提供更清晰的推理路徑,引導(dǎo)其進(jìn)行更深入、全面的思考。

策略1:明確完成任務(wù)所需的步驟

為模型詳細(xì)指定完成任務(wù)所需遵循的步驟,能夠幫助模型有條不推理和計(jì)算。通過(guò)這種方式,模型可以更清晰地理解任務(wù)的邏輯結(jié)構(gòu),避免因思路混亂而產(chǎn)生錯(cuò)誤。例如,要求模型按照特定格式輸出,能夠引導(dǎo)其在處理過(guò)程中注重信息的組織和呈現(xiàn)方式。

示例:要求模型分析一首古詩(shī),格式為“詩(shī)歌主題 - 主要意象 - 表達(dá)情感”。

poem = "床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。"
prompt = f"""請(qǐng)按照“詩(shī)歌主題 - 主要意象 - 表達(dá)情感”的格式分析這首詩(shī):{poem}"""
# 模型輸出
思鄉(xiāng)之情 - 明月 - 對(duì)故鄉(xiāng)的深切思念

策略2:引導(dǎo)模型在得出結(jié)論前充分思考方案

明確指示模型在得出最終結(jié)論前,先進(jìn)行充分的推理和分析,往往能獲得更優(yōu)的結(jié)果。這種方式能夠促使模型深入挖掘問(wèn)題的本質(zhì),綜合考慮各種因素,從而避免因片面或倉(cāng)促的判斷而導(dǎo)致的錯(cuò)誤。

示例:?jiǎn)柲P汀叭绾翁岣吖镜膯T工滿意度”。

prompt = "在回答如何提高公司的員工滿意度之前,請(qǐng)先思考至少三個(gè)方面的因素,然后綜合這些因素給出全面的建議。"
# 模型輸出
首先,從薪酬福利方面,可適當(dāng)提高薪資水平、完善福利體系,如增加帶薪休假天數(shù)等;其次,從職業(yè)發(fā)展角度,為員工提供更多培訓(xùn)機(jī)會(huì)和晉升通道;再者,從工作環(huán)境來(lái)看,營(yíng)造舒適、和諧的辦公氛圍,加強(qiáng)團(tuán)隊(duì)建設(shè)活動(dòng)。綜合這些方面,提高公司員工滿意度可以從優(yōu)化薪酬福利、提供職業(yè)發(fā)展機(jī)會(huì)以及改善工作環(huán)境等措施入手。

3.模型的局限性與應(yīng)對(duì)策略

盡管語(yǔ)言模型在大量數(shù)據(jù)的訓(xùn)練下展現(xiàn)出強(qiáng)大的能力,但它們并非完美無(wú)缺。其中,“幻覺(jué)”現(xiàn)象是模型面?zhèn)€重要挑戰(zhàn)。

(1) 模型“幻覺(jué)”

即使模型在訓(xùn)練過(guò)程中接觸了海量知識(shí),但它并不能完美記住所有信息,也難以精準(zhǔn)把握自身知識(shí)的邊界。這就導(dǎo)致在面對(duì)晦澀主題的問(wèn)題時(shí),模型可能會(huì)編造出看似合理但實(shí)際上錯(cuò)誤的內(nèi)容,這就是所謂的“幻覺(jué)”。

(2) 解決幻覺(jué)的一種策略

為了有效應(yīng)對(duì)幻覺(jué)問(wèn)題,我們可以要求模型在回答問(wèn)題前,首先從給定文本中尋找相關(guān)引用,并依據(jù)這些引用來(lái)構(gòu)建答這種方式,模型的回答將基于可靠的信息來(lái)源,而非憑空臆測(cè),從而大大提高回答的準(zhǔn)確性和可信度。同時(shí),這種方法還能夠?qū)崿F(xiàn)答案的可追溯性,便于對(duì)模型輸出進(jìn)行驗(yàn)證和審查。

示例:給定一段關(guān)于歷史事件的文本,要求模型回答相關(guān)問(wèn)題。

text = """1861年,美國(guó)爆發(fā)了南北戰(zhàn)爭(zhēng),這場(chǎng)戰(zhàn)爭(zhēng)是美國(guó)歷史上的重要轉(zhuǎn)折點(diǎn),它主要圍繞奴隸制的存廢問(wèn)題展開(kāi),北方主張廢除奴隸制,南方則堅(jiān)持保留。最終北方取得了勝利,為美國(guó)的工業(yè)化發(fā)展鋪平了道路。"""
prompt = f"""請(qǐng)從上述文本中找出相關(guān)信息,回答南北戰(zhàn)爭(zhēng)主要圍繞什么問(wèn)題展開(kāi)?"""
# 模型輸出
南北戰(zhàn)爭(zhēng)主要圍繞奴隸制的存廢問(wèn)題展開(kāi),北方主張廢除奴隸制,南方則堅(jiān)持保留。

第三節(jié):Prompt技術(shù)剖析與應(yīng)用

在深入探索 prompt 技術(shù)的征程中,我們將逐一解析多種關(guān)鍵技術(shù),助力您精準(zhǔn)把握其核心要點(diǎn)與應(yīng)用場(chǎng)景,切實(shí)提升應(yīng)用能力。

1. 零樣本提示(Zero-Shot Prompting)

零樣本提示是一種讓模型在沒(méi)有特定任務(wù)示例展示的情況下直接處理任務(wù)的技術(shù)。其原理在于模型經(jīng)過(guò)大量數(shù)據(jù)訓(xùn)練和指令調(diào)整后,自身具備了一定的通用知識(shí)和任務(wù)理解能力。例如:

prompt = "判斷此文本的情感傾向?yàn)榉e極、消極或中性:這部電影情節(jié)緊湊,特效驚人。情感:"
# 模型會(huì)依據(jù)自身預(yù)訓(xùn)練知識(shí)對(duì)這個(gè)提示進(jìn)行處理并輸出結(jié)果

模型能依據(jù)自身預(yù)訓(xùn)練知識(shí)輸出“積極”。然而,由于缺乏具體示例引導(dǎo),對(duì)于復(fù)雜任務(wù),其效果可能受限。

2. 少樣本提示(Few-Shot Prompting)

少樣本提示在零樣本提示效果不佳時(shí)發(fā)揮作用。它通過(guò)為模型提供少量任務(wù)示例,幫助模型學(xué)習(xí)任務(wù)模式和規(guī)律。例如:

prompt = """“whatpu”是坦桑尼亞的一種小型毛茸茸的動(dòng)物。一個(gè)使用 whatpu 這個(gè)詞的句子的例子是:我們?cè)诜侵蘼眯袝r(shí)看到了這些非??蓯?ài)的whatpus?!癴arduddle”是指快速跳上跳下。一個(gè)使用 farduddle 這個(gè)詞的句子的例子是:"""
# 模型會(huì)根據(jù)前面的示例學(xué)習(xí)并生成新的句子

通過(guò)提供如上述新詞匯造句的示例,模型能夠模仿示例的結(jié)構(gòu)和邏輯生成新的內(nèi)容。不過(guò)在復(fù)雜推理任務(wù)中,仍需進(jìn)一步優(yōu)化。

3. 思維鏈提示(Chain-of-Thought Prompting)

思維鏈提示旨在為模型提供清晰的推理步驟引導(dǎo),從而顯著提升其在復(fù)雜推理任務(wù)中的表現(xiàn)。它通過(guò)在提示中展示詳細(xì)的推理過(guò)程,讓模型學(xué)習(xí)如何逐步分析和解決問(wèn)題。比如:

prompt = """Roger 有 5 個(gè)網(wǎng)球,他又買了 2 罐網(wǎng)球,每罐有 3 個(gè)球,他現(xiàn)在共有多少球?
Roger 一開(kāi)始有 5 個(gè)球。
2 罐網(wǎng)球,每罐 3 個(gè),共 6 個(gè)球。
5 + 6 = 11。
答案是 11。"""
# 模型按照提示中的推理步驟進(jìn)行計(jì)算和回答

此技術(shù)可與少樣本提示結(jié)合,增強(qiáng)效果,尤其適用于算術(shù)、常識(shí)推理等任務(wù),幫助模型更有條理地處理問(wèn)題。

4.自我一致性(Self-Consistency)

自我一致性技術(shù)主要用于優(yōu)化思維鏈提示中的推理路徑選擇。其核心思想是通過(guò)提供多個(gè)少樣本推理示例,讓模型從多樣的推理結(jié)果中篩選出最一致的答案,增強(qiáng)模型在算術(shù)和常識(shí)推理任務(wù)中的可靠性。比如:

prompt = """Q:林中有 15 棵樹(shù)。林業(yè)工人今天將在林中種樹(shù)。完成后,將有 21 棵樹(shù)。林業(yè)工人今天種了多少棵樹(shù)?
A:我們從 15 棵樹(shù)開(kāi)始。后來(lái)我們有 21 棵樹(shù)。差異必須是他們種樹(shù)的數(shù)量。因此,他們必須種了 21 - 15 = 6 棵樹(shù)。答案是 6。
Q:停車場(chǎng)有 3 輛汽車,又來(lái)了 2 輛汽車,停車場(chǎng)有多少輛汽車?
A:停車場(chǎng)已經(jīng)有 3 輛汽車。又來(lái)了 2 輛?,F(xiàn)在有 3 + 2 = 5 輛汽車。答案是 5。
Q:當(dāng)我 6 歲時(shí),我的妹妹是我的一半年齡。現(xiàn)在我 70 歲了,我的妹妹多大?
A:"""
# 模型會(huì)參考前面的推理示例對(duì)最后一個(gè)問(wèn)題進(jìn)行回答,并從多個(gè)可能的回答中選擇最一致的答案

5.生成知識(shí)提示(Generated Knowledge Prompting)

生成知識(shí)提示主要用于解決模型在處理需要額外知識(shí)的任務(wù)時(shí)出現(xiàn)的局限性。它的操作方式是先讓模型生成與任務(wù)相關(guān)的知識(shí),再整合這些知識(shí)得出準(zhǔn)確答案。比如:

prompt = """輸入:高爾夫球的一部分是試圖獲得比其他人更高的得分。
知識(shí):高爾夫球的目標(biāo)是以最少的桿數(shù)打完一組洞。一輪高爾夫球比賽通常包括 18 個(gè)洞。每個(gè)洞在標(biāo)準(zhǔn)高爾夫球場(chǎng)上一輪只打一次。每個(gè)桿計(jì)為一分,總桿數(shù)用于確定比賽的獲勝者。
解釋和答案:"""
# 模型根據(jù)生成的知識(shí)對(duì)問(wèn)題進(jìn)行回答

像這樣先生成相關(guān)知識(shí),再整合知識(shí)得出準(zhǔn)確答案“不是,高爾夫球的目標(biāo)是以最少桿數(shù)完成比賽,而非追求更高得分”,有效提升模型在常識(shí)推理任務(wù)的準(zhǔn)確性。

6. 鏈?zhǔn)教崾荆≒rompt Chaining)

鏈?zhǔn)教崾臼菍?fù)雜任務(wù)拆解為多個(gè)子任務(wù),通過(guò)逐個(gè)子任務(wù)生成提示并傳遞結(jié)果的方式來(lái)實(shí)現(xiàn)復(fù)雜任務(wù)的有序處理。以文檔問(wèn)答為例:

# 第一個(gè)提示用于提取相關(guān)引文
prompt1 = """你是一個(gè)很有幫助的助手。你的任務(wù)是根據(jù)文檔回答問(wèn)題。第一步是從文檔中提取與問(wèn)題相關(guān)的引文,由####分隔。請(qǐng)使用<quotes></quotes>輸出引文列表。如果沒(méi)有找到相關(guān)引文,請(qǐng)回應(yīng)“未找到相關(guān)引文!”。#### {{文檔}} ####"""
# 假設(shè)這里有一個(gè)文檔變量 doc,將其代入提示中進(jìn)行處理
# 處理后得到引文列表,假設(shè)為 quotes_list

# 第二個(gè)提示根據(jù)引文和文檔生成回答
prompt2 = """根據(jù)從文檔中提取的相關(guān)引文(由<quotes></quotes>分隔)和原始文檔(由####分隔),請(qǐng)構(gòu)建對(duì)問(wèn)題的回答。請(qǐng)確保答案準(zhǔn)確、語(yǔ)氣友好且有幫助。#### {{文檔}} #### <quotes>{quotes_list}</quotes>"""
# 模型根據(jù)第二個(gè)提示生成最終回答

這種方式提高了任務(wù)處理的準(zhǔn)確性與可靠性,使得模型能夠逐步深入地處理復(fù)雜問(wèn)題。

7. 思維樹(shù)(ToT)

思維樹(shù)框架是為了幫助模型應(yīng)對(duì)復(fù)雜的探索性任務(wù)而設(shè)計(jì)的。它通過(guò)維護(hù)一棵思維樹(shù),讓模型在解決問(wèn)題時(shí)能夠生成和評(píng)估中間思維步驟,并結(jié)合搜索算法進(jìn)行系統(tǒng)性探索。示例如下:

# 假設(shè)給定數(shù)字為 4、9、10、13
prompt = """輸入: 4 9 10 13
4 + 9 = 13 (left 10 13 13)
10 - 4 = 6 (left 6 9 13)
13 - 6 = 7 13 - 9 = 4
4 + 6 = 10 (left 7 9 4 * 6 = 24 (left 4 6)
評(píng)估是否能得到 24: sure
"""
# 模型按照思維樹(shù)的步驟進(jìn)行推理和計(jì)算,并根據(jù)評(píng)估結(jié)果繼續(xù)搜索或得出答案

8. 檢索增強(qiáng)生成(RAG)

檢索增強(qiáng)生成(RAG)技術(shù)將信息檢索與文本生成相結(jié)合,專門用于處理知識(shí)密集型任務(wù)。它通過(guò)檢索相關(guān)文檔來(lái)為模型提供額外的知識(shí)支持,從而緩解模型的“幻覺(jué)”問(wèn)題。例如:

# 假設(shè)這里有一個(gè)檢索函數(shù) retrieve_documents 和一個(gè)生成答案的函數(shù) generate_answer
question = "誰(shuí)是首次登上月球的人?"
documents = retrieve_documents(question)
prompt = "根據(jù)以下文檔回答問(wèn)題:" + str(documents) + " 問(wèn)題是:" + question
answer = generate_answer(prompt)
# 最終得到的 answer 即為模型結(jié)合檢索結(jié)果生成的答案

這有效確保答案基于可靠知識(shí)源,在自然問(wèn)題、事實(shí)驗(yàn)證等基準(zhǔn)測(cè)試中表現(xiàn)卓越。

9. 自動(dòng)推理并使用工具(ART)

自動(dòng)推理并使用工具(ART)技術(shù)使模型能夠自動(dòng)生成包含推理步驟的程序,并在需要時(shí)調(diào)用外部工具。例如:

prompt = """計(jì)算 16 個(gè)蘋果平均分給 4 個(gè)人,每人幾個(gè),再加上 3 是多少?
請(qǐng)生成解決這個(gè)問(wèn)題的程序步驟。"""
# 模型會(huì)生成類似下面的程序步驟
# result = (16 / 4) + 3
# 然后可以在代碼中執(zhí)行這個(gè)程序步驟得到最終答案

在 BigBench 和 MMLU 基準(zhǔn)測(cè)試中,ART 在多種任務(wù)上表現(xiàn)突出,顯著超越少樣本提示和自動(dòng) CoT 等方法,提升了模型解決問(wèn)題的能力和效率。

10. 自動(dòng)提示工程師(APE)

自動(dòng)提示工程師(APE)技術(shù)能夠自動(dòng)生成和篩選任務(wù)指令。它通過(guò)利用大型語(yǔ)言模型生成指令候選項(xiàng),再依據(jù)評(píng)估分?jǐn)?shù)選擇最佳指令,從而提升提示生成的效率與效果。比如:

# 假設(shè)這里有一個(gè)生成指令候選項(xiàng)的函數(shù) generate_candidates 和一個(gè)選擇最佳指令的函數(shù) select_best_instruction
article = "這里是一篇新聞文章的內(nèi)容"
candidates = generate_candidates(article)
prompt = select_best_instruction(candidates) + " " + article
# 模型根據(jù)最終的 prompt 生成文章總結(jié)

例如總結(jié)新聞文章時(shí),它先利用大型語(yǔ)言模型生成如“提取文章關(guān)鍵人物、事件和時(shí)間”“概括文章主要內(nèi)容并突出重點(diǎn)”等指令候選項(xiàng),再依據(jù)評(píng)估分?jǐn)?shù)選擇最佳指令,指導(dǎo)模型生成高質(zhì)量總結(jié)。

11. Active-Prompt

Active-Prompt 技術(shù)主要用于解決思維鏈?zhǔn)纠行缘膯?wèn)題。它通過(guò)先查詢模型生成多個(gè)答案,計(jì)算不確定度后挑選最不確定的問(wèn)題由人類注釋示例,再用新示例推斷其他問(wèn)題,從而優(yōu)化模型對(duì)不同任務(wù)的適應(yīng)性。比如:

# 假設(shè)這里有一個(gè)查詢模型生成答案的函數(shù) query_model 和一個(gè)計(jì)算不確定度的函數(shù) calculate_uncertainty
prompt = "對(duì)以下文本進(jìn)行分類:這是一篇科技類文章。"
answers = query_model(prompt, num_answers=5)  # 生成 5 個(gè)答案
uncertainty = calculate_uncertainty(answers)
if uncertainty > threshold:  # 如果不確定度大于設(shè)定閾值
    # 選擇最不確定的問(wèn)題由人類注釋示例,然后更新提示并重新查詢模型
    new_prompt = update_prompt_with_annotated_example(prompt)
    final_answer = query_model(new_prompt)
else:
    final_answer = select_most_consistent_answer(answers)
# 最終得到的 final_answer 即為經(jīng)過(guò) Active-Prompt 處理后的答案

通過(guò)這種方式,能夠提高模型在文本分類等任務(wù)中的準(zhǔn)確性。

12. 方向性刺激提示(Directional Stimulus Prompting)

方向性刺激提示通過(guò)訓(xùn)練策略 LM 生成引導(dǎo)提示,增強(qiáng)對(duì)模型生成結(jié)果的掌控力。例如文本摘要任務(wù):

article = "這里是一篇文章的內(nèi)容"
prompt = "請(qǐng)根據(jù)文章內(nèi)容生成一個(gè)引導(dǎo)提示,重點(diǎn)關(guān)注文章的主要事件和結(jié)果。"
# 策略 LM 會(huì)根據(jù)這個(gè)提示生成如“重點(diǎn)提取文章中事件的主體、發(fā)生的時(shí)間和最終結(jié)果”的引導(dǎo)提示
# 然后可以將這個(gè)引導(dǎo)提示用于后續(xù)的文本摘要任務(wù)中

在文本摘要任務(wù)中,策略 LM 依據(jù)文章主題、關(guān)鍵信息等生成引導(dǎo)提示,指導(dǎo)模型生成符合需求的摘要,提升摘要質(zhì)量。

13. PAL(程序輔助語(yǔ)言模型)

PAL(程序輔助語(yǔ)言模型)技術(shù)讓模型生成程序來(lái)解決問(wèn)題,借助編程運(yùn)行時(shí)提升解決復(fù)雜問(wèn)題的能力。以日期計(jì)算問(wèn)題為例:

question = "今天是 2023 年 2 月 27 日,我出生于 25 年前,我的出生日期是多少?"
prompt = """
import datetime
from dateutil.relativedelta import relativedelta

# Q: 2015 年在 36 小時(shí)后到來(lái)。從今天起一周后的日期是多少(格式為 MM/DD/YYYY)?
# 如果 2015 年在 36 小時(shí)后到來(lái),那么今天是 36 小時(shí)前。
today = datetime(2015, 1, 1) - relativedelta(hours=36)
# 從今天起一周后,
one_week_from_today = today + relativedelta(weeks=1)
# 格式化后的答案
one_week_from_today.strftime('%m/%d/%Y')

# Q: 今天是 2023 年 2 月 27 日,我出生于 25 年前,我的出生日期是多少?
"""
# 模型會(huì)生成類似下面的代碼
# today = datetime(2023, 2 27)
# born = today - relativedelta(years=25)
# born.strftime('%m/%d/%Y')
# 然后可以在代碼中執(zhí)行模型生成的代碼得到最終答案

14. ReAct 框架

ReAct 框架使模型交錯(cuò)生成推理軌跡和操作,提升答案的可靠性與可解釋性。以回答問(wèn)題為例:

question = "除蘋果遙控器外,哪些設(shè)備可控制其設(shè)計(jì)交互的程序?"
prompt = """問(wèn)題:除蘋果遙控器外,哪些設(shè)備可控制其設(shè)計(jì)交互的程序?
思考 1:我需要搜索蘋果遙控器相關(guān)程序及可替代控制設(shè)備。
操作 1:搜索 [蘋果遙控器 可替代控制設(shè)備]
觀察 1:搜索結(jié)果為……
思考 2:根據(jù)搜索結(jié)果,分析哪些設(shè)備符合要求。
操作 2:篩選 [符合要求的設(shè)備]
觀察 2:篩選結(jié)果為……
思考 3:整理最終答案。
操作 3:整理 [最終答案]
"""
# 模型會(huì)按照提示中的推理軌跡和操作步驟進(jìn)行處理,并最終得出答案

在知識(shí)密集型和決策任務(wù)中表現(xiàn)良好,通過(guò)與外部環(huán)境交互獲取信息來(lái)輔助推理。

15. 自我反思(Reflexion)

自我反思框架包含參與者、評(píng)估者和自我反思三個(gè)模型,旨在幫助模型從錯(cuò)誤中學(xué)習(xí)并提升性能。模擬編程任務(wù)的示例如下:

# 假設(shè)這里有參與者模型 actor、評(píng)估者模型 evaluator 和自我反思模型 reflexion
code = "這里是一段初始代碼"
# 參與者模型生成嘗試解決問(wèn)題的代碼和動(dòng)作
result = actor(code)
# 評(píng)估者模型評(píng)價(jià)輸出
score = evaluator(result)
# 自我反思模型根據(jù)評(píng)價(jià)結(jié)果生成改進(jìn)建議
reflection = reflexion(score, result)
# 將改進(jìn)建議應(yīng)用到下一次的代碼生成中,實(shí)現(xiàn)自我學(xué)習(xí)和提升

如代碼出現(xiàn)語(yǔ)法錯(cuò)誤,自我反思模型會(huì)提示可能錯(cuò)誤原因及修正方向,幫助模型快速學(xué)習(xí)。

附錄

1. 術(shù)語(yǔ)表

  • Prompt:在大語(yǔ)言模型應(yīng)用中,用于“提示”模型喚起特定能力以解決實(shí)際問(wèn)題的提問(wèn)方式,是prompt工程的核心。
  • RTF框架:Role - Task - Format框架,通過(guò)指定角色、任務(wù)和格式規(guī)范大模型輸出,簡(jiǎn)單通用。
  • 思考鏈模式:在提示末尾添加“讓我們逐步思考”,引導(dǎo)大模型逐步分析復(fù)雜任務(wù),改善推理能力。
  • RISEN框架:包含角色、指示命令、步驟、最終目標(biāo)和縮小范圍(約束條件),適合特定約束或明確指導(dǎo)方針的任務(wù)。
  • RODES框架:涵蓋角色、目標(biāo)、詳細(xì)細(xì)節(jié)、示例和感官檢查的提示框架。
  • 密度鏈模式:利用遞歸創(chuàng)建更好輸出的提示,生成的摘要更密集且適合理解,適用于總結(jié)等任務(wù)。
  • 少樣本提示(Few - shot prompting):為模型提供少量任務(wù)示例,幫助其學(xué)習(xí)任務(wù)模式和規(guī)律,提升在復(fù)雜或特定格式任務(wù)中的表現(xiàn)。
  • 零樣本提示(Zero - Shot Prompting):模型在無(wú)特定任務(wù)示例展示下,依靠自身預(yù)訓(xùn)練知識(shí)和任務(wù)理解能力直接處理任務(wù)。
  • 思維鏈提示(Chain - of - Thought Prompting):為模型展示詳細(xì)推理過(guò)程,提升其在復(fù)雜推理任務(wù)中的表現(xiàn),可與少樣本提示結(jié)合。
  • 自我一致性(Self - Consistency):通過(guò)提供多個(gè)少樣本推理示例,讓模型篩選最一致答案,增強(qiáng)在算術(shù)和常識(shí)推理任務(wù)中的可靠性。
  • 生成知識(shí)提示(Generated Knowledge Prompting):先讓模型生成與任務(wù)相關(guān)知識(shí),再整合知識(shí)得出準(zhǔn)確答案,解決模型處理需額外知識(shí)任務(wù)的局限性。
  • 鏈?zhǔn)教崾荆≒rompt Chaining):將復(fù)雜任務(wù)拆分為多個(gè)子任務(wù),逐個(gè)子任務(wù)生成提示并傳遞結(jié)果,提高任務(wù)處理準(zhǔn)確性與可靠性。
  • 思維樹(shù)(ToT):通過(guò)維護(hù)思維樹(shù),讓模型生成和評(píng)估中間思維步驟,結(jié)合搜索算法應(yīng)對(duì)復(fù)雜探索性任務(wù)。
  • 檢索增強(qiáng)生成(RAG):將信息檢索與文本生成結(jié)合,檢索相關(guān)文檔為模型提供知識(shí)支持,緩解“幻覺(jué)”問(wèn)題。
  • 自動(dòng)推理并使用工具(ART):使模型自動(dòng)生成包含推理步驟的程序,并在需要時(shí)調(diào)用外部工具,提升解決問(wèn)題能力和效率。
  • 自動(dòng)提示工程師(APE):利用大型語(yǔ)言模型生成指令候選項(xiàng),依據(jù)評(píng)估分?jǐn)?shù)選擇最佳指令,提升提示生成效率與效果。
  • Active - Prompt:先查詢模型生成多個(gè)答案,計(jì)算不確定度后挑選最不確定問(wèn)題由人類注釋示例,優(yōu)化模型對(duì)不同任務(wù)的適應(yīng)性。
  • 方向性刺激提示(Directional Stimulus Prompting):訓(xùn)練策略LM生成引導(dǎo)提示,增強(qiáng)對(duì)模型生成結(jié)果的掌控力,提升文本摘要等任務(wù)的質(zhì)量。
  • PAL(程序輔助語(yǔ)言模型):讓模型生成程序來(lái)解決問(wèn)題,借助編程運(yùn)行時(shí)提升解決復(fù)雜問(wèn)題的能力。
  • ReAct框架:使模型交錯(cuò)生成推理軌跡和操作,提升答案的可靠性與可解釋性,在知識(shí)密集型和決策任務(wù)中表現(xiàn)良好。
  • 自我反思(Reflexion):包含參與者、評(píng)估者和自我反思三個(gè)模型,幫助模型從錯(cuò)誤中學(xué)習(xí)并提升性能。

2.常見(jiàn)問(wèn)題解答

(1) 如何選擇合適的Prompt框架?

根據(jù)任務(wù)類型和需求選擇。如簡(jiǎn)單對(duì)話場(chǎng)景可選用RTF框架;復(fù)雜分析任務(wù)可考慮思考鏈模式或RISEN框架;對(duì)輸出格式有嚴(yán)格要求的,可在RTF、RISEN框架中關(guān)注格式或約束條件設(shè)定;進(jìn)行總結(jié)類任務(wù),密度鏈模式可能更合適。

(2) 為什么模型會(huì)出現(xiàn)“幻覺(jué)”現(xiàn)象?

模型雖經(jīng)大量數(shù)據(jù)訓(xùn)練,但無(wú)法完美記住所有知識(shí),也難以精準(zhǔn)把握知識(shí)邊界,面對(duì)復(fù)雜或生疏主題問(wèn)題時(shí),就可能編造看似合理但錯(cuò)誤的內(nèi)容。

(3) 如何利用少樣本提示提升模型性能?

提供與任務(wù)相關(guān)、格式規(guī)范的成功示例,示例要涵蓋任務(wù)的關(guān)鍵要素和模式,讓模型學(xué)習(xí)示例中的規(guī)律和邏輯,從而在處理實(shí)際輸入時(shí)生成更符合預(yù)期的結(jié)果。尤其適用于復(fù)雜任務(wù)或?qū)敵龈袷接刑囟ㄒ蟮那闆r。

(4) 鏈?zhǔn)教崾驹趯?shí)際應(yīng)用中有哪些優(yōu)勢(shì)?

將復(fù)雜任務(wù)拆解為子任務(wù),使模型處理過(guò)程更清晰、有序,逐步深入解決問(wèn)題,提高了任務(wù)處理的準(zhǔn)確性與可靠性,避免模型在處理復(fù)雜問(wèn)題時(shí)因任務(wù)過(guò)于復(fù)雜而出現(xiàn)混亂或錯(cuò)誤。

責(zé)任編輯:趙寧寧 來(lái)源: 騰訊技術(shù)工程
相關(guān)推薦

2024-03-18 07:48:00

大語(yǔ)言模型NVIDIA生成式 AI

2024-07-17 09:47:18

2009-12-17 17:37:42

Ruby on Rai

2025-04-10 07:00:00

2010-03-04 16:38:37

Android開(kāi)發(fā)技巧

2010-03-05 13:46:12

Android編程學(xué)習(xí)

2024-05-31 14:23:15

2023-11-01 11:45:35

戴爾沙龍

2011-01-13 13:48:52

Android 3.0

2025-02-14 08:44:39

提示工程OpenAIDeepSeek

2010-03-10 15:36:52

交換機(jī)

2023-10-07 08:28:06

語(yǔ)言模型代碼技術(shù)

2014-11-12 09:48:07

云計(jì)算云計(jì)算模式

2024-09-26 10:42:20

2023-07-08 23:20:41

2025-06-16 14:44:14

模型AILLM

2025-04-01 07:00:00

2024-07-02 10:24:35

2023-06-24 19:59:40

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产在线一区二区三区 | 日本成人中文字幕 | 超碰在线网站 | 久久久91| 美女视频黄的 | 亚洲国产精品久久久久秋霞不卡 | 久草网址 | 国产日韩久久 | 国产在线小视频 | 黑人久久| 亚洲夜射 | 看黄在线 | 欧美日韩成人一区二区 | 午夜理伦三级理论三级在线观看 | 男女下面一进一出网站 | 999免费视频| 乱一性一乱一交一视频a∨ 色爱av | 欧美亚洲视频在线观看 | 日本粉嫩一区二区三区视频 | 99re视频在线观看 | 一级黄色av电影 | 国产成人免费在线 | 99精品视频免费在线观看 | 视频一二三区 | 国产一区二区av | 午夜寂寞福利视频 | 国产精品国产a | 97国产精品视频人人做人人爱 | 国产一区二区 | 欧美久久视频 | 99久久婷婷国产亚洲终合精品 | 成人精品一区二区三区中文字幕 | 成人欧美一区二区三区在线播放 | 久久久av中文字幕 | 成人福利在线视频 | 人人人人人爽 | 古装三级在线播放 | 一区二区三区免费看 | 成人免费看黄网站在线观看 | 2021天天干夜夜爽 | sese视频在线观看 |