บทนำสู่ Gen AI สำหรับผู้เริ่มต้นเขียน Python
นักพัฒนาส่วนใหญ่เขียนโค้ดโดยใช้กฎที่ตายตัว คุณรับอินพุตมา ใช้คำสั่ง if/else หรือลูป แล้วส่งผลลัพธ์ที่คาดเดาได้กลับไป วิธีนี้ใช้ได้ดีกับข้อมูลที่มีโครงสร้างชัดเจนอย่าง JSON หรือ CSV
แต่ถ้าเป็นงานที่ไม่มีรูปแบบชัดเจนล่ะ?
- สรุปตั๋วสนับสนุน (support tickets) 100 รายการ
- เปลี่ยนรายการฟีเจอร์ให้เป็นอีเมล
- เปรียบเทียบข้อดีและข้อเสียจากบทความในบล็อก
คุณอาจจะใช้ regex หรือเทมเพลตที่ซับซ้อน แต่สิ่งเหล่านั้นเปราะบางและพังง่าย Generative AI สามารถจัดการกับงานที่คลุมเครือเหล่านี้ได้อย่างง่ายดาย
หลักการทำงาน
โมเดลแบบ Generative ทำงานตามลูปง่ายๆ ดังนี้:
- มันจะดูที่ prompt และข้อความก่อนหน้าของคุณ
- มันจะคาดเดาข้อความส่วนเล็กๆ ส่วนถัดไป
- มันจะเพิ่มข้อความส่วนนั้นลงในเนื้อหา
- มันจะทำซ้ำแบบนี้ไปเรื่อยๆ จนกว่างานจะเสร็จสิ้น
Large Language Models (LLMs) ใช้สถาปัตยกรรมที่เรียกว่า transformer แทนที่จะอ่านจากซ้ายไปขวา โมเดลจะมองดูทุกส่วนของอินพุตพร้อมกัน และตัดสินใจว่าคำไหนสำคัญที่สุดสำหรับการคาดเดาครั้งถัดไป
มีสองสิ่งที่สำคัญสำหรับนักพัฒนา Python นั่นคือ tokens และ context windows
Tokens โมเดลไม่ได้อ่านข้อความ (raw strings) โดยตรง แต่จะย่อยข้อความออกเป็น tokens ซึ่ง token คือชิ้นส่วนเล็กๆ ของคำ การคิดราคาและข้อจำกัดของ API จะใช้ tokens แทนจำนวนตัวอักษร
Context Window นี่คือปริมาณข้อความที่โมเดลสามารถมองเห็นได้ในคราวเดียว ซึ่งรวมถึง prompt ของคุณ ประวัติการแชท และผลลัพธ์จากโมเดล หากคุณใช้งานเกินขีดจำกัดนี้ โมเดลจะลืมส่วนที่เก่าที่สุดของการสนทนา
จากการใช้ prompt สู่การสร้าง agents
การส่ง prompt เพียงอย่างเดียวไปยังโมเดลเป็นเพียงจุดเริ่มต้น คุณสามารถสรุปข้อความหรืออธิบายข้อผิดพลาดได้ อย่างไรก็ตาม LLM พื้นฐานยังมีข้อจำกัด:
- ไม่สามารถเรียกใช้งานฐานข้อมูลหรือ API ของคุณได้
- ไม่จดจำข้อมูลระหว่างการร้องขอ (requests)
- อาจสร้างข้อมูลเท็จขึ้นมาเอง
ในการสร้างผลิตภัณฑ์ที่ใช้งานได้จริง คุณจำเป็นต้องมี agents ซึ่ง agent จะเพิ่ม 3 สิ่งนี้ให้กับ LLM:
- Tools: ฟังก์ชันต่างๆ เช่น การค้นหาเว็บหรือเครื่องคิดเลข
- Memory: พื้นที่จัดเก็บประวัติการสนทนาและข้อมูลผู้ใช้
- Orchestration: ตรรกะในการตัดสินใจว่าจะใช้เครื่องมือใดและควรหยุดเมื่อไหร่
LLM ทั่วไปจะให้คำตอบเพียงหนึ่งเดียว แต่ agent จะรับเป้าหมายมา แล้วใช้เครื่องมือและหน่วยความจำเพื่อให้ได้ผลลัพธ์ที่เชื่อถือได้
Optional learning community: https://t.me/GyaanSetuAi