Responses API hay Chat Completions
So sánh cấu trúc yêu cầu, streaming, công cụ và khả năng tương thích nhà cung cấp trước khi chọn định dạng API phù hợp.
Responses API và Chat Completions đều gửi đầu vào đến mô hình ngôn ngữ, nhưng cách tổ chức input, output, công cụ và streaming khác nhau. Lựa chọn nên bắt đầu từ hợp đồng mà ứng dụng khách và mô hình cùng hỗ trợ, chứ không phải giả định endpoint mới hơn sẽ tự động dùng được với mọi nhà cung cấp.
Quy tắc ngắn gọn:
- Dùng Responses API cho agent lập trình hoặc ứng dụng đã xử lý item có kiểu, event công cụ và vòng đời streaming của Responses.
- Dùng Chat Completions cho ứng dụng chat có độ tương thích rộng và những họ nhà cung cấp cung cấp định dạng OpenAI qua passthrough Chat Completions.
Luôn kiểm tra định dạng mà mô hình hỗ trợ trong Mô hình & Giá.
So sánh giao thức
| Tiêu chí | Responses API | Chat Completions |
|---|---|---|
| Đầu vào chính | input và item đầu vào có kiểu | Mảng messages |
| Cấu trúc đầu ra | Item và event đầu ra có kiểu | Lựa chọn tin nhắn trợ lý và delta |
| Streaming | Luồng event Responses | Luồng chunk Chat Completions |
| Hoạt động công cụ | Item gọi công cụ và kết quả có kiểu | Lệnh gọi công cụ gắn với tin nhắn trợ lý |
| Phù hợp nhất | Agent, công cụ lập trình và ứng dụng native Responses | Ứng dụng chat và nhà cung cấp tương thích OpenAI rộng rãi |
| Khả năng chuyển mô hình | Chỉ mô hình đã xác minh cho Responses | Chỉ mô hình đã xác minh cho Chat Completions |
Bảng mô tả hợp đồng trên đường truyền. Nó không có nghĩa Modelflare chuyển đổi mọi tính năng của nhà cung cấp giữa hai định dạng.
Khi nào nên chọn Responses API
Chọn /v1/responses khi ứng dụng khách coi một lần chạy mô hình là chuỗi item có kiểu, thay vì một tin nhắn trợ lý duy nhất. Kiểu này thường gặp ở agent lập trình cần phân biệt văn bản hiển thị, tóm tắt suy luận, đối số hàm, đầu vào công cụ tùy chỉnh và các event khác.
Yêu cầu tối thiểu:
curl -sS https://modelflare.dev/v1/responses \
-H "Authorization: Bearer $MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"input": "Liệt kê ba bước cần kiểm tra trước khi chuyển API.",
"stream": true
}'
Hãy xác minh streaming Responses từ đầu đến cuối. Một ứng dụng khách mở được kết nối nhưng chỉ hiểu chunk Chat Completions có thể kết nối thành công mà vẫn không hiển thị được kết quả hữu ích.
Khi nào Chat Completions an toàn hơn
Chọn /v1/chat/completions nếu ứng dụng được xây dựng quanh tin nhắn system, user, assistant và tool, hoặc nhà cung cấp mô tả rõ endpoint Chat Completions tương thích OpenAI.
curl -sS https://modelflare.dev/v1/chat/completions \
-H "Authorization: Bearer $MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_CHAT_MODEL",
"messages": [
{"role": "system", "content": "Hãy trả lời ngắn gọn."},
{"role": "user", "content": "Một kiểm tra tình trạng API nên xác minh những gì?"}
],
"stream": true
}'
Với các họ mô hình không thuộc OpenAI, Modelflare có thể chuyển tiếp Chat Completions không biến đổi để những trường riêng như điều khiển suy luận hoặc tìm kiếm đến upstream nguyên vẹn. Cam kết có phạm vi rõ ràng này chính xác hơn tuyên bố mọi mô hình đều tương thích Responses.
Không chọn chỉ dựa vào tên mô hình
Cần kiểm tra riêng ba điểm:
- Khóa API truy cập được mô hình. Quyền truy cập phụ thuộc vào khóa và các nhóm khả dụng.
- Mô hình hỗ trợ endpoint. Có trong /v1/models không có nghĩa hỗ trợ cả hai định dạng.
- Ứng dụng khách hiểu luồng. Event Responses và chunk Chat Completions là hai hợp đồng khác nhau.
Nếu bất kỳ điểm nào không đúng, chỉ đổi đường dẫn có thể biến một lỗi tương thích rõ ràng thành phản hồi trống hoặc chỉ hiển thị một phần.
Chuyển công cụ và đầu ra có cấu trúc
Trước khi chuyển một tích hợp thực tế:
- so sánh schema định nghĩa công cụ;
- kiểm tra cách trả về ID lệnh gọi và kết quả công cụ;
- giữ các giá trị tùy chọn được gửi rõ ràng như 0 hoặc false;
- xác định trường riêng nào phải đi qua không thay đổi;
- thử phản hồi chỉ có lệnh gọi công cụ mà không có văn bản hiển thị;
- xác nhận cách ứng dụng khách nhận biết hoàn tất và usage.
Cùng một prompt tạo ra văn bản tương tự chưa đủ để xác minh giao thức. Bài kiểm tra phải bao gồm những tính năng ứng dụng thực sự phụ thuộc vào.
Quy trình lựa chọn thực tế
- Chọn mô hình và nhóm trong Mô hình & Giá.
- Xác nhận định dạng API được hỗ trợ.
- Nếu có, làm theo hướng dẫn cho ứng dụng khách trong Tài liệu Modelflare.
- Gửi một yêu cầu không streaming.
- Gửi một yêu cầu streaming.
- Thử công cụ hoặc đầu ra có cấu trúc.
- Xem trạng thái, thời gian, token và chi phí trong nhật ký sử dụng.
Responses API không thay thế Chat Completions trong mọi trường hợp, và Chat Completions cũng chưa lỗi thời. Định dạng đúng là định dạng được ứng dụng khách, mô hình đã chọn và hợp đồng của nhà cung cấp upstream cùng hỗ trợ.