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

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

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

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

ภาพรวม

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

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

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

Responses API

ใช้กับโมเดล GPT-5 และโมเดล o-series ส่วนใหญ่: ใช้ max_output_tokens เพื่อจำกัดจำนวนโทเค็นที่โมเดลจะสร้าง สำหรับคำขอ compaction_trigger ให้ละ max_output_tokens ไว้หรือกำหนดค่าอย่างน้อย 20000; ค่าที่น้อยกว่านี้จะถูกปฏิเสธ Responses API ไม่รองรับการเติมเต็มหลายรายการ (n)

Chat Completions API

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

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

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

  • รองรับ stop และ n (การเติมเต็มหลายรายการ)

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

ขีดจำกัดโทเค็นตามกลุ่มโมเดล

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

ตัวอย่างสั้นๆ

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` ควบคุมจำนวนโทเค็นการให้เหตุผลที่จะสร้างก่อนให้คำตอบ 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 โทเค็น. ถ้าต้องการพื้นที่เพิ่ม ให้ตอบว่า ‘ต้องการพื้นที่เพิ่ม’”

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

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

ใช้ลำดับหยุดอย่างมีกลยุทธ์

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

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

ตัวเลือกคำตอบหลายรายการ

  • Chat Completions: n ส่งคืนการเติมเต็มหลายรายการในการเรียกครั้งเดียว

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

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