Hướng Dẫn Sử Dụng API DeepSeek V4 Chi Tiết

Ashley Innocent

Ashley Innocent

24 tháng 4 2026

Hướng Dẫn Sử Dụng API DeepSeek V4 Chi Tiết

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

DeepSeek V4 đã ra mắt với API hoạt động ngay từ ngày đầu tiên. Các ID mô hình là deepseek-v4-prodeepseek-v4-flash, điểm cuối tương thích với OpenAI và URL cơ sở là https://api.deepseek.com. Điều đó có nghĩa là bất kỳ client nào bạn đang sử dụng với GPT-5.5 hoặc các API có hình dạng OpenAI khác đều có thể hoạt động với V4 chỉ bằng một thay đổi URL cơ sở.

Hướng dẫn này bao gồm xác thực, mọi tham số quan trọng, ví dụ Python và Node, tính toán chế độ tư duy, gọi công cụ, truyền phát (streaming), và quy trình làm việc dựa trên Apidog giúp bạn kiểm soát chi phí trong quá trình lặp lại.

nút

Để có cái nhìn tổng quan về sản phẩm, xem DeepSeek V4 là gì. Để biết cách sử dụng miễn phí, xem cách sử dụng DeepSeek V4 miễn phí.

Tóm tắt

Điều kiện tiên quyết

Trước yêu cầu đầu tiên, hãy chuẩn bị bốn điều sau.

Xuất khóa một lần:

export DEEPSEEK_API_KEY="sk-..."

Điểm cuối và xác thực

Hai URL cơ sở bao gồm hai dạng yêu cầu.

POST https://api.deepseek.com/v1/chat/completions    # Định dạng OpenAI
POST https://api.deepseek.com/anthropic/v1/messages  # Định dạng Anthropic

Chọn tương thích với OpenAI trừ khi bạn có một codebase hiện có theo dạng Anthropic. Phần còn lại của hướng dẫn này sử dụng định dạng OpenAI.

Xác thực là một bearer token trên tiêu đề Authorization tiêu chuẩn. Yêu cầu tối thiểu khả thi:

curl https://api.deepseek.com/v1/chat/completions \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "messages": [
      {"role": "user", "content": "Giải thích định tuyến MoE trong hai câu."}
    ]
  }'

Các phản hồi thành công trả về một đối tượng JSON với mảng choices, một khối usage được phân tách thành các token đầu vào và đầu ra (và reasoning_tokens nếu chế độ tư duy được bật), cùng một id bạn có thể dùng để theo dõi. Các lỗi sẽ trả về cấu trúc lỗi tiêu chuẩn của OpenAI với error.codeerror.message.

Tham số yêu cầu

Mỗi trường đều tương ứng với chi phí hoặc hành vi. Dưới đây là bảng cho deepseek-v4-prodeepseek-v4-flash.

Tham số Loại Giá trị Lưu ý
model string deepseek-v4-pro, deepseek-v4-flash Bắt buộc.
messages array cặp vai trò/nội dung Bắt buộc. Cùng schema với OpenAI.
thinking_mode string non-thinking, thinking, thinking_max Mặc định là non-thinking.
temperature float 0 đến 2 DeepSeek khuyến nghị 1.0.
top_p float 0 đến 1 DeepSeek khuyến nghị 1.0.
max_tokens int 1 đến 131.072 Giới hạn độ dài đầu ra.
stream bool true hoặc false Bật truyền phát SSE.
tools array đặc tả công cụ OpenAI Để gọi hàm.
tool_choice string hoặc object auto, required, none, hoặc công cụ cụ thể Kiểm soát việc sử dụng công cụ.
response_format object {"type": "json_object"} Đầu ra chế độ JSON.
seed int bất kỳ số nguyên nào Để tái tạo kết quả.
presence_penalty float -2 đến 2 Phạt các chủ đề lặp lại.
frequency_penalty float -2 đến 2 Phạt các token lặp lại.

thinking_mode là yếu tố chi phí lớn nhất. non-thinking bỏ qua hoàn toàn quá trình suy luận và trả về các token với tốc độ gần bằng V3.2. thinking bật một khối suy luận tốn thêm token nhưng cải thiện độ chính xác trong mã và toán học. thinking_max tạo ra các điểm số trong bảng tiêu đề của DeepSeek; nó cũng tiêu tốn nhiều token nhất và là chế độ duy nhất yêu cầu ngân sách ngữ cảnh 384K+.

Client Python

SDK openai chính thức hoạt động với việc ghi đè URL cơ sở. Mọi wrapper tương thích với OpenAI hiện có, bao gồm LangChain, LlamaIndex và DSPy, cũng hoạt động.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com/v1",
)

