0Pricing
Learn AI with Python · บทเรียน

วิศวกรรมพรอมต์สำหรับแอป 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. OpenAI API: chat.completions และการส่งข้อมูลแบบต่อเนื่อง
  2. Anthropic Claude API ใน Python
  3. การเรียกใช้ฟังก์ชันและการใช้เครื่องมือด้วย LLM
  4. วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง
← กลับไปที่ Learn AI with Python