“ออกแบบ Prompt ให้ยืดหยุ่น และเชื่อมการทำงานด้วย Chain อย่างมืออาชีพ”
✍️ Prompt Template คืออะไร?
Prompt Template คือ เครื่องมือที่ช่วยจัดรูปแบบ Prompt ให้เป็นระเบียบและยืดหยุ่น โดยกำหนด “ตำแหน่งว่าง” สำหรับข้อมูลที่จะส่งเข้าไปในภายหลัง เช่น ชื่อหัวข้อ, จำนวนคำ ฯลฯ
🔄 คล้ายกับการใช้
f-stringใน Python แต่เอามาใช้กับการส่งข้อความให้ LLM เช่น GPT
✅ โครงสร้าง Prompt Template มี 2 ส่วนหลัก
- Template String
- ข้อความหลักที่มี
{ตัวแปร}แทรกไว้ เช่น:"อธิบายเกี่ยวกับ {topic} ใน {word} คำ"
- ข้อความหลักที่มี
- Input Variables
- ค่าที่จะส่งเข้าไปแทน
{}ใน Template - เช่น:
{"topic": "AI", "word": "10"}
- ค่าที่จะส่งเข้าไปแทน
🎓 ตัวอย่างการใช้งาน Prompt Template
from langchain_core.prompts import ChatPromptTemplate
template = ChatPromptTemplate.from_template("อธิบายเกี่ยวกับ {topic} ใน {word} คำ")
{topic}อาจเป็น “อาหารไทย”, “ฟิสิกส์”, “AI”{word}อาจเป็น “5”, “10”, “50”
🎯 ข้อดี: ใช้ซ้ำได้ ปรับเปลี่ยนง่าย เพิ่มความยืดหยุ่นในการสร้างคำถามหรือคำสั่ง
🔗 Chain คืออะไร?
Chain ใน LangChain คือ การเชื่อมต่อแต่ละองค์ประกอบของแอป AI เข้าด้วยกัน ตามลำดับการทำงาน เช่น:
📥 Input → 🎯 Prompt Template → 🤖 LLM Model → 📤 Output
ใช้แนวคิดแบบ “input → process → output” และสามารถต่อหลายๆ Chain ได้ (ซ้อนขั้นตอน)
✅ โค้ดตัวอย่างการสร้าง Chain
from langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_template("อธิบายเกี่ยวกับ {topic} ใน {word} คำ")
llm = ChatOpenAI(model="gpt-4o", temperature=0.7)
chain = prompt | llm
promptคือแบบฟอร์มของคำถามllmคือโมเดลที่ใช้ เช่น GPT-4|คือการเชื่อม prompt เข้ากับ model (เรียกว่า LCEL – LangChain Expression Language)
🚀 การเรียกใช้งาน Chain
response = chain.invoke({
"topic": "AI",
"word": "5"
})
print(response.content)
ผลลัพธ์เช่น:
"เรียนรู้ วิเคราะห์ ตัดสินใจ"
(คำอธิบาย AI แบบกระชับใน 3 คำ)
🧠 ข้อดีของการใช้ Prompt Template + Chain
| Prompt Template | Chain |
|---|---|
| ปรับข้อความแบบมีโครงสร้าง | เชื่อมการทำงานเป็นขั้นตอน |
| ใส่ตัวแปรได้สะดวก | ควบคุม Flow ของข้อมูลได้ |
| ใช้ซ้ำได้ | จัดระบบแอปให้ขยายได้ง่าย |
| อ่านโค้ดง่าย | ต่อกับ Agent หรือ RAG ได้ |
🧪 ตัวอย่างอื่น ๆ
- เปลี่ยน topic เป็น “ฟิสิกส์” จำนวนคำ 3 คำ
ได้ผลลัพธ์:"พลังงาน แรง การเคลื่อนที่" - เปลี่ยน topic เป็น “AI” จำนวนคำ 5 คำ
ได้ผลลัพธ์:"ปัญญาประดิษฐ์ ที่เรียนรู้ และคิด" - เปลี่ยน prompt เป็นแนวให้เข้าใจง่าย
Template:"อธิบายเกี่ยวกับ {topic} ให้เข้าใจง่ายใน {word} คำ"
🛠️ ข้อควรระวัง
- อย่าลืมใส่ตัวแปรให้ครบตรงกับที่ระบุใน Template เช่น
{topic},{word} - ถ้าโมเดลช้า ให้เปลี่ยนจาก
gpt-4เป็นgpt-4oหรือgpt-4o-mini

✅ สรุปตอนนี้
Prompt Template= ออกแบบคำถามให้ยืดหยุ่นChain= เชื่อมต่อคำถามกับโมเดลให้ทำงานต่อเนื่อง- ใช้
LCEL(|) เพื่อเขียน chain ได้กระชับ - เปลี่ยนข้อมูลใน prompt ได้ง่ายด้วยการใช้ตัวแปร
- เหมาะกับแอปที่ต้องเปลี่ยน input บ่อย เช่น chatbot, ระบบสรุปข้อมูล, คำอธิบายสินค้า ฯลฯ
Leave a Reply