昨天我們認識了 LangChain 的價值:
它可以讓 LLM 變得更像「會思考與行動」的 Agent,而不只是單純的文字生成。
今天,我們要實際動手,體驗 LangChain 的核心功能:Chain 與 PromptTemplate
簡單來說,Chain 實際功能就是「流程串接器」。
它可以把:
想像 Chain 是一個「黑盒」
你給它資料,它會幫你自動完成 prompt 填充、呼叫 LLM,然後回傳結果。
PromptTemplate 是 LangChain 幫你管理 prompt 的工具。
它可以:
範例:
from langchain.prompts import PromptTemplate
template = "請將以下英文翻譯成中文:{text}"
prompt = PromptTemplate(
input_variables=["text"],
template=template
)
之後就可以多次使用:
prompt.format(text="Hello world")
生成不同的 prompt,而不用每次重新寫文字。
1️⃣ 安裝套件
pip install langchain-google-genai langchain
2️⃣ 完整的 從初始化 LLM → 建立 Prompt → 建立 Chain → 到呼叫 Chain
import os
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
os.environ["GOOGLE_API_KEY"] = "你的_API_KEY" #(前幾天的Gemini API Key)
# 初始化 Gemini LLM
llm = ChatGoogleGenerativeAI(model="gemini-1.5-flash", temperature=0)
# 建立 PromptTemplate
template = "請將以下英文翻譯成中文:{text}"
prompt = PromptTemplate(
input_variables=["text"],
template=template
)
# 建立 Chain
chain = LLMChain(llm=llm, prompt=prompt)
# 呼叫 Chain
result = chain.run("I love learning AI with LangChain.")
print(result)
可能輸出:
我喜歡用 LangChain 學習人工智慧。
Chain 可以串接多個步驟
不只是單一步驟,也可以用 SequentialChain
或 SimpleSequentialChain
將多個 Chain 串起來,實現更複雜流程。SimpleSequentialChain
:多個 chain 串在一起,前一個的輸出會直接當成下一個的輸入。SequentialChain
:比 Simple 更靈活,可以明確指定每個 chain 的輸入/出變數,適合複雜流程。
PromptTemplate 的好處
減少硬編碼文字、避免重複錯誤,讓 prompt 更容易維護。
今天你學會了:
今日~目標達成啦!
妳各位太棒了!! 堅持了十天!! 繼續加油!!
你已經能用 Gemini + LangChain 寫出第一個小功能,
下一步,我們會學習如何把多個 Chain 串起來,打造更複雜的 AI 流程。 🚀