response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "Trả lời chỉ bằng mã."},
        {"role": "user", "content": "Viết một hàm Rust để làm mượt các sự kiện."},
    ],
    extra_body={"thinking_mode": "thinking"},
    temperature=1.0,
    top_p=1.0,
    max_tokens=2048,
)

choice = response.choices[0]
print("Nội dung:", choice.message.content)
print("Token suy luận:", response.usage.reasoning_tokens)
print("Tổng số token:", response.usage.total_tokens)

Thủ thuật extra_body là cách bạn truyền các tham số cụ thể của DeepSeek thông qua SDK OpenAI mà không cần vá thư viện.

Client Node

Cấu trúc tương tự trên Node:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: "https://api.deepseek.com/v1",
});

const response = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [
    { role: "user", content: "Giải thích trình tối ưu hóa Muon bằng tiếng Anh đơn giản." },
  ],
  thinking_mode: "thinking",
  temperature: 1.0,
  top_p: 1.0,
});

console.log(response.choices[0].message.content);
console.log("Cách sử dụng:", response.usage);

SDK Node chấp nhận các trường không xác định một cách lặng lẽ, vì vậy thinking_mode được truyền qua ở cấp cao nhất mà không cần extra_body.

Phản hồi truyền phát (Streaming)

Đặt stream: true và lặp qua các khối SSE. Định dạng này hoàn toàn khớp với OpenAI.

stream = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Truyền phát một bài luận 300 từ về MoE."}],
    stream=True,
    extra_body={"thinking_mode": "non-thinking"},
)

for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)

Các dấu vết suy luận được truyền phát riêng khi chế độ tư duy được bật; trường delta.reasoning_content mang chúng và bạn có thể hiển thị chúng trong giao diện người dùng hoặc bỏ qua chúng.

Gọi công cụ

V4 hỗ trợ schema gọi công cụ tiêu chuẩn của OpenAI. Các hàm được định nghĩa trong mảng tools trở nên có thể gọi được, và mô hình quyết định khi nào sẽ gọi chúng.

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Trả về thời tiết hiện tại cho một thành phố.",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string"},
                "unit": {"type": "string", "enum": ["c", "f"]},
            },
            "required": ["city"],
        },
    },
}]

response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Thời tiết ở Lagos theo độ C?"}],
    tools=tools,
    tool_choice="auto",
    extra_body={"thinking_mode": "thinking"},
)

tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.function.name, tool_call.function.arguments)

Từ đó, gọi hàm, nối kết quả dưới dạng thông báo role: "tool" và gọi lại API để tiếp tục vòng lặp. Mẫu này giống hệt với các vòng lặp sử dụng công cụ của OpenAI và Anthropic.

Chế độ JSON

Đối với đầu ra có cấu trúc, hãy yêu cầu JSON một cách rõ ràng và đặt định dạng phản hồi.

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "Trả lời bằng một đối tượng JSON duy nhất."},
        {"role": "user", "content": "Tóm tắt ghi chú phát hành này dưới dạng {tiêu đề, ngày, gạch đầu dòng}: ..."},
    ],
    response_format={"type": "json_object"},
    extra_body={"thinking_mode": "non-thinking"},
)

Chế độ JSON buộc đầu ra phải là JSON hợp lệ nhưng không bắt buộc một schema cụ thể. Để xác thực schema, hãy kết hợp nó với Pydantic hoặc Zod ở phía client.

Xây dựng bộ sưu tập trong Apidog

Việc phát lại các yêu cầu từ terminal tiêu tốn tín dụng và che giấu sự khác biệt giữa các lần chạy. Quy trình làm việc sống sót trong sử dụng thực tế:

  1. Tải xuống Apidog và tạo một dự án.
  2. Thêm một môi trường với {{DEEPSEEK_API_KEY}} được lưu trữ dưới dạng biến bí mật.
  3. Lưu một yêu cầu POST đến {{BASE_URL}}/chat/completions với tiêu đề Authorization: Bearer {{DEEPSEEK_API_KEY}}.
  4. Tham số hóa modelthinking_mode để bạn có thể so sánh A/B giữa các biến thể mà không cần nhân đôi các yêu cầu.
  5. Sử dụng trình xem phản hồi để kiểm tra usage.reasoning_tokens trong mỗi lần chạy. Đó là tín hiệu rõ ràng nhất cho thấy liệu bạn có đang trả tiền cho chế độ tư duy mà bạn không cần hay không.

Các nhóm đang chạy bộ sưu tập API GPT-5.5 tương ứng trong Apidog có thể sao chép nó, thay đổi URL cơ sở thành https://api.deepseek.com/v1, thay đổi ID mô hình và chạy các lời nhắc so sánh giữa cả hai nhà cung cấp trong vài phút.

