วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง
การออกแบบพรอมต์ระบบ ตัวอย่างแบบไม่กี่ช็อต การจัดรูปแบบผลลัพธ์ ตรรกะการลองใหม่ และการเพิ่มประสิทธิภาพต้นทุน
วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
การเขียนคำสั่งในระบบจริง
ในแอปจริง คำสั่งต่าง ๆ คือ โค้ด จึงต้องมีโครงสร้าง การทดสอบ และความน่าเชื่อถือ การออกแบบคำสั่งที่ดีช่วยลดการหลอนข้อมูล บังคับรูปแบบผลลัพธ์ และควบคุมค่าใช้จ่าย บทเรียนนี้ครอบคลุมเทคนิคที่สำคัญต่อการใช้งานจริง
การออกแบบคำสั่งระบบ
คำสั่งระบบ จะกำหนดบทบาท น้ำเสียง ข้อจำกัด และกฎของโมเดล โปรดระบุให้ชัดเจนว่า assistant คืออะไร ต้องทำอะไรและห้ามทำอะไร รวมถึงรูปแบบคำตอบ คำสั่งระบบที่ชัดเจนคือเครื่องมือกำกับทิศทางที่ทรงพลังที่สุดของคุณ
system = (
"You are a support agent for an e-commerce store. "
"Answer only questions about orders and shipping. "
"If asked anything else, politely decline. "
"Keep replies under 3 sentences."
)ตัวอย่างแบบไม่กี่ตัวอย่าง
การให้ตัวอย่างแบบไม่กี่ตัวอย่าง หมายถึงการแสดงคู่ข้อมูลขาเข้า/ผลลัพธ์ตัวอย่างให้โมเดลดู เพื่อให้โมเดลเรียนรู้รูปแบบ คุณวางตัวอย่างเหล่านี้เป็นข้อความผู้ใช้และผู้ช่วยสลับกัน ก่อนคำขอจริง
messages = [
{"role": "system", "content": system},
{"role": "user", "content": "Classify: I love this!"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "Classify: This broke instantly."},
{"role": "assistant", "content": "negative"},
{"role": "user", "content": "Classify: It is okay I guess."}
]เหตุใดตัวอย่างแบบไม่กี่ตัวอย่างจึงได้ผล
ตัวอย่างช่วยขจัดความกำกวมของเจตนาได้ดีกว่าการใช้คำสั่งเพียงอย่างเดียว ตัวอย่างจะกำหนดรูปแบบผลลัพธ์ที่แน่นอน (หนึ่งคำ, JSON หรือป้ายกำกับ) และเพิ่มความสม่ำเสมออย่างมากสำหรับงานจำแนกประเภท การดึงข้อมูล และการจัดรูปแบบ
บังคับให้ผลลัพธ์เป็น JSON
สำหรับคำตอบที่เครื่องอ่านได้ ให้ขอโหมด JSON ด้วย response_format เมื่อใช้ {"type": "json_object"} โมเดลจะถูกจำกัดให้ส่ง JSON ที่ถูกต้อง ซึ่งคุณสามารถแยกวิเคราะห์ได้อย่างปลอดภัย
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)นับโทเค็นด้วย tiktoken
ค่าใช้จ่ายและขีดจำกัดบริบทวัดเป็น โทเค็น ไลบรารี tiktoken จะนับโทเค็นภายในเครื่อง เพื่อให้คุณจัดสรรงบประมาณได้ก่อนส่งคำขอ ติดตั้งด้วย pip install tiktoken
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("Hello, how are you?")
print(len(tokens))เหตุใดการนับโทเค็นจึงสำคัญ
โมเดลแต่ละรุ่นมีหน้าต่างบริบท (จำนวนโทเค็นสูงสุด) และคุณต้องจ่ายค่าบริการตามจำนวนโทเค็น การนับล่วงหน้าช่วยให้คุณตัดประวัติ ปฏิเสธข้อมูลขาเข้าที่มีขนาดใหญ่เกินไป และคาดการณ์ค่าใช้จ่ายได้ก่อนที่คำขอจะออกจากเซิร์ฟเวอร์ของคุณ
def cost_estimate(text, price_per_1k=0.005):
enc = tiktoken.encoding_for_model("gpt-4o")
n = len(enc.encode(text))
return n, n / 1000 * price_per_1kการจัดการขีดจำกัดอัตรา
การรับส่งข้อมูลในระบบจริงจะชนกับ ขีดจำกัดอัตรา (HTTP 429) และข้อผิดพลาดชั่วคราว แทนที่จะทำให้โปรแกรมหยุดทำงาน ให้ลองใหม่โดยเพิ่มระยะเวลารอแบบทวีคูณ ไลบรารี tenacity ทำให้การดำเนินการนี้ทำได้ด้วยตัวตกแต่งเพียงบรรทัดเดียว
pip install tenacity
from tenacity import retry, wait_exponential, stop_after_attemptลองใหม่ด้วย tenacity
ตกแต่งการเรียกใช้ API ด้วย @retry ใช้ wait_exponential เพื่อเพิ่มระยะเวลารอระหว่างการลองแต่ละครั้ง และใช้ stop_after_attempt เพื่อจำกัดจำนวนครั้งทั้งหมด วิธีนี้ช่วยให้ระบบรับมือกับการหยุดให้บริการชั่วคราวได้อย่างราบรื่น
@retry(wait=wait_exponential(min=1, max=30), stop=stop_after_attempt(5))
def ask(prompt):
return client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}]
)กำหนด JSON Schema สำหรับผลลัพธ์
เมื่อบังคับใช้โหมด JSON ให้ระบุรูปร่างที่แน่นอนของผลลัพธ์ที่ต้องการไว้ในคำสั่งเสมอ เพื่อให้คีย์มีรูปแบบคาดเดาได้ การเขียนสคีมาอย่างชัดเจนด้วยข้อความธรรมดาควบคู่กับโหมด JSON จะให้ผลลัพธ์ที่แยกวิเคราะห์และตรวจสอบความถูกต้องได้ทุกครั้ง
system = (
"Return ONLY JSON with this shape: "
"{\"sentiment\": \"positive|negative|neutral\", "
"\"confidence\": number between 0 and 1}"
)นำทุกอย่างมาประกอบกัน
กระบวนการคำสั่งในระบบจริงประกอบด้วยการออกแบบ คำสั่งระบบ ที่เข้มงวด เพิ่ม ตัวอย่างแบบไม่กี่ตัวอย่าง บังคับใช้ ผลลัพธ์ JSON เมื่อจำเป็น นับโทเค็น เพื่อจัดการค่าใช้จ่ายและบริบท และห่อการเรียกใช้ด้วยตรรกะ retry เมื่อใช้ร่วมกัน สิ่งเหล่านี้จะทำให้ฟีเจอร์ LLM มีความน่าเชื่อถือ
ตรวจสอบความเข้าใจ
ทดสอบความรู้เรื่องการเขียนคำสั่งในระบบจริงของคุณ
ทบทวน: การเขียนพรอมป์สำหรับการใช้งานจริง
คุณได้เรียนรู้การสร้าง พรอมป์ระบบ ที่เคร่งครัด การชี้นำพฤติกรรมด้วย ตัวอย่างจำนวนไม่กี่กรณี และการรับประกันคำตอบที่มีโครงสร้างผ่านโหมด JSON ของ response_format คุณนับโทเค็นด้วย ทิกโทเคน เพื่อจัดการบริบทและค่าใช้จ่าย และเพิ่มความทนทานด้วยการลองใหม่ของ เทนาซิตี เมื่อถูกจำกัดอัตราการเรียกใช้
คำถามที่พบบ่อย
บทเรียน “วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง”
การออกแบบพรอมต์ระบบ ตัวอย่างแบบไม่กี่ช็อต การจัดรูปแบบผลลัพธ์ ตรรกะการลองใหม่ และการเพิ่มประสิทธิภาพต้นทุน คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- OpenAI API: chat.completions และการส่งข้อมูลแบบต่อเนื่อง
- Anthropic Claude API ใน Python
- การเรียกใช้ฟังก์ชันและการใช้เครื่องมือด้วย LLM
- วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง