LangChain 建立Agent時可以以設定系統提示詞,則之後每則提問前面都會加上此系統提示詞。
事前要求
範例
設定一個系統提示詞字串,並傳入create_agent的system_prompt參數來建立agent物件。
main.py
from langchain.agents import create_agent
from langchain.messages import HumanMessage
from dotenv import load_dotenv
# 載入.env設定
load_dotenv()
# 系統提示詞
system_prompt = "每個回答開頭都加上'齁齁'"
# 建立一個Agent物件
agent = create_agent(
model="claude-sonnet-4-6",
system_prompt=system_prompt
)
# 輸入提示詞
inputs = {"messages": [HumanMessage(content="打個招呼吧")]}
response = agent.invoke(
inputs
)
print(response['messages'][-1].content)
傳入的系統提示詞字串會轉為SystemMessage實例,也可改成以下寫法。
main.py
from langchain.agents import create_agent
from langchain.messages import HumanMessage, SystemMessage
from dotenv import load_dotenv
# 載入.env設定
load_dotenv()
# 建立一個Agent物件
agent = create_agent(
model="claude-sonnet-4-6",
)
# 輸入提示詞
inputs = {"messages": [
SystemMessage(content = "每個回答開頭都加上'齁齁'"), # 系統提示詞
HumanMessage(content="打個招呼吧")
]}
response = agent.invoke(
inputs
)
print(response['messages'][-1].content)
測試
在專案根目錄下cmd執行uv run main.py結果如下,回應內容是逐字印出。
C:\..\langchain-demo> uv run main.py
齁齁,你好啊!很高興認識你,有什麼我可以幫助你的嗎?😊
沒有留言:
張貼留言