Alt text

ทำความรู้จักกับ OpenAI Structured Outputs: เทคโนโลยีใหม่ที่จะช่วยให้โมเดล AI ทำงานตาม JSON Schemas ได้อย่างแม่นยำ

Apipoj Piasak
2 min readAug 16, 2024

ถ้าคุณเคยเอ่ยถึงปัญหาในการจัดการกับผลลัพธ์ที่ไม่ตรงกับ JSON Schemas ในการเรียบงานฟังก์ชัน AI โพสต์นี้ต้องเป็นประโยชน์กับคุณแน่นอนครับ ล่าสุด OpenAI ได้เปิดตัวฟีเจอร์ใหม่ที่ชื่อว่า “Structured Outputs” ใน API ซึ่งช่วยให้ผลลัพธ์ที่เกิดจากโมเดล AI สามารถตรงกับ JSON Schemas ที่ตั้งไว้อย่างแม่นยำ

จุดเด่นของ Structured Outputs

การปฏิบัติตาม JSON Schemas

หนึ่งในจุดเด่นหลักของฟีเจอร์ Structured Outputs คือการที่นักพัฒนาสามารถส่ง JSON Schema เป็นตัวเลือกรูปแบบการตอบกลับได้ เพื่อให้แน่ใจว่าผลลัพธ์ที่ได้จากโมเดลจะตรงกับสคีม่า JSON ครับ ซึ่งสามารถทำได้โดยการตั้งค่า strict: true ในการกำหนดฟังก์ชันหรือรูปแบบการตอบกลับ

รองรับโมเดลต่างๆ

Structured Outputs รองรับกับโมเดลทุกตัวที่สามารถเรียกใช้ฟังก์ชัน ได้แก่มอดุล GPT-4o, GPT-4o-mini, GPT-4-turbo, GPT-4, และ GPT-3.5-turbo ครับ โดยรูปแบบการตอบกลับใหม่นี้รองรับทั้ง GPT-4o-mini และโมเดลใหม่ล่าสุด GPT-4o-2024–08–06

ประหยัดค่าใช้จ่าย

การเปลี่ยนมาใช้โมเดลใหม่อย่าง GPT-4o-2024–08–06 จะช่วยนักพัฒนาในการประหยัดค่าใช้จ่ายได้สูงถึง 50% สำหรับ input token ($2.50 ต่อ 1 ล้าน token) และ 33% สำหรับ output token ($10.00 ต่อ 1 ล้าน token) เมื่อเทียบกับโมเดลเก่า GPT-4o-2024–05–13 ครับ

วิธีการใช้งาน Structured Outputs

การเรียกใช้ฟังก์ชัน

นักพัฒนาสามารถใช้ Structured Outputs ได้โดยการส่งค่า strict: true ในการกำหนดฟังก์ชันเพื่อให้แน่ใจว่าผลลัพธ์จะตรงกับสคีม่า JSON ที่ตั้งไว้ครับ

รูปแบบการตอบกลับ

นักพัฒนาสามารถส่ง JSON Schema เป็นตัวเลือกรูปแบบการตอบกลับ รวมถึงการกำหนดสคีม่าทั้งหมด ขณะที่การตั้งค่า strict: true จะทำให้ผลลัพธ์จากโมเดลตรงกับสคีม่าอย่างแม่นยำครับ

กรณีใช้งานและประโยชน์

ความน่าเชื่อถือและการควบคุม

Structured Outputs ทำให้แอปพลิเคชันมีความคงทนและกำหนดได้มากขึ้น โดยผลลัพธ์จากโมเดลจะตรงกับสคีม่าที่ตั้งไว้ ลดความจำเป็นที่ต้องทำการคลีนและพาร์สข้อมูลด้วยตนเองครับ

ประสิทธิภาพ

ฟีเจอร์นี้ช่วยในการอัตโนมัติของงานต่างๆ เช่น การสร้างข้อมูลเชิงโครงสร้างสำหรับการป้อนข้อมูล การสร้างเวิร์กโฟลว์หลายขั้นตอน และการดึงข้อมูล ซึ่งจะช่วยลดขั้นตอนในการพัฒนาและดำเนินการแอปพลิเคชันครับ

ความคุ้มค่า

การประหยัดค่าใช้จ่ายที่ได้จากการใช้โมเดลใหม่สามารถสร้างความแตกต่างอย่างมาก นักพัฒนาสามารถพัฒนาและดูแลแอปพลิเคชันที่ต้องการผลลัพธ์ในรูปแบบโครงสร้างได้อย่างคุ้มค่าครับ

ข้อจำกัดและข้อจำกัด

ขอบเขตของ JSON Schema

Structured Outputs รองรับเพียงบางส่วนของ JSON Schema เพื่อให้สามารถทำงานได้ดีที่สุด ข้อจำกัดนี้สามารถดูได้เพิ่มเติมในเอกสารของ OpenAI ครับ

Latency Penalty

มีการเก็บข้อมูลที่ล่าช้าในครั้งแรกเนื่องจากการเตรียมการล่วงหน้า แต่ในครั้งถัดไปจะมีประโยชน์จากกลไกการแคชที่ช่วยปรับปรุงเวลาในการตอบกลับครับ

การตอบรับจากชุมชนและตัวอย่าง

การยอมรับจากชุมชน

OpenAI รับทราบถึงการมีส่วนร่วมของชุมชน open source รวมถึงไลบรารี่เช่น outlines, jsonformer, instructor, guidance, และ lark ซึ่งช่วยสนับสนุนการพัฒนา Structured Outputs ครับ

การประยุกต์ใช้งานจริง

ตัวอย่างของการใช้งาน ได้แก่ การสร้างรายการซื้อของจากสูตรอาหาร การสร้าง UI component และการสร้างเวิร์กโฟลว์หลายขั้นตอน แอปพลิเคชันเหล่านี้ได้ประโยชน์จากรูปแบบผลลัพธ์ที่แม่นยำและจัดระเบียบจาก Structured Outputs ครับ

สรุป

ฟีเจอร์ Structured Outputs ของ OpenAI เป็นนวัตกรรมที่สำคัญในการทำให้ผลลัพธ์จากโมเดล AI น่าเชื่อถือและตรงตามสคีม่าที่ต้องการ ทำให้การพัฒนาแอปพลิเคชันมีความง่ายและคงทนมากขึ้น เหมาะสำหรับงานที่ต้องการข้อมูลรูปแบบโครงสร้าง เช่น การป้อนข้อมูลอัตโนมัติ การสร้างเวิร์กโฟลว์ และการสร้างส่วนประกอบ UI ขณะที่มีข้อจำกัดบางประการและการเพิ่มขึ้นของเวลาในการตอบกลับในครั้งแรก ประสิทธิภาพและความคุ้มค่าที่ได้จากฟีเจอร์นี้ทำให้ Structured Outputs เป็นเครื่องมือที่มีค่าอย่างมากสำหรับนักพัฒนาที่ทำงานกับ API ของ OpenAI ครับ

Reference: Introducing structured outputs in the api

--

--

Apipoj Piasak
Apipoj Piasak

Written by Apipoj Piasak

Share thoughts, technology, the technique to build up the digital product that users love.

No responses yet