<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

      OPIK:一個(gè)開(kāi)源的自動(dòng)提示詞優(yōu)化框架

      0
      分享至

      大語(yǔ)言模型發(fā)展到今天,寫(xiě)提示詞不僅是個(gè)體力活,還是一個(gè)技術(shù)活。提示詞的措辭稍微改一下,性能波動(dòng) 20-50% 是常有的事。那能不能讓 LLM 自己改進(jìn)提示詞呢?

      本文主要講的就是這個(gè),一個(gè)處理復(fù)雜推理任務(wù)的 Agent,經(jīng)過(guò)幾輪自動(dòng)迭代,準(zhǔn)確率從 34% 飆到 97%相對(duì)提升 184%。下面是完整的步驟:從環(huán)境搭建到代碼實(shí)現(xiàn),還包含了優(yōu)缺點(diǎn)和適用場(chǎng)景。

      什么是自動(dòng)提示詞優(yōu)化

      自動(dòng)提示詞優(yōu)化有時(shí)也叫 Automatic Prompt Engineering(APE),核心思路是把寫(xiě)提示詞當(dāng)成優(yōu)化問(wèn)題來(lái)解。流程大概是這樣:先拿一個(gè)初始提示詞(哪怕寫(xiě)得很一般),在一批標(biāo)注好的樣本上跑一遍,用評(píng)分函數(shù)(精確匹配、BLEU、LLM-as-judge 之類的)算個(gè)分,然后讓 LLM 生成新的候選提示詞,挑表現(xiàn)好的繼續(xù)迭代,直到分?jǐn)?shù)不再漲為止。

      2023 年的論文 "Automatic Prompt Optimization with Gradient-Free Methods" 把這套方法講得比較系統(tǒng)。從工具層面將DSPy、LangChain 的 PromptOptimizer 都能干這個(gè)活,不過(guò)有一個(gè)專門(mén)的庫(kù)叫 OPIK 。

      OPIK + MetaPromptOptimizer 的特點(diǎn)

      OPIK 這套東西比較吸引人的是完全開(kāi)源,Apache 2.0 協(xié)議,商用也不花錢;可以純本地跑,Ollama、LM Studio、任何 OpenAI 兼容的接口都行;自帶追蹤儀表板,功能類似 LangSmith 但是確是免費(fèi);API 設(shè)計(jì)簡(jiǎn)單,一個(gè)類就能搞定優(yōu)化流程;評(píng)估指標(biāo)隨便你定義,只要能寫(xiě)成代碼就行。

      環(huán)境搭建

      創(chuàng)建虛擬環(huán)境

      python -m venv opik-apo
      source opik-apo/bin/activate # Windows: opik-apo\Scripts\activate
      pip install opik[all] datasets sentence-transformers

      本地 LLM 安裝(可選但推薦)

      # Example with Ollama
      ollama pull llama3.2:8b-instruct-qat
      ollama serve

      準(zhǔn)備評(píng)估數(shù)據(jù)集

      不需要太多數(shù)據(jù),20 到 100 條高質(zhì)量樣本就夠了。下面是個(gè) GSM8K 風(fēng)格的 JSONL 例子,保存成 eval_data.jsonl:

      {"question": "Janet's ducks lay 16 eggs per day. She eats 3 for breakfast, gives 8 to friends, and her bakery uses the rest. How many eggs does the bakery receive?", "answer": "5"}
      {"question": "A store sells apples for $2 each or 6 for $10. How much do you save per apple by buying 6?", "answer": "0.33"}

      完整代碼

      import opik
      from opik import track
      from opik.opimization import MetaPromptOptimizer
      from opik.opimization.evaluation_metrics import LevenshteinRatio
      from opik.integrations.langchain import OpikTracer
      from langchain_community.llms import Ollama
      from langchain.prompts import PromptTemplate
      import json
      # 1. 初始化 Opik(默認(rèn)本地)
      opik_client = opik.Opik()
      # 2. 加載評(píng)估數(shù)據(jù)集
      def load_dataset(path="eval_data.jsonl"):
      data = []
      with open(path) as f:
      for line in f:
      item = json.loads(line)
      data.append({"input": item["question"], "expected": item["answer"]})
      return data
      eval_dataset = load_dataset()
      # 3. 定義你的基礎(chǔ)提示詞模板
      initial_prompt = """You are an expert assistant. Your task is answer questions accurately and concisely. Consider the context carefully before responding.
      Question: {input}
      Answer:"""
      prompt_template = PromptTemplate.from_template(initial_prompt)
      # 4. 創(chuàng)建 LLM(本地或 OpenAI)
      llm = Ollama(model="llama3.2:8b-instruct-qat", temperature=0.2)
      # llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.2) # for cloud
      # 5. 定義你想要優(yōu)化的鏈
      @track
      def math_chain(question):
      prompt = prompt_template.format(input=question)
      response = llm.invoke(prompt)
      return response.strip()
      # 6. 定義評(píng)估函數(shù)
      def evaluation_function(task):
      expected = task["expected"]
      generated = math_chain(task["input"])
      score = LevenshteinRatio()(expected, generated)
      return score
      # 7. 運(yùn)行優(yōu)化器
      optimizer = MetaPromptOptimizer(
      task="You are an expert at solving math word problems.",
      evaluation_dataset=eval_dataset,
      evaluation_function=evaluation_function,
      llm=llm,
      n_iterations=5, # 通常 3-7 次就足夠了
      population_size=10
      )
      best_prompt = optimizer.run()
      print("\n=== BEST PROMPT FOUND ===\n")
      print(best_prompt)

      運(yùn)行腳本:

      python optimize_prompt.py

      跑完 5 輪迭代后,打開(kāi)http://localhost:5173就能看到儀表板,每個(gè)候選提示詞的得分、最終選中的版本都在上面。

      優(yōu)化效果示例

      優(yōu)化前的提示詞(34% 精確匹配):

      You are an expert assistant. Your task is answer questions accurately and concisely. Consider the context carefully before responding.

      優(yōu)化后(97% 精確匹配):



      優(yōu)缺點(diǎn)總結(jié)

      優(yōu)點(diǎn)



      性能提升幅度可觀,50-200% 的相對(duì)改進(jìn)并不罕見(jiàn)。整個(gè)過(guò)程完全可復(fù)現(xiàn),每一輪迭代都有日志記錄,方便審計(jì)。本地運(yùn)行意味著初始配置之后就不再產(chǎn)生 Token 費(fèi)用。也不依賴梯度任何黑盒 LLM 都能用。遷移到新任務(wù)也簡(jiǎn)單,改幾個(gè)參數(shù)就行。

      局限性

      評(píng)估數(shù)據(jù)集的質(zhì)量至關(guān)重要:如果數(shù)據(jù)不行,優(yōu)化出來(lái)的提示詞也不會(huì)好到哪去,就是典型的 garbage in, garbage out;本地 LLM 生成候選提示詞的速度可能偏慢;小數(shù)據(jù)集上容易過(guò)擬合模型可能只是"記住"了答案而非真正學(xué)會(huì)解題;優(yōu)化出來(lái)的提示詞有時(shí)候又長(zhǎng)又怪,雖然效果好,但可讀性堪憂。

      結(jié)論

      OPIK 的 MetaPromptOptimizer 讓自動(dòng)提示詞變得很簡(jiǎn)單:拿一個(gè)勉強(qiáng)能用的提示詞,半小時(shí)內(nèi)就能把它調(diào)成接近 SOTA 水平的 one-shot Agent,省下原本要花幾周手動(dòng)迭代的時(shí)間。

      找一個(gè)現(xiàn)有的 Agent,攢 30 條標(biāo)注樣本,跑一遍上面的腳本,看準(zhǔn)確率曲線往上走就對(duì)了。提示詞工程的下一步,不是人寫(xiě)出更好的提示詞,而是讓系統(tǒng)替人寫(xiě)。

      地址

      https://avoid.overfit.cn/post/be1860b7176b474b9389d88501402048

      作者:Minervee

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點(diǎn)推薦
      伊朗最大“內(nèi)鬼”被抓?革命衛(wèi)隊(duì):勾結(jié)以色列,指揮官卡尼被拘!

      伊朗最大“內(nèi)鬼”被抓?革命衛(wèi)隊(duì):勾結(jié)以色列,指揮官卡尼被拘!

      青青子衿
      2026-03-05 11:57:03
      打瘋了!東契奇首節(jié)狂轟22+5三分 生涯30次單節(jié)20+升歷史第四

      打瘋了!東契奇首節(jié)狂轟22+5三分 生涯30次單節(jié)20+升歷史第四

      醉臥浮生
      2026-03-07 12:13:33
      伊拉克庫(kù)爾德第一夫人宣言:我們不是任人驅(qū)使的炮灰!

      伊拉克庫(kù)爾德第一夫人宣言:我們不是任人驅(qū)使的炮灰!

      勝研集
      2026-03-06 13:44:23
      廣東一女子不愿上班常年坐街邊,因長(zhǎng)得好看被路人投喂:又懶又饞

      廣東一女子不愿上班常年坐街邊,因長(zhǎng)得好看被路人投喂:又懶又饞

      明智家庭教育
      2026-03-06 17:19:16
      美以伊軍事沖突最大副作用,是斬?cái)嗔硕砹_斯的“救命稻草”

      美以伊軍事沖突最大副作用,是斬?cái)嗔硕砹_斯的“救命稻草”

      廖保平
      2026-03-05 12:08:52
      “不想為以色列賣命”:帝國(guó)最后的遮羞布,美式民主終成笑話

      “不想為以色列賣命”:帝國(guó)最后的遮羞布,美式民主終成笑話

      怪口歷史的K先生
      2026-03-06 15:22:51
      為何關(guān)閉霍爾木茲海峽就能掐全球脖子?因?yàn)橐晾试褪侨澜缱詈玫?>
    </a>
        <h3>
      <a href=風(fēng)向觀察
      2026-03-06 21:31:15
      兩會(huì)不到3天,5大好消息傳來(lái)!老百姓暗暗叫好:希望國(guó)家盡快落實(shí)

      兩會(huì)不到3天,5大好消息傳來(lái)!老百姓暗暗叫好:希望國(guó)家盡快落實(shí)

      談史論天地
      2026-03-07 06:54:29
      1979年,張國(guó)燾凍死在養(yǎng)老院,許世友:除了主席,沒(méi)人是他的對(duì)手

      1979年,張國(guó)燾凍死在養(yǎng)老院,許世友:除了主席,沒(méi)人是他的對(duì)手

      文史季季紅
      2026-03-05 13:35:03
      寫(xiě)入教科書(shū)的一天:F-35在德黑蘭完成全球首次實(shí)戰(zhàn)空對(duì)空擊殺

      寫(xiě)入教科書(shū)的一天:F-35在德黑蘭完成全球首次實(shí)戰(zhàn)空對(duì)空擊殺

      斌聞天下
      2026-03-06 07:30:03
      伊方:因美以襲擊喪生的伊朗人三成為青少年

      伊方:因美以襲擊喪生的伊朗人三成為青少年

      環(huán)球網(wǎng)資訊
      2026-03-07 06:39:29
      為什么美國(guó)的華人華裔地位那么低 網(wǎng)友從各方面分析 真就那樣

      為什么美國(guó)的華人華裔地位那么低 網(wǎng)友從各方面分析 真就那樣

      侃神評(píng)故事
      2026-03-06 07:10:03
      我包養(yǎng)過(guò)一個(gè)女大學(xué)生,七年花了一千多萬(wàn)

      我包養(yǎng)過(guò)一個(gè)女大學(xué)生,七年花了一千多萬(wàn)

      煙火人間故事匯
      2026-03-06 23:05:03
      性壓抑已經(jīng)變態(tài)至此了?

      性壓抑已經(jīng)變態(tài)至此了?

      黯泉
      2026-03-07 11:28:43
      蘿莉島,是進(jìn)入核心圈層的投名狀,你猜他們?yōu)槭裁炊即┘t皮鞋

      蘿莉島,是進(jìn)入核心圈層的投名狀,你猜他們?yōu)槭裁炊即┘t皮鞋

      百曉生談歷史
      2026-03-05 22:00:08
      一份“煮熟的三文魚(yú)”火了,原來(lái)低認(rèn)知的家長(zhǎng),真能搞出人命!

      一份“煮熟的三文魚(yú)”火了,原來(lái)低認(rèn)知的家長(zhǎng),真能搞出人命!

      妍妍教育日記
      2026-03-07 08:45:06
      伊朗萬(wàn)萬(wàn)沒(méi)想到,自家王牌武器遭到破解,美軍多了一張底牌

      伊朗萬(wàn)萬(wàn)沒(méi)想到,自家王牌武器遭到破解,美軍多了一張底牌

      空天力量
      2026-03-06 13:09:18
      上次被發(fā)現(xiàn)還是1911年!上海寶山驚現(xiàn)1只,專家:可能是坐船來(lái)的

      上次被發(fā)現(xiàn)還是1911年!上海寶山驚現(xiàn)1只,專家:可能是坐船來(lái)的

      萬(wàn)象硬核本尊
      2026-03-06 23:54:22
      女子實(shí)名舉報(bào)某團(tuán)外賣:不上大額券就讓我變成“凌晨營(yíng)業(yè)”,你們真黑!

      女子實(shí)名舉報(bào)某團(tuán)外賣:不上大額券就讓我變成“凌晨營(yíng)業(yè)”,你們真黑!

      回旋鏢
      2026-03-06 21:13:59
      塔圖姆復(fù)出15分12板7助攻凱爾特人大勝獨(dú)行俠,布朗24分7板7助

      塔圖姆復(fù)出15分12板7助攻凱爾特人大勝獨(dú)行俠,布朗24分7板7助

      湖人崛起
      2026-03-07 10:25:09
      2026-03-07 13:43:00
      deephub incentive-icons
      deephub
      CV NLP和數(shù)據(jù)挖掘知識(shí)
      1940文章數(shù) 1456關(guān)注度
      往期回顧 全部

      科技要聞

      OpenClaw爆火,六位"養(yǎng)蝦人"自述與AI共生

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽(tīng)懵了

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽(tīng)懵了

      體育要聞

      塔圖姆歸來(lái):凱爾特人的春之綠

      娛樂(lè)要聞

      周杰倫田馥甄的“JH戀” 被扒得底朝天

      財(cái)經(jīng)要聞

      針對(duì)"不敢休、不讓休"怪圈 國(guó)家出手了

      汽車要聞

      逃離ICU,上汽通用“止血”企穩(wěn)

      態(tài)度原創(chuàng)

      房產(chǎn)
      本地
      數(shù)碼
      公開(kāi)課
      軍事航空

      房產(chǎn)要聞

      傳統(tǒng)學(xué)區(qū)房熄火?2月海口二手房爆火的板塊竟然是…

      本地新聞

      食味印象|一口入魂!康樂(lè)烤肉串起千年絲路香

      數(shù)碼要聞

      蘋(píng)果M5 Pro芯片GeekBench跑分曝光:多核破2.8萬(wàn)

      公開(kāi)課

      李玫瑾:為什么性格比能力更重要?

      軍事要聞

      伊朗:使用無(wú)人機(jī)擊中美軍"林肯"號(hào)航母

      無(wú)障礙瀏覽 進(jìn)入關(guān)懷版