การออกแบบ Prompt เบื้องต้น

Prompt Engineering กับ OpenAI API

Fouad Trad

Machine Learning Engineer

Prompt Engineering คืออะไร?

การเขียน Prompt หรือคำสั่งที่ส่งให้ LLM เพื่อให้ได้ผลลัพธ์ที่ต้องการ

ภาพแสดงวิศวกรที่กำลังอธิบายคำศัพท์เกี่ยวกับ Prompt Engineering

Prompt Engineering กับ OpenAI API

Prompt Engineering คือการเขียนสูตรอาหาร

ภาพแสดงเชฟกำลังปรุงอาหาร

Prompt Engineering กับ OpenAI API

ทำไมต้องออกแบบ Prompt?

  ไดอะแกรมแสดงว่า Prompt คุณภาพสูงนำไปสู่คำตอบที่มีคุณภาพสูง

Prompt Engineering กับ OpenAI API

ทำไมต้องออกแบบ Prompt?

  ไดอะแกรมแสดงว่าคุณภาพของคำตอบขึ้นอยู่กับคุณภาพของ Prompt ที่ป้อนเข้า: Prompt ดีได้คำตอบดี Prompt แย่ได้คำตอบแย่

Prompt Engineering กับ OpenAI API

ทบทวน: OpenAI API

  • ใช้ติดต่อกับโมเดลของ OpenAI
  • ตั้งค่าไว้ให้แล้วในคอร์สนี้
  • เข้าถึง Chat Completions endpoint

chatgpt_logo_white.png

Prompt Engineering กับ OpenAI API

ทบทวน: Role ของข้อความ

ทุกข้อความมี Role หนึ่งใน สาม ประเภท

ภาพแสดงไอคอนของ Role ผู้ใช้

Prompt Engineering กับ OpenAI API

ทบทวน: Role ของข้อความ

ทุกข้อความมี Role หนึ่งใน สาม ประเภท

ภาพแสดงไอคอนของสอง Role ได้แก่ User และ Assistant

Prompt Engineering กับ OpenAI API

ทบทวน: Role ของข้อความ

ทุกข้อความมี Role หนึ่งใน สาม ประเภท

ภาพแสดงไอคอนของแต่ละ Role ทั้งสาม ได้แก่ User, System และ Assistant

Prompt Engineering กับ OpenAI API

ทบทวน: Role ของข้อความ

ทุกข้อความมี Role หนึ่งใน สาม ประเภท

ภาพแสดงไอคอนของแต่ละ Role พร้อมลูกศรการสื่อสารระหว่าง System และ Assistant เพื่อส่งข้อความของ System

  • System message: กำหนดพฤติกรรมของโมเดล
Prompt Engineering กับ OpenAI API

ทบทวน: Role ของข้อความ

ทุกข้อความมี Role หนึ่งใน สาม ประเภท

ภาพแสดงไอคอนของแต่ละ Role พร้อมลูกศรการสื่อสารระหว่าง System และ Assistant และลูกศรจาก User ไปยัง Assistant เพื่อส่ง Prompt

  • System message: กำหนดพฤติกรรมของโมเดล
  • User message: Prompt จากผู้ใช้
Prompt Engineering กับ OpenAI API

ทบทวน: Role ของข้อความ

ทุกข้อความมี Role หนึ่งใน สาม ประเภท

ภาพแสดงไอคอนของแต่ละ Role พร้อมลูกศรการสื่อสารครบทั้งสามทิศทาง: System-Assistant, User-Assistant และ Assistant-User

  • System message: กำหนดพฤติกรรมของโมเดล
  • User message: Prompt จากผู้ใช้
  • Assistant message: การตอบกลับ Prompt ของผู้ใช้
Prompt Engineering กับ OpenAI API

ทบทวน: พารามิเตอร์ควบคุม

ภาพแสดงไอคอนเทอร์โมมิเตอร์พร้อมค่าที่เป็นไปได้ระหว่าง 0 ถึง 2 โดย 0 หมายถึงไม่มีความสุ่ม และ 2 หมายถึงความสุ่มสูงสุด

  • temperature: ควบคุมความสุ่มของคำตอบ
Prompt Engineering กับ OpenAI API

ทบทวน: พารามิเตอร์ควบคุม

ภาพแสดงไอคอนเทอร์โมมิเตอร์พร้อมค่าระหว่าง 0 ถึง 2 และไอคอนแถบเลื่อนแทนพารามิเตอร์ max_tokens โดยค่าที่ต่ำกว่าจะได้คำตอบที่สั้นกว่า

  • temperature: ควบคุมความสุ่มของคำตอบ
  • max_tokens: ควบคุมความยาวของการตอบกลับ
Prompt Engineering กับ OpenAI API

ทบทวน: การสื่อสารกับ OpenAI API

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Prompt engineering refers to the process of designing and refining prompts or 
instructions given to a language model like ChatGPT in order to elicit desired 
responses or behaviors. It involves formulating specific guidelines or hints to 
guide the model's output towards a desired outcome.
Prompt Engineering กับ OpenAI API

การสร้างฟังก์ชัน get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-4o-mini", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

การใช้งาน

response = get_response("What is prompt engineering?")
print(response)
Prompt engineering refers to the process of designing and refining prompts or instructions given to a language model 
like ChatGPT in order to elicit desired responses or behaviors. It involves formulating specific guidelines or hints 
to guide the model's output towards a desired outcome.
Prompt Engineering กับ OpenAI API

การปรับปรุง Prompt

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Imagine you have a very smart friend who can understand and answer lots of 
questions. But sometimes, they might not understand exactly what you want or give 
the wrong answer. So, prompt engineering is like giving your friend really clear 
instructions or hints to help them give you the best answer possible.
Prompt Engineering กับ OpenAI API

มาฝึกกันเถอะ!

Prompt Engineering กับ OpenAI API

Preparing Video For Download...