การแปล JSON ที่มีบริบทยาวด้วย ChatGPT
เรียนรู้วิธีการใช้โมเดล ChatGPT ล่าสุดและโหมด JSON เพื่อแปลออบเจ็กต์ JSON ที่มีบริบทยาว และสตรีมผลลัพธ์กลับไปที่ JSON
เรียนรู้วิธีการใช้โมเดล ChatGPT ล่าสุดและโหมด JSON เพื่อแปลไฟล์ JSON ที่มีบริบทยาว และสตรีมผลลัพธ์กลับไปที่ JSON
บทนำ
มันนานมาแล้วตั้งแต่โพสต์ล่าสุดของเรา การทำให้กระบวนการสร้างภาษาเกิดประสิทธิภาพด้วย ChatGPT ซึ่งเราแสดงให้เห็นว่าคุณสามารถใช้ ChatGPT เพื่อแปลออบเจ็กต์ JSON ได้อย่างไร เมื่อโมเดลนี้พัฒนาไป ความสามารถในการแปลก็ได้ถูกปรับปรุงให้ดีขึ้นอย่างมากด้วยหน้าต่างบริบทที่ยาวขึ้น การเพิ่มจำนวนโทเค็นผลลัพธ์สูงสุด และฟีเจอร์ใหม่ๆ เช่น โหมด JSON ที่ทำให้ประสบการณ์ของนักพัฒนาดียิ่งขึ้น
เพิ่มจำนวนโทเค็นผลลัพธ์สูงสุด
มาดูการเปรียบเทียบอย่างรวดเร็วของสองรุ่นล่าสุดของโมเดล:
Model | คำอธิบาย | หน้าต่างบริบท | โทเค็นผลลัพธ์สูงสุด | ข้อมูลการฝึกฝน |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o ปัจจุบันชี้ไปที่เวอร์ชันนี้ | 128,000 โทเค็น | 4,096 โทเค็น | ถึง ต.ค. 2023 |
gpt-4o-2024-08-06 | สแนปช็อตล่าสุดที่รองรับ Structured Outputs | 128,000 โทเค็น | 16,384 โทเค็น | ถึง ต.ค. 2023 |
การเปลี่ยนแปลงที่สำคัญที่สุดคือการเพิ่มจำนวนโทเค็นผลลัพธ์สูงสุดจาก 4,096 เป็น 16,384 ซึ่งเหมาะเจาะกับสถานการณ์การแปลโดยเฉพาะ เนื่องจากผลลัพธ์ของการแปลมักจะมีความยาวประมาณเท่ากับหรือมากกว่าข้อความต้นฉบับ ในขณะนี้ ราคาได้ถูกลดลงเมื่อเปรียบเทียบกับโมเดล 32K โทเค็นก่อนหน้านี้ (ซึ่งมีราคาแพง)
โหมด JSON
ตามชื่อของมัน โหมด JSON มีประโยชน์มากเมื่อคุณต้องการให้แน่ใจว่าผลลัพธ์นั้นเป็นออบเจ็กต์ JSON ที่ถูกต้อง สำหรับโมเดลใหม่นี้ คุณสามารถกำหนดโครงสร้างของออบเจ็กต์ JSON ที่ผลลัพธ์ได้โดยใช้ Structured Outputs
เริ่มต้น
การเริ่มต้น
เราจะใช้ ชุดพัฒนาซอฟต์แวร์ Node.js ของ OpenAI v4.56.0 ในโพสต์นี้เพื่อการสาธิต คุณสามารถใช้วิธีหรือภาษาอื่นที่คุณต้องการได้
ก่อนอื่นเราต้องเริ่มต้นไคลเอนต์ OpenAI:
ฉันขอแนะนำอย่างยิ่งให้ใช้โหมดสตรีมสำหรับการแปลที่มีบริบทยาว เนื่องจากมันมีประสิทธิภาพมากกว่า และคุณไม่จำเป็นต้องรอเวลานานเพื่อลองรับผลลัพธ์ (ตัวอย่างเช่น หนึ่งนาทีสำหรับหนึ่งคำขอ) โค้ดจะมีลักษณะดังนี้:
มาเขียนข้อความชักนำกันเถอะ
เราสามารถใช้บทบาท system
เพื่อบอกให้โมเดลทำงานของมัน:
อย่าลืมเปลี่ยน "th" เป็นรหัสภาษาที่คุณต้องการ ตามประสบการณ์ของเรา มีคำแนะนำหลายอย่างที่เราต้องบอกให้โมเดลเพื่อให้ออกผลลัพธ์ที่ดีขึ้นและลดการแทรกแซงของมนุษย์:
คุณอาจสงสัยว่าทำไมเราจึงต้องมีคำแนะนำสุดท้าย นี่คือคำอธิบาย จาก OpenAI:
เมื่อใช้โหมด JSON คุณต้องบอกโมเดลเสมอให้สร้าง JSON ผ่านข้อความบางข้อความในการสนทนา เช่น ผ่านข้อความระบบของคุณ หากคุณไม่รวมคำแนะนำที่ชัดเจนในการสร้าง JSON โมเดลอาจสร้างสตรีมของช่องว่างที่ไม่สิ้นสุดและคำขออาจดำเนินการต่อไปเรื่อย ๆ จนกว่าจะถึงขีดจำกัดของโทเค็น
ด้วยคำแนะนำข้างต้น เราสามารถใส่ออบเจ็กต์ JSON เพื่อให้แปลในข้อความต่อไปนี้กับบทบาท user
มาประกอบสิ่งที่เรามีต่อไปนี้:
การจัดการผลลัพธ์
เนื่องจากเราใช้โหมดสตรีม ดังนั้นเราต้องจัดการผลลัพธ์ด้วยรูปแบบการสตรีม นี่คือตัวอย่าง:
บทสรุป
แค่นี้! ด้วยโมเดล ChatGPT ใหม่ ประสิทธิภาพของการแปล JSON ได้รับการปรับปรุงให้ดียิ่งขึ้น และคุณภาพของการแปลก็ดีขึ้นด้วย ฉันหวังว่าโพสต์นี้จะช่วยให้คุณได้ข้อมูลใหม่เกี่ยวกับ ChatGPT และการแปล JSON พบกันในโพสต์ถัดไป!