OpenAI
Trang này được dịch bằng máy học. Xem bài viết gốc bằng tiếng Anh.

Kiểm soát độ dài phản hồi của mô hình OpenAI

Tìm hiểu cách đặt giới hạn đầu ra cho các mô hình OpenAI bằng thiết lập token, câu lệnh rõ ràng, ví dụ và chuỗi dừng.

Đã cập nhật: 6 days ago

Tổng quan

Việc kiểm soát độ dài phản hồi của mô hình hữu ích vì nhiều lý do: giúp quản lý chi phí (vì bạn trả phí theo token), cải thiện độ trễ/hiệu năng (phản hồi ngắn hơn được trả về nhanh hơn) và đảm bảo tính liên quan bằng cách tránh đầu ra quá dài hoặc dài dòng.

Bạn có thể làm điều này bằng mức trần token, thiết lập suy luận và độ chi tiết, hướng dẫn rõ ràng, ví dụ và chuỗi dừng. Để có thông tin mới nhất và đầy đủ nhất, hãy luôn tham khảo tài liệu tham khảo API chính thức trên platform.openai.com.

Đặt độ dài đầu ra tối đa

API Responses

Dùng cho các mô hình GPT-5 và hầu hết mô hình dòng o: sử dụng max_output_tokens để giới hạn số token mà mô hình sẽ tạo. Đối với yêu cầu compaction_trigger, hãy bỏ qua max_output_tokens hoặc đặt thành ít nhất 20000; các giá trị nhỏ hơn sẽ bị từ chối. API Responses không hỗ trợ nhiều kết quả hoàn thiện (n).

API hoàn thiện hội thoại

Dùng cho GPT-3.5, GPT-4o cũ và đôi khi cho dòng o.

  • Với các mô hình suy luận như o3 và o4-mini, hãy dùng max_completion_tokens (bí danh của max_tokens)

  • Với các mô hình cũ hoặc không suy luận, max_tokens vẫn hoạt động

  • Hỗ trợ stopn (nhiều kết quả hoàn thiện).

Lưu ý: Không có thiết lập “token tối thiểu”. Nếu bạn cần độ dài tối thiểu, hãy nêu rõ trong câu lệnh.

Giới hạn token theo nhóm mô hình

Để biết giới hạn token, kích thước ngữ cảnh và mức trần đầu ra mới nhất, vui lòng tham khảo tài liệu về mô hình cụ thể.

Ví dụ nhanh

Responses API

{ "model": "gpt-5", "input": "Tóm tắt các phát hiện trong ~80 từ.", "max_output_tokens": 120 }

Hoàn thiện hội thoại (mô hình suy luận)

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

Các chế độ kiểm soát dành riêng cho mô hình GPT-5: verbosity và reasoning.effort

Các chế độ kiểm soát này chỉ có trên các mô hình GPT-5 (gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro, v.v.). Các mô hình dòng O và mô hình cũ không hỗ trợ các chế độ này.


verbosity nhận giá trị "low", "medium" (mặc định) hoặc "high". Thông số này ảnh hưởng đến mức độ chi tiết nhưng không đặt ra giới hạn cứng.

{ "model": "gpt-5", "input": "Giải thích PageRank ở mức khái quát.", "text": { "verbosity": "low" }, "max_output_tokens": 200 }

reasoning.effort kiểm soát số lượng token suy luận được tạo trước khi đưa ra câu trả lời. GPT-5.2 hỗ trợ none, low, medium, highxhigh. gpt-5.2-pro chỉ hỗ trợ medium, highxhigh. Các mô hình suy luận trước đây chỉ hỗ trợ low, mediumhigh.

{ "model": "gpt-5", "input": "Cần bao nhiêu vàng để phủ Tượng Nữ thần Tự do bằng một lớp dày 1 mm?", "reasoning": { "effort": "minimal" } }

Bạn có thể đặt reasoning.effort thành none để mô hình hoạt động như một mô hình không suy luận trong các trường hợp cần độ trễ thấp.

Cung cấp hướng dẫn cụ thể

Hãy yêu cầu đúng độ dài hoặc định dạng bạn muốn. Ví dụ:

  • “Liệt kê đúng năm phương án.”

  • “Viết bản tóm tắt 50 từ.”

  • “Không quá 100 token. Nếu cần thêm chỗ, hãy nói ‘Cần thêm chỗ.’”

Dùng ví dụ có độ dài nhất quán

Các ví dụ ít mẫu có độ dài khớp với mong muốn của bạn sẽ giúp mô hình tiếp tục theo mẫu.

Áp dụng trình tự dừng một cách có chiến lược

Dùng stop để dừng quá trình tạo khi mô hình gặp dấu phân cách hoặc ranh giới của danh sách đánh số.

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

Nhiều kết quả ứng viên

  • Hoàn thiện hội thoại: n trả về nhiều kết quả hoàn thiện trong một lệnh gọi.

  • API Responses: không hỗ trợ n; hãy thực hiện nhiều lệnh gọi nếu bạn cần nhiều hơn một đầu ra.

Bài viết này có hữu ích không?