APIMaster.ai

Hướng dẫn API DeepSeek: V4 Flash / Pro với Python và JavaScript

Gọi DeepSeek V4 Flash và Pro thông qua APIMaster bằng curl, Python và JavaScript. Cấu hình khóa API của bạn, phản hồi phát trực tuyến và khắc phục các lỗi phổ biến.

Bạn có thể gọi DeepSeek bằng SDK OpenAI không? Có. Thông qua APIMaster, đặt URL cơ sở API thành https://apimaster.ai/v1, sử dụng khóa API APIMaster của bạn và chọn deepseek-v4-flash hoặc deepseek-v4-pro. Hướng dẫn này bao gồm cấu hình cổng đó; khóa do nhà cung cấp khác cấp không thể thay thế.

Kiểm tra lần cuối: 2026-09-07. Cả hai mô hình đều trả về HTTP 200 và văn bản mong đợi trong bài kiểm tra Chat Completions của chúng tôi. Codex CLI 0.153.4 và Claude Code 2.1.239 cũng hoàn thành các bài kiểm tra công cụ đọc tệp và văn bản thông qua cùng một cổng. Đây là các kiểm tra chức năng ngắn, không phải là điểm chuẩn về độ tin cậy hoặc ngữ cảnh dài. Các ví dụ Python, JavaScript và phát trực tuyến dưới đây minh họa cách sử dụng API tương ứng; chúng không phải là kết quả điểm chuẩn riêng biệt.

1. Lấy khóa của bạn và chọn mô hình

Tạo tài khoản và lấy khóa API. Đảm bảo khóa có quyền truy cập vào mô hình đã chọn và đủ hạn mức. Kiểm tra giá hiện tại trong chợ mô hình; tỷ giá có thể thay đổi theo tuyến đường và thời gian.

Cài đặt Giá trị
URL cơ sở SDK https://apimaster.ai/v1
Điểm cuối HTTP POST https://apimaster.ai/v1/chat/completions
Ủy quyền Authorization: Bearer YOUR_APIMASTER_API_KEY
Mô hình Flash deepseek-v4-flash
Mô hình Pro deepseek-v4-pro

Cả hai mô hình sử dụng cùng một định dạng yêu cầu. Bắt đầu với một trong hai mô hình, sau đó so sánh kết quả trên khối lượng công việc của riêng bạn. Thay thế YOUR_APIMASTER_API_KEY bên dưới bằng khóa của bạn cục bộ; không cam kết nó vào kiểm soát nguồn hoặc đặt nó trong mã trình duyệt.

macOS / Linux:

export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'

Windows PowerShell:

$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'

Các biến này áp dụng cho thiết bị đầu cuối hiện tại. Chạy các ví dụ sau từ thiết bị đầu cuối đó.

2. Thực hiện yêu cầu đầu tiên của bạn với curl

Lệnh sau sử dụng cú pháp shell macOS / Linux. Người dùng Windows có thể sử dụng ví dụ Python đa nền tảng bên dưới.

curl --fail-with-body 'https://apimaster.ai/v1/chat/completions' \
  -H "Authorization: Bearer $APIMASTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Reply with exactly: DEEPSEEK_TEST_OK"}],
    "max_tokens": 256,
    "stream": false
  }'

Dự kiến: HTTP 200 và choices[0].message.content bằng DEEPSEEK_TEST_OK. Chỉ thay đổi model thành deepseek-v4-pro để lặp lại bài kiểm tra. Phản hồi có thể bao gồm tên mô hình có phiên bản; tiếp tục sử dụng các ID mô hình công khai ở trên trong các yêu cầu.

3. Gọi DeepSeek từ Python

Cài đặt SDK:

python -m pip install openai

Lưu dưới dạng deepseek_example.py, sau đó chạy python deepseek_example.py:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["APIMASTER_API_KEY"],
    base_url="https://apimaster.ai/v1",
)
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Reply with exactly: DEEPSEEK_TEST_OK"}],
    max_tokens=256,
)
print(response.choices[0].message.content)

