ภาพรวม
การควบคุมความยาวของคำตอบจากโมเดลมีประโยชน์หลายอย่าง: ช่วยจัดการต้นทุน (เพราะคุณจ่ายตามจำนวนโทเค็น), ลดเวลาแฝง/เพิ่มประสิทธิภาพ (คำตอบที่สั้นกว่าจะส่งกลับได้เร็วกว่า) และทำให้เนื้อหาเกี่ยวข้องกับคำถามโดยหลีกเลี่ยงเอาต์พุตที่ยาวหรือเยิ่นเย้อเกินไป
คุณทำได้โดยใช้เพดานโทเค็น การตั้งค่าการให้เหตุผลและระดับรายละเอียด คำสั่งที่ชัดเจน ตัวอย่าง และลำดับหยุด สำหรับรายละเอียดล่าสุดและครบถ้วนที่สุด โปรดดูเอกสารอ้างอิง API อย่างเป็นทางการบน platform.openai.comเสมอ
กำหนดความยาวเอาต์พุตสูงสุด
Responses API
ใช้กับโมเดล GPT-5 และโมเดล o-series ส่วนใหญ่ โดยใช้ max_output_tokens เพื่อจำกัดจำนวน Token ที่โมเดลจะสร้าง สำหรับคำขอ compaction_trigger ให้ละ max_output_tokens ไว้หรือตั้งค่าเป็นอย่างน้อย 20000 ระบบจะปฏิเสธค่าที่ต่ำกว่านี้ Responses API ไม่รองรับการสร้าง completion หลายรายการ (n)
Chat Completions API
ใช้กับ GPT-3.5 และ GPT-4o รุ่นเก่า รวมถึง o-series ในบางกรณี
สำหรับโมเดลการให้เหตุผลอย่าง o3 และ o4-mini ให้ใช้ max_completion_tokens (ชื่อแทนของ max_tokens)
สำหรับโมเดลรุ่นก่อนหน้าหรือโมเดลที่ไม่ใช้การให้เหตุผล ยังใช้ max_tokens ได้
รองรับ stop และ n (การสร้าง completion หลายรายการ)
หมายเหตุ: ไม่มีการตั้งค่า “โทเค็นขั้นต่ำ” หากต้องการความยาวขั้นต่ำ ให้ระบุไว้ในคำสั่งของคุณ
ขีดจำกัดโทเค็นตามกลุ่มโมเดล
สำหรับขีดจำกัดโทเค็น ขนาดบริบท และเพดานเอาต์พุตล่าสุด โปรดดูเอกสารของโมเดลนั้นๆ
ตัวอย่างสั้นๆ
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 และ xhigh gpt-5.2-pro รองรับเฉพาะ medium, high และ xhigh โมเดลการให้เหตุผลรุ่นก่อนหน้ารองรับเฉพาะ low, medium และ high
{ "model": "gpt-5", "input": "ต้องใช้ทองคำเท่าไรในการเคลือบเทพีเสรีภาพด้วยชั้นหนา 1 มม.?", "reasoning": { "effort": "minimal" } }คุณตั้งค่า reasoning.effort เป็น none ได้ เพื่อให้โมเดลทำงานเหมือนโมเดลที่ไม่ใช้การให้เหตุผลสำหรับกรณีใช้งานที่ให้ความสำคัญกับเวลาแฝง
ให้คำแนะนำที่เฉพาะเจาะจง
ระบุความยาวหรือรูปแบบที่ต้องการให้ชัดเจน ตัวอย่าง:
“แสดงตัวเลือกให้ครบห้าข้อ”
“เขียนสรุปความยาว 50 คำ”
“ไม่เกิน 100 โทเค็น. ถ้าต้องการพื้นที่เพิ่ม ให้ตอบว่า ‘ต้องการพื้นที่เพิ่ม’”
ใช้ตัวอย่างที่มีความยาวสม่ำเสมอ
ตัวอย่างแบบ few-shot ที่ตรงกับความยาวที่คุณต้องการ ช่วยให้โมเดลทำตามรูปแบบต่อไปได้
ใช้ลำดับการหยุดอย่างมีกลยุทธ์
ใช้ stop เพื่อหยุดการสร้างเมื่อโมเดลพบตัวคั่นหรือถึงขอบเขตของรายการลำดับเลข
{ "stop": ["\n###", "6."] }ตัวเลือกผลลัพธ์หลายรายการ
Chat Completions: n ส่งคืน completion หลายรายการในการเรียกเพียงครั้งเดียว
Responses API: ไม่รองรับ n หากต้องการผลลัพธ์มากกว่าหนึ่งรายการ ให้เรียก API หลายครั้ง
