AdSense

網頁

2026/6/25

LangChain 結構化提示詞 Structured prompt

LangChain 在系統提示詞中使用結構化提示詞(Structure prompt)的範例。


結構化提示詞是指透過要求模型保持相同的輸出結構,將非結構化的自然語言轉化為便於後續系統處理的規範格式,可以視為一個輕量級的API格式轉換器。


事前要求

LangChain 系統提示詞 System prompt


範例

main.py

from langchain.agents import create_agent
from langchain.messages import HumanMessage
from dotenv import load_dotenv

# 載入.env設定
load_dotenv()

# 系統提示詞 structured prompt
system_prompt = """

你是一個資料標註員。你的任務是分析使用者提供的文本並根據以下結構進行分類,請保持完全相同的輸出結構:

Label: 主分類 (e.g., 主旨)
Confidence: 你的判斷信心程度百分比 (0-100%)
Reasoning: 簡單一兩句話說明你選擇使用這個Label的原因
Keywords: 文本中以逗號分隔3-5個關鍵字

"""

# 建立一個Agent物件
agent = create_agent(
    model="claude-sonnet-4-6",
    system_prompt=system_prompt
)

# 輸入提示詞
inputs = {"messages": [HumanMessage(content="我在上星期三買的訂單編號AX202606210000201到現在都還沒到貨,我看狀態一直停留在廠商處理中,如果今天沒收到回覆我就要申請退貨及全額退費,然後給你們1顆星差評")]}

response = agent.invoke(
    inputs
)

print(response['messages'][-1].content)

github


設定一個系統提示詞字串,並傳入create_agentsystem_prompt參數來建立agent物件。

系統提示詞中要求模型根據提供的結構化提示詞來輸出回應結果。


測試

執行結果如下,可以看到模型確實按照系統提示詞中的結構輸出回應。

Label: 客訴/催貨投訴
Confidence: 92%
Reasoning: 用戶針對特定訂單提出未到貨的投訴,並明確表達若未獲回應將採取退貨、退款及差評等具體威脅性行動,屬於典型的客戶投訴催貨情境。
Keywords: 訂單編號AX202606210000201, 未到貨, 廠商處理中, 申請退貨, 差評

提示詞改為"很感謝你們那麼快發貨,且兩天就收到貨物了,日後會繼續使用你們的服務並推薦給其他人,謝謝",結果如下。

Label: 正面評價/感謝回饋
Confidence: 97%
Reasoning: 文本中用戶明確表達對快速發貨及收貨速度的滿意,並表示願意繼續使用服務及推薦他人,屬於典型的正面客戶回饋。
Keywords: 感謝, 快速發貨, 收貨, 繼續使用, 推薦


沒有留言:

AdSense