Đối với tác vụ mã hóa, hãy thay thế lời nhắc bằng yêu cầu của bạn. Tăng ngân sách đầu ra cho các câu trả lời dài hơn; ngân sách kiểm tra ngắn không phù hợp để tạo một ứng dụng hoàn chỉnh.

4. Gọi DeepSeek từ JavaScript

Sử dụng môi trường Node.js phía máy chủ:

npm install openai

Lưu dưới dạng deepseek_example.mjs, sau đó chạy node deepseek_example.mjs:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.APIMASTER_API_KEY,
  baseURL: "https://apimaster.ai/v1",
});
const response = await client.chat.completions.create({
  model: "deepseek-v4-pro",
  messages: [{ role: "user", content: "Reply with exactly: DEEPSEEK_TEST_OK" }],
  max_tokens: 256,
});
console.log(response.choices[0].message.content);

5. Phát trực tuyến câu trả lời cuối cùng

Sử dụng client Python ở trên:

stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Explain a Python dictionary in three sentences."}],
    max_tokens=1024,
    stream=True,
)
for chunk in stream:
    if not chunk.choices:
        continue
    text = chunk.choices[0].delta.content
    if text:
        print(text, end="", flush=True)
print()

Điều này in văn bản câu trả lời cuối cùng từ content. Một số phản hồi cũng hiển thị reasoning_content; nó tách biệt với câu trả lời cuối cùng. Đừng giả định rằng mọi khối phát trực tuyến đều chứa văn bản hoặc mục choices.

Khắc phục sự cố

Triệu chứng Điều cần kiểm tra
401 Sử dụng khóa APIMaster, kiểm tra khoảng trắng và tiêu đề Bearer, đồng thời xác nhận biến môi trường được đặt trong thiết bị đầu cuối này.
403 hoặc lỗi truy cập mô hình Kiểm tra quyền mô hình của khóa và các hạn chế của tài khoản.
404 Sử dụng /v1/chat/completions; không sao chép /v1 hoặc thêm điểm cuối vào URL cơ sở SDK.
429 hoặc hạn mức không đủ Đọc nội dung lỗi để phân biệt giới hạn tốc độ với hạn mức cạn kiệt. Thử lại với backoff cho giới hạn tốc độ; kiểm tra số dư cho lỗi hạn mức.
Câu trả lời trống hoặc bị cắt Kiểm tra finish_reason, tăng ngân sách token và phân biệt content với các trường suy luận.
Hết thời gian hoặc 5xx Ghi lại dấu thời gian và ID yêu cầu, thử lại với backoff và liên hệ hỗ trợ nếu vẫn tiếp tục. Không bao giờ gửi toàn bộ khóa của bạn trong báo cáo lỗi.

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

Khóa API có giống với khóa chính thức của DeepSeek không?

Không. Hướng dẫn này sử dụng khóa do APIMaster cấp với điểm cuối của APIMaster. Giữ khóa và điểm cuối của nhà cung cấp cấp khóa đi kèm với nhau.

Tôi có thể chuyển đổi giữa Flash và Pro mà không cần viết lại tích hợp của mình không?

Có, thay đổi trường model giữa deepseek-v4-flashdeepseek-v4-pro, miễn là khóa của bạn có thể truy cập cả hai. Kiểm tra đầu ra của từng mô hình và giá hiện tại cho khối lượng công việc của bạn.

Một yêu cầu thành công có chứng minh danh tính của mô hình cơ bản không?

Không. Thành công HTTP và tên mô hình được trả về xác nhận rằng một yêu cầu đã hoàn thành; chúng không xác minh độc lập danh tính mô hình.

Tôi có thể sử dụng các mô hình này trong Codex và Claude Code không?

Các cấu hình được kiểm tra của chúng tôi đã hoàn thành các yêu cầu công cụ đọc tệp và văn bản trong cả hai CLI. Các giao thức khác nhau: Codex sử dụng /v1/responses, trong khi Claude Code sử dụng /v1/messages. Làm theo các hướng dẫn chuyên dụng thay vì thay thế điểm cuối Chat Completions vào cấu hình CLI.

Tiếp tục với DeepSeek