Xử lý lỗi

Cấu trúc lỗi tuân thủ chính xác OpenAI. Những lỗi bạn sẽ gặp đầu tiên:

Ý nghĩa Khắc phục
400 Yêu cầu không hợp lệ Kiểm tra schema JSON, đặc biệt là messagestools.
401 Khóa không hợp lệ Tạo lại tại platform.deepseek.com.
402 Số dư không đủ Nạp tiền vào tài khoản.
403 Mô hình không được phép Kiểm tra phạm vi của khóa và chính tả ID mô hình.
422 Tham số ngoài phạm vi max_tokens hoặc thinking_mode có thể không khớp.
429 Giới hạn tốc độ Tạm dừng, sau đó thử lại với độ trễ lũy thừa (exponential jitter).
500 Lỗi máy chủ Thử lại một lần; nếu lặp lại, kiểm tra trang trạng thái.
503 Quá tải Chuyển sang V4-Flash hoặc thử lại sau 30 giây.

Gói các lệnh gọi trong một hàm hỗ trợ thử lại, xử lý lỗi 429 và 5xx với backoff lũy thừa. Không tự động thử lại các lỗi 4xx; chúng là lỗi logic, không phải lỗi tạm thời.

Các mẫu kiểm soát chi phí

Bốn mẫu sau giúp chi tiêu có thể dự đoán được.

  1. Mặc định sử dụng V4-Flash. Chỉ chuyển sang V4-Pro cho các lời nhắc mà bạn đã đo lường được sự cải thiện chất lượng.
  2. Giới hạn thinking_max bằng một cờ. Đây là chế độ đắt nhất với biên độ lớn; chỉ chuyển sang nó khi độ chính xác quan trọng hơn độ trễ.
  3. Giới hạn max_tokens. Hầu hết các câu trả lời đều nằm trong 2.000 token đầu ra. Ngữ cảnh 1M là dành cho đầu vào, không phải đầu ra.
  4. Ghi nhật ký usage trong mỗi lệnh gọi. Gửi số lượng token đầu vào, đầu ra và suy luận đến hệ thống quan sát của bạn; một cảnh báo về sự tăng đột biến token suy luận sẽ phát hiện các lời nhắc bị lệch.

Di chuyển từ các mô hình DeepSeek cũ hơn

Các ID deepseek-chatdeepseek-reasoner cũ hơn sẽ ngừng hoạt động vào ngày 24 tháng 7 năm 2026. Việc di chuyển chỉ mất một dòng thay đổi cho mỗi điểm gọi; định dạng yêu cầu và phản hồi không thay đổi.

-  model="deepseek-chat"
+  model="deepseek-v4-pro"

Trước khi triển khai sản xuất, hãy chạy so sánh A/B song song trong Apidog. Sự cải thiện chất lượng phản hồi thường đáng để chuyển đổi; dù sao thì thời hạn ngừng hoạt động cũng buộc phải thực hiện.

Câu hỏi thường gặp

API DeepSeek V4 đã sẵn sàng cho sản xuất chưa?Có. API đã hoạt động vào ngày 23 tháng 4 năm 2026 cùng với các trọng số. DeepSeek V3 và V3.2 đã chạy trên cùng một cơ sở hạ tầng ở quy mô lớn trong hơn một năm, vì vậy bề mặt API đã trưởng thành.

V4 có hỗ trợ định dạng tin nhắn của Anthropic không?Có. Trỏ đến https://api.deepseek.com/anthropic/v1/messages và gửi payload theo dạng Anthropic. Cả hai định dạng đều truy cập cùng một mô hình cơ bản.

Cửa sổ ngữ cảnh là bao nhiêu?1 triệu token trên cả V4-Pro và V4-Flash. Lưu ý rằng chế độ Think Max khuyến nghị cửa sổ làm việc tối thiểu 384K.

Làm cách nào để đếm token đầu vào trước khi gửi?Sử dụng bộ mã hóa OpenAI tiêu chuẩn để ước tính; DeepSeek công bố số lượng chính xác trong khối usage trên mỗi phản hồi. Đối với việc lập ngân sách sản xuất, hãy tin tưởng vào số lượng từ phía phản hồi.

Tôi có thể tinh chỉnh thông qua API không?Không phải lúc ra mắt. Việc tinh chỉnh hiện đang được thực hiện thông qua các điểm kiểm tra Base tự host trên Hugging Face.

API có miễn phí để dùng thử không?Không có gói miễn phí ở cấp tài khoản, nhưng người đăng ký mới thỉnh thoảng nhận được tín dụng dùng thử.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API