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 mô hình OpenAI bằng cài đặt token, câu lệnh rõ ràng, ví dụ và chuỗi dừng.

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

Tổng quan

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ả tiền theo token), cải thiện độ trễ/hiệu năng (phản hồi ngắn được trả về nhanh hơn), và đảm bảo tính liên quan bằng cách tránh các đầu ra quá dài hoặc quá rườm rà.

Bạn có thể làm điều này bằng giới hạn token, cài đặt 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 chiếu API chính thức trên platform.openai.com.

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

Responses API

Dùng cho các mô hình GPT-5 và hầu hết mô hình dòng o: dùng max_output_tokens để giới hạn số token mà mô hình sẽ tạo ra. Hỗ trợ stop, nhưng 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 thế hệ cũ, và đôi khi cả dòng o.

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

  • Với các mô hình cũ hơn/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ó cài đặt “số 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à giới hạn đầu ra mới nhất, vui lòng tham khảo tài liệu của từng mô hình.

Ví dụ nhanh

Responses API

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

Chat Completions (mô hình suy luận)

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

Các điều khiển riêng của mô hình GPT-5: verbosityreasoning.effort

Các điều khiển này chỉ có trên mô hình GPT-5 (gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro, v.v.). Dòng o và các mô hình cũ không hỗ trợ chúng.

verbosity chấp nhận "low", "medium" (mặc định), hoặc "high". Nó ảnh hưởng đến mức độ chi tiết nhưng không phải 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ố token suy luận được tạo ra trước khi đưa ra câu trả lời. GPT-5.2 hỗ trợ none,low, medium, high,and xhigh. gpt-5.2-pro chỉ hỗ trợ medium, high,and xhigh. Các mô hình suy luận trước đó chỉ hỗ trợ low, medium, và high.

{ "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 1mm?", "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 cho 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 dạng thức bạn muốn. Ví dụ:

  • “Liệt kê chính xác năm lựa chọn.”

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

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

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

Ví dụ ít mẫu khớp với độ dài mong muốn sẽ giúp mô hình tiếp tục theo đúng mẫu.

Áp dụng chuỗi dừng một cách chiến lược

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

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

Nhiều phương án

  • Chat Completions: n trả về nhiều kết quả hoàn thiện trong một lần gọi.

  • Responses API: n không được hỗ trợ; hãy thực hiện nhiều lần 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?