Tutorial API DeepSeek: V4 Flash / Pro dengan Python dan JavaScript
Panggil DeepSeek V4 Flash dan Pro melalui APIMaster dengan curl, Python, dan JavaScript. Konfigurasikan kunci API Anda, streaming respons, dan pecahkan masalah umum.
Bisakah Anda memanggil DeepSeek dengan OpenAI SDK? Ya. Melalui APIMaster, atur URL basis API ke https://apimaster.ai/v1, gunakan kunci API APIMaster Anda, dan pilih deepseek-v4-flash atau deepseek-v4-pro. Panduan ini mencakup konfigurasi gateway tersebut; kunci yang diterbitkan oleh penyedia lain tidak dapat dipertukarkan.
Terakhir diuji: 2026-09-07. Kedua model mengembalikan HTTP 200 dan teks yang diharapkan dalam pengujian Chat Completions kami. Codex CLI 0.153.4 dan Claude Code 2.1.239 juga menyelesaikan pengujian alat teks dan pembacaan file melalui gateway yang sama. Ini adalah pemeriksaan fungsional singkat, bukan tolok ukur konteks panjang atau keandalan. Contoh Python, JavaScript, dan streaming di bawah ini menunjukkan penggunaan API yang sesuai; itu bukan hasil benchmark terpisah.
1. Dapatkan kunci Anda dan pilih model
Buat akun dan dapatkan kunci API. Pastikan kunci memiliki akses ke model yang dipilih dan kuota yang cukup. Periksa harga saat ini di marketplace model; tarif dapat bervariasi berdasarkan rute dan waktu.
| Pengaturan | Nilai |
|---|---|
| URL basis SDK | https://apimaster.ai/v1 |
| Titik akhir HTTP | POST https://apimaster.ai/v1/chat/completions |
| Otorisasi | Authorization: Bearer YOUR_APIMASTER_API_KEY |
| Model Flash | deepseek-v4-flash |
| Model Pro | deepseek-v4-pro |
Kedua model menggunakan bentuk permintaan yang sama. Mulailah dengan salah satu model, lalu bandingkan hasil pada beban kerja Anda sendiri. Ganti YOUR_APIMASTER_API_KEY di bawah dengan kunci Anda secara lokal; jangan commit ke kontrol sumber atau taruh di kode browser.
macOS / Linux:
export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'
Windows PowerShell:
$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'
Variabel ini berlaku untuk terminal saat ini. Jalankan contoh berikut dari terminal itu.
2. Buat permintaan pertama Anda dengan curl
Perintah berikut menggunakan sintaks shell macOS / Linux. Pengguna Windows dapat menggunakan contoh Python lintas platform di bawah.
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
}'
Diharapkan: HTTP 200 dan choices[0].message.content sama dengan DEEPSEEK_TEST_OK. Ubah hanya model menjadi deepseek-v4-pro untuk mengulangi pengujian. Respons mungkin menyertakan nama model berversi; terus gunakan ID model publik di atas dalam permintaan.
3. Panggil DeepSeek dari Python
Instal SDK:
python -m pip install openai
Simpan sebagai deepseek_example.py, lalu jalankan 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)
Untuk tugas pengkodean, ganti prompt dengan kebutuhan Anda. Tingkatkan anggaran keluaran untuk jawaban yang lebih panjang; anggaran pengujian pendek tidak cocok untuk menghasilkan aplikasi lengkap.
4. Panggil DeepSeek dari JavaScript
Gunakan lingkungan Node.js sisi server:
npm install openai
Simpan sebagai deepseek_example.mjs, lalu jalankan 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. Streaming jawaban akhir
Menggunakan client Python di atas:
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()
Ini mencetak teks jawaban akhir dari content. Beberapa respons juga mengekspos reasoning_content; itu terpisah dari jawaban akhir. Jangan berasumsi setiap chunk streaming berisi teks atau entri choices.
Pemecahan Masalah
| Gejala | Yang perlu diperiksa |
|---|---|
| 401 | Gunakan kunci APIMaster, periksa spasi dan header Bearer, dan pastikan variabel lingkungan diatur di terminal ini. |
| 403 atau kesalahan akses model | Periksa izin model kunci dan batasan akun. |
| 404 | Gunakan /v1/chat/completions; jangan duplikat /v1 atau tambahkan titik akhir ke URL basis SDK. |
| 429 atau kuota tidak mencukupi | Baca isi kesalahan untuk membedakan batas laju dari kehabisan kuota. Coba lagi dengan backoff untuk batas laju; periksa saldo untuk kesalahan kuota. |
| Jawaban kosong atau terpotong | Periksa finish_reason, tingkatkan anggaran token, dan bedakan content dari bidang penalaran. |
| Timeout atau 5xx | Catat stempel waktu dan ID permintaan, coba lagi dengan backoff, dan hubungi dukungan jika berlanjut. Jangan pernah kirim kunci lengkap Anda dalam laporan bug. |
Pertanyaan yang sering diajukan
Apakah kunci API sama dengan kunci resmi DeepSeek?
Tidak. Tutorial ini menggunakan kunci yang diterbitkan oleh APIMaster dengan titik akhir APIMaster. Jaga kunci dan titik akhir penyedia penerbitnya tetap berpasangan.
Bisakah saya beralih antara Flash dan Pro tanpa menulis ulang integrasi saya?
Ya, ubah bidang model antara deepseek-v4-flash dan deepseek-v4-pro, asalkan kunci Anda dapat mengakses keduanya. Periksa keluaran setiap model dan harga saat ini untuk beban kerja Anda.
Apakah permintaan yang berhasil membuktikan identitas model yang mendasarinya?
Tidak. Keberhasilan HTTP dan nama model yang dikembalikan menetapkan bahwa permintaan selesai; itu tidak memverifikasi identitas model secara independen.
Bisakah saya menggunakan model ini di Codex dan Claude Code?
Konfigurasi yang kami uji menyelesaikan permintaan alat teks dan pembacaan file di kedua CLI. Protokolnya berbeda: Codex menggunakan /v1/responses, sedangkan Claude Code menggunakan /v1/messages. Ikuti panduan khusus daripada mengganti titik akhir Chat Completions ke dalam konfigurasi CLI.