Ẩn sâu trong thông báo phát hành V4-Flash ngày 31 tháng 7 của DeepSeek là một dòng đáng chú ý về mặt chiến lược: V4-Flash chính thức “hỗ trợ nguyên bản định dạng Responses API và hoàn toàn thích ứng với Codex.”
Điều này có nghĩa là một phòng thí nghiệm mã nguồn mở của Trung Quốc đã triển khai định dạng API mới nhất của OpenAI — định dạng được thiết kế cho các sản phẩm tác nhân, bao gồm Codex. Theo nhật ký thay đổi của DeepSeek: “Để đáp ứng nhu cầu của Codex, API của chúng tôi hiện hỗ trợ định dạng Responses API.”
Bài viết này tập trung vào phần triển khai: mức độ tương thích thực tế, các tính năng bị bỏ qua, cách kết nối V4-Flash với Codex trong vài phút và các điểm cần kiểm tra trước khi dùng trong kho mã thật. Nếu bạn cần thiết lập API cơ bản trước, hãy xem hướng dẫn beta công khai V4-Flash.
Tại sao Responses API lại quan trọng ở đây
OpenAI giới thiệu Responses API như phiên bản kế nhiệm của Chat Completions: một giao diện thống nhất cho tác vụ tác nhân, có mục lý luận, công cụ tích hợp và sự kiện streaming mang ý nghĩa ngữ nghĩa. Đây cũng là định dạng mà Codex sử dụng nguyên bản.
Chúng tôi đã phân tích định dạng này trong bài Cách sử dụng Responses API của OpenAI. Điểm quan trọng ở đây là: trước đó, muốn chạy mô hình không phải OpenAI phía sau một máy khách Responses API, bạn thường cần proxy chuyển đổi định dạng.
DeepSeek bỏ qua lớp proxy đó và triển khai Responses API trực tiếp tại https://api.deepseek.com. Bạn có thể tiếp tục dùng SDK OpenAI hiện tại:
# pip3 install openai
from openai import OpenAI
client = OpenAI(
api_key="<khóa API DeepSeek của bạn>",
base_url="https://api.deepseek.com"
)
response = client.responses.create(
model="deepseek-v4-flash",
instructions="Bạn là một trợ lý hữu ích.",
input="Xin chào, bạn khỏe không?",
)
print(response.output_text)
Lưu ý: Responses API hiện chỉ hoạt động với deepseek-v4-flash. DeepSeek cho biết hỗ trợ deepseek-v4-pro sẽ có vào đầu tháng 8 năm 2026.
Mức độ tương thích hoàn chỉnh đến mức nào?
DeepSeek đã công bố ma trận tương thích cho Responses API. Trước khi thay endpoint trong ứng dụng, hãy phân loại các tham số của bạn thành ba nhóm sau.
Được hỗ trợ và hoạt động
-
inputvàinstructions, ở dạng chuỗi hoặc danh sách mục -
streamvới chuỗi sự kiện ngữ nghĩa đầy đủ -
temperature,top_p,max_output_tokens,top_logprobs -
toolsvới loạifunctionvàweb_search; web search chạy phía máy chủ -
tool_choice, bao gồm ép gọi một function cụ thể -
reasoning.effortđể điều chỉnh độ sâu suy nghĩ
Ví dụ gọi function tool:
response = client.responses.create(
model="deepseek-v4-flash",
input="Kiểm tra thời tiết ở Hà Nội.",
tools=[
{
"type": "function",
"name": "get_weather",
"description": "Lấy thông tin thời tiết theo thành phố.",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"}
},
"required": ["city"]
}
}
],
tool_choice="auto"
)
Được chấp nhận nhưng không có hiệu lực
-
reasoning.summaryđược chấp nhận nhưng không tạo tóm tắt -
text.verbosityđược chấp nhận nhưng không ảnh hưởng đầu ra -
parallel_tool_callsbị bỏ qua vì gọi công cụ song song luôn được bật
Không được hỗ trợ theo thiết kế
-
previous_response_idvàconversation -
store; mọi phản hồi đều trả về vớistore: false -
background,metadata,include,service_tier - Các khóa cache prompt; DeepSeek dùng cache ngữ cảnh tự động
Điểm thuận tiện là các tham số không hỗ trợ bị bỏ qua thay vì bị từ chối, nên nhiều máy khách Responses API hiện có có thể kết nối mà không cần sửa đổi. Tuy nhiên, đừng dựa vào hành vi này để phát hiện lỗi cấu hình.
Điểm cần chú ý hơn: yêu cầu vượt quá cửa sổ ngữ cảnh 1M token sẽ nhận lỗi 400, thay vì bị cắt ngắn.
Xử lý streaming đúng cách
Streaming dùng các sự kiện Responses API, từ response.created đến response.completed. Delta lý luận như response.reasoning_text.delta được gửi riêng với delta văn bản đầu ra.
Không có dòng kết thúc data: [DONE]. Luồng kết thúc bằng một trong các sự kiện:
response.completedresponse.incompleteresponse.failed
Nếu SSE parser của bạn chỉ chờ [DONE], kết nối có thể bị treo. Xem thêm các mẫu parser phòng ngừa trong hướng dẫn truyền dữ liệu phản hồi API với các sự kiện server-sent.
Thiết lập Codex với DeepSeek-V4-Flash
Codex giao tiếp với mô hình qua Responses API, và đó là lý do chính DeepSeek phát hành tích hợp này. Hướng dẫn tích hợp Codex của DeepSeek cung cấp hai cách cấu hình.
Cấu hình được dùng chung bởi Codex CLI, ứng dụng ChatGPT Desktop và tiện ích mở rộng VS Code.
Cách 1: Chạy tập lệnh thiết lập
Trước tiên, hãy bảo đảm Codex CLI hoặc ứng dụng ChatGPT Desktop đã được cài đặt và chạy ít nhất một lần.
Trên macOS hoặc Linux:
bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh)
Trên Windows PowerShell:
irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex
Ở lần chạy đầu tiên, tập lệnh yêu cầu khóa API DeepSeek. Sau đó, nó sẽ:
- Sao lưu
~/.codex/config.tomlvào~/.codex/backup-deepseek/. - Ghi danh mục mô hình vào
~/.codex/models.json. - Thêm phần
[model_providers.deepseek]vào cấu hình. - Giữ nguyên máy chủ MCP và cài đặt tin cậy dự án hiện có.
- Xác thực cú pháp trước khi ghi thay đổi.
Bạn có thể chạy lại tập lệnh để đổi mô hình hoặc khôi phục cấu hình ban đầu.
Thận trọng: không chạy
curl | bashnếu chưa phù hợp với chính sách bảo mật của bạn. Hãy đọc nội dung tập lệnh trước khi thực thi, đặc biệt khi nó có quyền sửa cấu hình Codex cục bộ.
Cách 2: Kiểm tra danh mục mô hình
Tệp models.json do tập lệnh tạo cho biết cách DeepSeek định vị V4-Flash trong Codex:
- Cửa sổ ngữ cảnh: 1.048.576 token
- Mức lý luận:
low,high,max - Mức mặc định:
high - Hỗ trợ gọi công cụ song song
- Yêu cầu Codex client từ phiên bản
0.144.0trở lên
Hiện chỉ có deepseek-v4-flash hoạt động. Danh mục cũng đã bao gồm deepseek-v4-pro để chuẩn bị cho thời điểm hỗ trợ được phát hành vào đầu tháng 8.
Kiểm tra hiệu năng trong Codex thay vì chỉ tin benchmark
DeepSeek cho biết việc huấn luyện lại sau đợt phát hành ngày 31 tháng 7 nhắm vào khối lượng công việc tác nhân. Các số liệu họ công bố gồm:
- Terminal Bench 2.1:
82.7 - Cybergym:
76.7 - Toolathlon verified:
70.3 - DeepSWE:
54.4
DeepSeek báo cáo các kết quả này vượt V4-Pro-Preview. Tuy nhiên, đây vẫn là số liệu của nhà cung cấp: chúng được tạo bằng công cụ của DeepSeek ở mức nỗ lực tối đa, và hai benchmark trong thông báo là bộ thử nghiệm nội bộ.
Vì vậy, quy trình thực tế nên là:
- Chọn một kho mã đại diện.
- Chuẩn bị cùng một danh sách tác vụ cho các mô hình cần so sánh.
- Chạy Codex với cùng cấu hình tool, quyền truy cập và mức reasoning.
- So sánh tỷ lệ hoàn thành, chất lượng diff, số lần gọi tool và thời gian xử lý.
- Chỉ sau đó mới quyết định dùng mô hình nào làm backend mặc định.
Về chi phí, V4-Flash được DeepSeek công bố ở mức $0.14 cho mỗi triệu token đầu vào cache miss và $0.28 cho mỗi triệu token đầu ra. Cache hit giảm chi phí đầu vào xuống $0.0028.
Để xem bảng chi phí đầy đủ, xem phần giá cả trong hướng dẫn beta. Nếu đang đánh giá các lựa chọn agent CLI, bạn cũng có thể tham khảo bài so sánh Claude Code với Codex CLI.
Xác minh endpoint trước khi tin tưởng tác nhân
Một agent chỉ dễ gỡ lỗi bằng API phía sau nó. Với endpoint beta công khai mới, hãy kiểm tra hành vi API trước khi cho Codex truy cập kho mã thật.
Bạn có thể thực hiện kiểm tra này trong Apidog trong khoảng năm phút:
- Tạo endpoint
POST https://api.deepseek.com/responses. - Lưu khóa API vào biến môi trường thay vì nhập trực tiếp vào request.
- Gửi payload
responses.createtối thiểu. - Xác nhận cấu trúc
output, bao gồm mụcreasoningtheo sau bởi mụcmessage. - Bật
stream: truevà quan sát trực tiếp chuỗi sự kiện SSE. - Lưu thêm request có tool loại
function. - Xác nhận định dạng đầu ra
function_calltương thích với tool handler của bạn.
Payload tối thiểu để kiểm tra:
{
"model": "deepseek-v4-flash",
"instructions": "Bạn là trợ lý lập trình.",
"input": "Viết một hàm JavaScript đảo ngược chuỗi.",
"stream": false
}
Khi V4-Pro hỗ trợ Responses API vào tháng 8, hãy chạy lại đúng các request đã lưu với tên mô hình mới và so sánh:
- Hình dạng output
- Sự kiện streaming
- Tool call
- Lỗi khi vượt giới hạn context
- Hành vi với tham số không được hỗ trợ
Tải Apidog miễn phí để lưu các request kiểm thử này trong cùng một dự án.
Câu hỏi thường gặp
Những mô hình DeepSeek nào hoạt động với Responses API?
Hiện tại chỉ có deepseek-v4-flash. Hỗ trợ deepseek-v4-pro dự kiến vào đầu tháng 8 năm 2026.
Tôi có cần SDK mới không?
Không. SDK OpenAI chính thức vẫn hoạt động. Chỉ cần đặt base_url thành https://api.deepseek.com và gọi client.responses.create. Chi tiết thiết lập có trong hướng dẫn beta công khai V4-Flash.
Trạng thái đa lượt có hoạt động như OpenAI không?
Không. Triển khai của DeepSeek không trạng thái. previous_response_id, conversation và store không được hỗ trợ. Bạn cần gửi toàn bộ lịch sử hội thoại trong input ở mỗi lần gọi.
Tôi có thể dùng DeepSeek trong Codex cùng tài khoản OpenAI không?
Có. Thiết lập này thêm DeepSeek như một model provider. Menu của tập lệnh có thể chuyển đổi giữa các mô hình, và cấu hình gốc được sao lưu để khôi phục khi cần.
Điều này có giống tương thích Anthropic API không?
Không. Đây là tính năng riêng. DeepSeek cũng cung cấp endpoint định dạng Anthropic tại https://api.deepseek.com/anthropic, phục vụ tích hợp Claude Code. Endpoint Responses API dành cho các công cụ tác nhân dùng định dạng OpenAI như Codex.
Điều mà bản phát hành này thực sự báo hiệu
Khi chất lượng mô hình dần hội tụ, cạnh tranh chuyển sang lớp tích hợp. DeepSeek đã nhắm trực tiếp vào nơi nhà phát triển làm việc — các agent như Codex — và xây dựng hạ tầng cần thiết để trở thành backend thay thế mà không cần proxy chuyển đổi.
Điểm đáng giá nhất không chỉ là tuyên bố tương thích, mà là việc công bố rõ những tham số nào được hỗ trợ, bị bỏ qua hoặc không hỗ trợ. Điều này giúp bạn lập kế hoạch migration và viết fallback logic đúng hơn.
Cách đánh giá thực tế vẫn đơn giản:
- Kết nối endpoint vào Apidog.
- Kiểm tra request thường, streaming và tool calling.
- Chạy bộ kiểm thử của bạn với cả các model cần so sánh.
- Dùng kết quả trong codebase thực tế — không chỉ bảng benchmark — để chọn backend.

Top comments (0)