OpenAI เปิดตัว Structured Outputs ใน API รองรับการส่งคืนค่าตามโครงสร้าง

นักพัฒนาสามารถระบุ JSON Schema ผ่านพารามิเตอร์ response_format โดยใช้ json_schema ซึ่งต้องมีการนำไปใช้ dynamic constrained decoding โดยการสร้างไวยากรณ์ (grammar) ที่แทน Schema นั้น และต้องมีการประมวลผลล่วงหน้าเพื่อรองรับการสุ่มตัวอย่างของโมเดล

ในระหว่างการสุ่มตัวอย่าง โมเดลจะตรวจสอบความถูกต้องของแต่ละโทเค็นที่สร้างขึ้นตามกฎในไวยากรณ์ ซึ่งแตกต่างจากวิธีอื่นที่อาจใช้ finite state machines (FSMs) หรือ regexes แต่โมเดลใหม่ เช่น gpt-4o, gpt-4o-mini, และโมเดลที่ใหม่กว่า ยังคงรองรับการใช้งานนี้ และยังเข้ากันได้กับ Vision inputs ด้วย

การเปลี่ยนไปใช้ gpt-4o-2024-08-06 ช่วยให้นักพัฒนาประหยัดค่าใช้จ่ายได้ถึง 50% สำหรับอินพุต และ 33% สำหรับเอาต์พุต เมื่อเทียบกับ gpt-4o-2024-05-13

สำหรับรายละเอียดเพิ่มเติม สามารถศึกษาได้จากเอกสารของ OpenAI

ศัพท์ที่ควรรู้

  • response_format – พารามิเตอร์ที่ใช้กำหนดรูปแบบการตอบกลับของโมเดล เช่น ต้องการให้เป็น JSON
  • json_schema – โครงสร้างมาตรฐานที่ใช้กำหนดรูปแบบของข้อมูลที่ต้องการให้โมเดลสร้างขึ้น
  • dynamic constrained decoding – กระบวนการที่โมเดลจะตรวจสอบความถูกต้องของแต่ละโทเค็นที่สร้างขึ้นตามกฎที่กำหนดแบบเรียลไทม์
  • latency penalty – ความล่าช้าที่เกิดขึ้นในการเรียกใช้งานครั้งแรก เนื่องจากต้องมีการประมวลผล Schema ล่วงหน้า
  • gaps between models – ความแตกต่างระหว่างโมเดล เช่น gpt-4o รองรับโครงสร้างที่ซับซ้อนกว่า FSMs ทั่วไป

ที่มา: OpenAI

Leave a Comment