OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

การควบคุมความยาวของการตอบกลับจากโมเดล OpenAI

เรียนรู้วิธีกำหนดขีดจำกัดเอาต์พุตสำหรับโมเดล OpenAI โดยใช้การตั้งค่า Token คำสั่งที่ชัดเจน ตัวอย่าง และ stop sequence

อัปเดตล่าสุด: yesterday

ภาพรวม

การควบคุมความยาวของการตอบกลับจากโมเดลมีประโยชน์ด้วยหลายเหตุผล: ช่วยจัดการต้นทุน (เนื่องจากคุณจ่ายตาม Token) ปรับปรุงเวลาแฝง/ประสิทธิภาพ (การตอบกลับที่สั้นกว่าจะส่งกลับได้เร็วกว่า) และช่วยให้เนื้อหาตรงประเด็นโดยหลีกเลี่ยงเอาต์พุตที่ยาวหรือเยิ่นเย้อมากเกินไป

คุณทำได้ด้วยการกำหนดเพดาน Token การตั้งค่า การให้เหตุผล และ verbosity คำสั่งที่ชัดเจน ตัวอย่าง และ stop sequence สำหรับรายละเอียดล่าสุดและครบถ้วนที่สุด โปรดอ้างอิง เอกสารอ้างอิง API อย่างเป็นทางการบน platform.openai.com

กำหนดความยาวเอาต์พุตสูงสุด

Responses API

ใช้กับโมเดล GPT-5 และโมเดลตระกูล o ส่วนใหญ่: ใช้ max_output_tokens เพื่อจำกัดจำนวน Token ที่โมเดลจะสร้าง รองรับ stop แต่ไม่รองรับ completions หลายรายการ (n)

Chat Completions API

ใช้กับ GPT-3.5, GPT-4o รุ่นเก่า และบางครั้งกับตระกูล o-series

  • สำหรับโมเดลการให้เหตุผล เช่น o3 และ o4-mini ให้ใช้ max_completion_tokens (ชื่ออื่นของ max_tokens)

  • สำหรับโมเดลรุ่นก่อนหน้า/ที่ไม่ใช่โมเดลการให้เหตุผล max_tokens ยังคงใช้ได้

  • รองรับ stop และ n (completions หลายรายการ)

หมายเหตุ: ไม่มีการตั้งค่า “จำนวน Token ขั้นต่ำ” หากคุณต้องการความยาวขั้นต่ำ ให้ระบุไว้ในคำสั่งของคุณ

ขีดจำกัด Token ตามกลุ่มโมเดล

สำหรับขีดจำกัด Token ขนาดคอนเท็กซ์ และเพดานเอาต์พุตที่อัปเดตล่าสุด โปรดดูเอกสารของโมเดลแต่ละรายการ

ตัวอย่างแบบรวดเร็ว

Responses API

{ "model": "gpt-5", "input": "สรุปผลการค้นพบในประมาณ 80 คำ", "max_output_tokens": 120 }

Chat Completions (โมเดลการให้เหตุผล)

{ "model": "o3-mini", "messages": [{"role": "user", "content": "Write five one-line options."}], "max_completion_tokens": 100 }

ตัวควบคุมเฉพาะของโมเดล GPT-5: verbosity และ reasoning.effort

ตัวควบคุมเหล่านี้มีให้ใช้เฉพาะบนโมเดล GPT-5 เท่านั้น (gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro เป็นต้น โมเดลตระกูล O-series และโมเดลรุ่นเก่าไม่รองรับ

verbosity รับค่า "low", "medium" (ค่าเริ่มต้น) หรือ "high" ซึ่งมีผลต่อระดับรายละเอียด แต่ไม่ใช่ข้อจำกัดแบบตายตัว

{ "model": "gpt-5", "input": "อธิบาย PageRank ในระดับภาพรวม", "text": { "verbosity": "low" }, "max_output_tokens": 200 }

reasoning.effort ควบคุมจำนวน Token สำหรับการให้เหตุผลที่สร้างขึ้นก่อนจะให้คำตอบ GPT-5.2 รองรับ none,low, medium, high,and xhigh ส่วน gpt-5.2-pro รองรับเฉพาะ medium, high,and xhigh โมเดลการให้เหตุผลรุ่นก่อนหน้ารองรับเพียง low, medium และ high

{ "model": "gpt-5", "input": "ต้องใช้ทองคำมากแค่ไหนในการเคลือบเทพีเสรีภาพด้วยชั้นหนา 1 มม.?", "reasoning": { "effort": "minimal" } }

คุณสามารถตั้งค่า reasoning.effort เป็น none เพื่อให้โมเดลทำงานเหมือนโมเดลที่ไม่ใช้การให้เหตุผลสำหรับกรณีใช้งานที่ไวต่อเวลาแฝง

ระบุคำสั่งให้เฉพาะเจาะจง

ขอความยาวหรือรูปแบบที่คุณต้องการอย่างชัดเจน ตัวอย่าง:

  • “แสดงรายการตัวเลือก ห้าข้อพอดี

  • “เขียนสรุป 50 คำ

  • “ไม่เกิน 100 Token หากต้องการมากกว่านั้น ให้ตอบว่า ‘Need more room.’”

ใช้ตัวอย่างที่มีความยาวสม่ำเสมอ

ตัวอย่าง few-shot ที่ตรงกับความยาวที่คุณต้องการจะช่วยให้โมเดลดำเนินรูปแบบนั้นต่อไปได้

ใช้ stop sequence อย่างมีกลยุทธ์

ใช้ stop เพื่อหยุดการสร้างเมื่อโมเดลไปถึงตัวคั่นหรือขอบเขตรายการลำดับเลข

{ "stop": ["
###", "6."] }

ตัวเลือกหลายแบบ

  • Chat Completions: n จะคืน completions หลายรายการในการเรียกครั้งเดียว

  • Responses API: ไม่รองรับ n; ให้เรียกหลายครั้งหากคุณต้องการเอาต์พุตมากกว่าหนึ่งรายการ

บทความนี้มีประโยชน์หรือไม่