JSON提示法教學:用Python實例解構大型語言模型的結構化輸入
JSON提示法係一種用JavaScript物件標記法(JSON)格式去結構化指令嘅技巧,令AI模型嘅提示更清晰、明確同機器可讀。傳統嘅文字提示往往含糊,容易誤解,而JSON提示會用鍵值對、陣列同嵌套物件,將模糊嘅要求變成精確嘅藍圖,幫助模型準確執行。呢種方法特別適合處理複雜或者重複性高嘅任務,因為用戶可以有條理咁指定任務類型、主題、受眾、輸出格式等參數,令語言模型更易理解。隨住AI系統愈來愈依賴可預測嘅結構化輸入,JSON提示已成為生成更精準可靠結果嘅首選策略,適用於GPT-4、Claude、Gemini等主流大型語言模型。
本教程深入探討JSON提示嘅威力,點解佢可以改變你同AI模型互動嘅方式。
我哋將透過由簡單文字提示到結構化JSON提示嘅程式碼示例,演示使用JSON提示帶嚟嘅好處,並比較兩者輸出嘅差異。完成後,你會清楚見到結構化提示點樣為你嘅工作流程帶嚟準確度、一致性同擴展性,無論係生成摘要、提取數據定係建立先進AI流程都一樣方便。可參考【完整程式碼】。
安裝依賴
使用Python安裝OpenAI套件:
“`bash
pip install openai
“`
設定API金鑰:
“`python
import os
from getpass import getpass
os.environ[“OPENAI_API_KEY”] = getpass(‘Enter OpenAI API Key: ‘)
“`
要申請OpenAI API金鑰,可到官方平台生成,首次用戶需填寫付款資料並最低充值5美元以啟用API。
結構化提示確保一致性
用結構化提示(例如JSON格式)迫使用戶思考指令嘅欄位同數值,對使用大型語言模型好有幫助。設定固定結構可以消除歧義同猜測,令每次回應都遵循可預測嘅模式。
以下係一個簡單例子:
自由格式提示:
“`
Summarize the following email and list the action items clearly.
Email:
Hi team, let’s finalize the marketing plan by Tuesday. Alice, prepare the draft; Bob, handle the design.
“`
模型輸出:
“`
Summary:
The team needs to finalize the marketing plan by Tuesday. Alice will prepare the draft, and Bob will handle the design.
Action items:
– Alice: Prepare the draft of the marketing plan by Tuesday.
– Bob: Handle the design by Tuesday.
– Team: Finalize the marketing plan by Tuesday.
“`
而JSON結構化提示:
“`json
Summarize the following email and return the output strictly in JSON format:
{
“summary”: “short summary of the email”,
“action_items”: [“task 1”, “task 2”, “task 3”],
“priority”: “low | medium | high”
}
Email:
Hi team, let’s finalize the marketing plan by Tuesday. Alice, prepare the draft; Bob, handle the design.
“`
模型輸出:
“`json
{
“summary”: “Finalize the marketing plan by Tuesday; Alice to draft and Bob to handle design.”,
“action_items”: [
“Alice: prepare the draft”,
“Bob: handle the design”,
“Team: finalize the marketing plan by Tuesday”
],
“priority”: “medium”
}
“`
結構化JSON提示令輸出清晰、簡潔且易於解析。設定「summary」、「action_items」同「priority」等欄位,模型回應更一致及具操作性。相比自由格式可能風格及詳盡程度不一,結構化輸出有助消除歧義,方便後續整合到專案追蹤器、儀表板或自動電郵系統。
用戶可掌控輸出格式
用JSON提示框架,可以消除指令同輸出嘅歧義。例如市場分析,若用純文字提示要求摘要、情緒、風險機會同信心分數,格式可能不統一,難以機器解析。但用JSON明確定義「summary」、「sentiment」、「opportunities」、「risks」、「confidence_score」等欄位,輸出就會規範且易於後續處理。無論係生成內容、分析報告,定係洞察擷取,都能保持流程暢順可靠,避免意外,達至乾淨結構化嘅結果。
自由格式提示示例:
“`
Analyze the following market update:
Market Text:
Tesla’s Q2 earnings beat expectations due to higher Model Y sales, but rising competition from BYD is a risk.
Apple reported steady revenue growth driven by iPhone sales, but services revenue slightly declined.
Amazon’s AWS division continues to dominate cloud computing, though regulatory scrutiny in Europe is increasing.
Generate:
– A 2-line market summary
– Sentiment for each company (positive, negative, neutral)
– Key growth opportunities and risks
– A confidence score from 0 to 10
“`
模型輸出:
“`
Market summary:
– Earnings updates skew constructive: Tesla beat on Q2 with strong Model Y, Apple grew on iPhone, and AWS remains the cloud leader.
– Offsetting risks include BYD pressure on Tesla, Apple’s services dip, and rising European scrutiny on Amazon.
Sentiment:
– Tesla: Positive
– Apple: Neutral
– Amazon: Positive
Key growth opportunities and risks:
– Tesla
– Opportunities: Sustain Model Y momentum; scale production and pricing to drive volume.
– Risks: Intensifying competition from BYD could pressure share and margins.
– Apple
– Opportunities: Monetize large iPhone base; re-accelerate services via bundles and ecosystem engagement.
– Risks: Services softness; dependence on iPhone for top-line growth.
– Amazon (AWS)
– Opportunities: Leverage leadership to win more enterprise/AI workloads and multi-year commitments.
– Risks: European regulatory scrutiny may lead to fines, compliance costs, or contract/pricing constraints.
Confidence score: 7/10
“`
JSON結構化提示示例:
“`json
Analyze the following market update and return the response in this JSON format:
{
“summary”: “2-line market overview”,
“companies”: [
{
“name”: “string”,
“sentiment”: “positive | negative | neutral”,
“opportunities”: [“list of opportunities”],
“risks”: [“list of risks”]
}
],
“confidence_score”: “integer (0-10)”
}
Market Text:
Tesla’s Q2 earnings beat expectations due to higher Model Y sales, but rising competition from BYD is a risk.
Apple reported steady revenue growth driven by iPhone sales, but services revenue slightly declined.
Amazon’s AWS division continues to dominate cloud computing, though regulatory scrutiny in Europe is increasing.
“`
模型輸出:
“`json
{
“summary”: “Markets saw mixed corporate updates: Tesla beat expectations on strong Model Y sales and AWS maintained cloud leadership.nHowever, Apple’s growth was tempered by softer services revenue while Tesla and AWS face competition and regulatory risks.”,
“companies”: [
{
“name”: “Tesla”,
“sentiment”: “positive”,
“opportunities”: [
“Leverage strong Model Y demand to drive revenue and scale production”,
“Sustain earnings momentum from better-than-expected Q2 results”
],
“risks”: [
“Intensifying competition from BYD”,
“Potential price pressure impacting margins”
]
},
{
“name”: “Apple”,
“sentiment”: “neutral”,
“opportunities”: [
“Build on steady iPhone-driven revenue growth”,
“Revitalize Services to reaccelerate growth”
],
“risks”: [
“Slight decline in services revenue”,
“Reliance on iPhone as the primary growth driver”
]
},
{
“name”: “Amazon (AWS)”,
“sentiment”: “positive”,
“opportunities”: [
“Capitalize on cloud leadership to win new enterprise workloads”,
“Expand higher-margin managed services and deepen customer spend”
],
“risks”: [
“Increasing regulatory scrutiny in Europe”,
“Potential compliance costs or operational restrictions”
]
}
],
“confidence_score”: 8
}
“`
自由格式提示雖然有用,但缺乏結構,模型自由度高,難以機器自動解析或整合工作流程。JSON提示則完全掌控輸出格式,確保結果乾淨、機器可讀,且有明確欄位標示,方便後續用於儀表板、自動通知或數據管道。定義欄位引導模型準確回應,減少歧義,提升可靠度。
重用JSON提示模板提升擴展性、速度及交接效率
事前定義好結構欄位,團隊可以持續產生一致、機器可讀嘅輸出,直接接駁API、數據庫或應用程式,毋須人工格式化。呢種標準化不但加快工作流程,亦確保結果可重複及可靠,令跨項目協作同自動化更順暢。
—
編輯評論:
今時今日,大型語言模型(LLM)已成為企業和開發者不可或缺嘅工具,但點樣有效同模型互動,令輸出結果清晰、一致,係提升應用價值嘅關鍵。JSON提示法正正提供咗一個系統化嘅思路,幫助用戶以結構化方式組織指令,令AI產出唔再係一團糟,而係一份容易理解、分析同整合嘅「數據」。
呢種方法特別適合商業場景,例如自動化報告生成、任務分派、數據萃取等,因為JSON格式令後端系統可以輕鬆讀取同處理結果,大大提升工作效率同準確度。相比自由格式,JSON提示確保咗輸出嘅穩定性,避免因模型風格變化或語義模糊而帶來嘅問題。
不過,JSON提示嘅設計亦需要一定嘅前期規劃,定義好欄位同結構,並且要保持靈活性,因為過於死板可能限制模型嘅創造力。未來嘅挑戰係點樣平衡結構化同語言模型嘅「自由度」,令AI既能準確完成任務,又唔失創新能力。
總括而言,JSON提示係一個令AI應用更專業、更穩定嘅重要技術,值得企業同開發者深入學習同應用,推動AI從實驗室走向生產力工具的新階段。希望未來會有更多易用嘅工具同框架,幫助用戶輕鬆構建結構化提示,真正釋放大型語言模型嘅全部潛力。
以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。
🎬 YouTube Premium 家庭 Plan成員一位 只需 HK$148/年!
不用提供密碼、不用VPN、無需轉區
直接升級你的香港帳號 ➜ 即享 YouTube + YouTube Music 無廣告播放