ChatCompletions vs Anthropic Messages vs Responses API: Pengujian Tiga Format API DeepSeek V4 Pro

DeepSeek V4 Pro mendukung tiga format API: OpenAI ChatCompletions, Anthropic Messages, dan Responses API-nya sendiri. Bandingkan bentuk permintaan dengan contoh nyata dan uji ketiganya secara berdampingan di Apidog.

INEZA Felin-Michel

INEZA Felin-Michel

13 August 2026

ChatCompletions vs Anthropic Messages vs Responses API: Pengujian Tiga Format API DeepSeek V4 Pro

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

DeepSeek-V4-Pro-0813 mencapai ketersediaan umum pada 12 Agustus 2026, disajikan di balik ID model deepseek-v4-pro yang selalu tersedia di https://api.deepseek.com, bersama dengan deepseek-v4-flash yang lebih murah (Unite.AI meliput pengumuman GA ini). Spesifikasi utamanya sangat kuat: jendela konteks 1 juta token, output maksimum 384 ribu, pemanggilan alat (tool calling), output terstruktur, dan tiga mode berpikir yang memunculkan jejak penalaran model dalam bidang reasoning_content.

Bagian yang tidak biasa bukanlah spesifikasinya. Ini adalah bahwa satu model menjawab dalam tiga dialek API. V4 Pro menerima permintaan OpenAI ChatCompletions, permintaan Anthropic Messages, dan permintaan ke Responses API milik DeepSeek sendiri. Arahkan kode OpenAI SDK Anda yang sudah ada ke sana, arahkan agen yang dibangun dengan Claude ke sana, atau sambungkan ke dalam loop agen bergaya Codex, dengan bobot yang sama, dan tiga format kabel.

Belum ada yang menyajikan tiga format API DeepSeek V4 Pro secara berdampingan, jadi panduan ini melakukannya. Anda akan melihat satu permintaan yang berfungsi per format, di mana bentuknya benar-benar berbeda, tabel perbandingan, dan cara menguji ketiganya dari satu proyek Apidog dengan variabel lingkungan bersama. Jika Anda menginginkan pengaturan akun dan panduan panggilan pertama, mulailah dengan cara menggunakan DeepSeek V4 API dan kembali lagi.

tombol

Ringkasan

Mengapa satu model berbicara tiga dialek

Ini adalah langkah kompatibilitas ekosistem: setiap format API adalah basis perangkat yang sudah terpasang yang DeepSeek dapatkan secara gratis. ChatCompletions adalah bahasa umum, ribuan SDK dan kerangka kerja dapat memanggil V4 Pro hanya dengan satu baris perubahan base_url. Format Anthropic Messages menargetkan tim yang membangun di atas Claude: agen, alat evaluasi, dan alat seperti Claude Code dapat mengarah ke V4 Pro tanpa perlu menulis ulang. Dan Responses API adalah taruhan DeepSeek pada agen: deepseek-v4-flash memperolehnya pada bulan Juli untuk kompatibilitas bergaya Codex, dan V4 Pro menyertakannya saat GA untuk alur kerja stateful multi-langkah.

V4 Pro juga terdaftar di agregator (lihat halaman OpenRouter untuk deepseek-v4-pro-0813), tetapi cerita tiga format ini berlaku untuk API pihak pertama DeepSeek, yang diuji oleh artikel ini. Untuk melihat keluarga V4 secara lebih luas, lihat cara menggunakan DeepSeek V4.

Format 1: OpenAI ChatCompletions

Ini adalah bentuk yang sudah Anda kenal: sebuah array messages di mana prompt sistem ikut serta sebagai pesan pertama dengan role: "system", dan batas token maksimum opsional. Pengaturan sama untuk ketiga format, jadi ini dia sekali: kunci API DeepSeek Anda, URL dasar DeepSeek, dan model diatur ke deepseek-v4-pro (atau deepseek-v4-flash). Hanya endpoint dan bentuk body yang berubah.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DEEPSEEK_API_KEY",
    base_url="https://api.deepseek.com",
)

response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "You are a precise technical writer."},
        {"role": "user", "content": "Explain idempotency keys in two sentences."}
    ],
)

print(response.choices[0].message.content)

Tidak ada SDK baru, tidak ada skema otentikasi baru. Pemanggilan alat menggunakan bentuk function bersarang yang sudah dikenal, dan streaming tiba sebagai delta chat.completion.chunk yang diakhiri oleh data: [DONE], sesuai dengan spesifikasi OpenAI. Satu perilaku khusus V4 yang perlu direncanakan: dengan mode berpikir aktif, jejak penalaran tiba di bidang reasoning_content terpisah di samping content, sehingga parser harus mentolerir bidang tambahan tersebut.

Kapan menggunakannya: Anda memiliki perangkat OpenAI yang sudah ada, kerangka kerja bergaya LangChain, atau pustaka internal yang sudah mendukung ChatCompletions. Ini adalah jalur dengan gesekan terendah dan termudah untuk diverifikasi, anatomi permintaannya identik dengan yang dibahas dalam menguji ChatGPT API dengan Apidog, dengan hanya host dan model yang ditukar.

Format 2: Anthropic Messages

Sekilas, format Pesan terlihat serupa dan berbeda dalam cara yang dapat mematahkan terjemahan naif. Tiga perbedaan paling penting, semuanya diwarisi dari spesifikasi Anthropic:

  1. Prompt sistem berpindah keluar dari array. Ini adalah parameter system tingkat atas; array messages hanya berisi giliran user dan assistant yang bergantian.
  2. max_tokens wajib, bukan opsional. Setiap permintaan mendeklarasikan anggaran output eksplisit. Dengan output maksimum 384K V4 Pro, batas itu sangat besar, tetapi Anda harus menyatakannya.
  3. Definisi alat datar. Setiap alat membawa name, description, dan input_schema di tingkat atas, tanpa pembungkus function bersarang. Pemanggilan alat kembali sebagai blok konten tool_use, dan Anda mengembalikan hasilnya sebagai blok tool_result di dalam pesan pengguna.

Python, permintaan Pesan melalui SDK anthropic:

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com/anthropic", # Anthropic-compatible base; confirm current path in DeepSeek's docs
)

message = client.messages.create(
    model="deepseek-v4-pro",
    max_tokens=8192,
    system="You are a precise technical writer.",
    messages=[
        {"role": "user", "content": "Explain idempotency keys in two sentences."}
    ],
)

print(message.content[0].text)

Respons kembali sebagai daftar blok konten daripada string tunggal, dan streaming menggunakan event SSE bertipe message_start, content_block_delta, message_stop alih-alih chunk seragam. Otentikasi mengikuti konvensi header spesifikasi Anthropic daripada token bearer. Dokumentasi API DeepSeek memuat detail terkini dari antarmuka yang kompatibel.

Hasil praktisnya adalah agen. Karena alat seperti Claude Code membaca endpoint mereka dari variabel lingkungan, Anda dapat mengarahkan agen yang dibangun dengan Claude ke DeepSeek tanpa menyentuh kodenya:

export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=$DEEPSEEK_API_KEY
export ANTHROPIC_MODEL=deepseek-v4-pro

Kapan menggunakannya: perangkat Anda dibangun untuk Claude. Jika tim Anda sudah mengirim permintaan berbentuk Pesan ke model Anthropic (anatomi yang sama dibahas dalam panduan API Claude Opus 5 kami), format ini memungkinkan Anda untuk melakukan A/B DeepSeek terhadap Claude di dalam harness yang sama, dengan badan permintaan yang sama dan handler streaming yang sama.

Format 3: Responses API DeepSeek

Responses API adalah antarmuka terbaru DeepSeek, dan alasan keberadaannya adalah untuk agen. V4 Flash mengadopsinya pada bulan Juli agar agen bergaya Codex dapat menggerakkan model DeepSeek; V4 Pro diluncurkan dengannya sejak hari pertama. Bentuk permintaan mengikuti spesifikasi OpenAI Responses: Anda mengirim input (string atau daftar item bertipe) ditambah instructions tingkat atas, alih-alih satu array pesan.

curl https://api.deepseek.com/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{
    "model": "deepseek-v4-pro",
    "instructions": "You are an API review agent. Be terse.",
    "input": "Review this OpenAPI diff and list any breaking changes: [diff here]",
    "stream": false
  }'

Tiga hal membedakan format ini dari dua lainnya, semuanya mengikuti spesifikasi Responses:

Pemanggilan alat juga ada di sini, dengan definisi alat dan item function_call/function_call_output yang dibentuk sesuai spesifikasi Responses daripada salah satu format lama. Di mana detail implementasi DeepSeek melampaui spesifikasi, perlakukan api-docs.deepseek.com sebagai sumber kebenaran.

Kapan menggunakannya: integrasi agen dan bergaya Codex, alur kerja multi-langkah yang panjang, atau sistem apa pun di mana status percakapan yang dikelola server dan item output bertipe menyederhanakan kode orkestrasi Anda. Untuk penyelesaian obrolan biasa, ini lebih banyak mekanisme daripada yang Anda butuhkan.

Tiga format secara berdampingan

OpenAI ChatCompletions Anthropic Messages DeepSeek Responses API
Endpoint POST /chat/completions di api.deepseek.com POST /v1/messages di basis yang kompatibel dengan Anthropic (/anthropic) POST /responses di api.deepseek.com
Bentuk Permintaan Array messages tunggal, prompt sistem sebagai pesan pertama system tingkat atas + pesan user/assistant bergantian instructions tingkat atas + string input atau daftar item
Batas Output Batas token maksimum opsional max_tokens wajib Batas opsional sesuai spesifikasi Responses
Definisi Alat Bersarang: objek function dengan parameters Datar: input_schema per alat Entri datar sesuai spesifikasi Responses
Hasil Alat Pesan role: "tool" Blok konten tool_result Item function_call_output
Streaming Delta chat.completion.chunk seragam, diakhiri dengan [DONE] Event bertipe: message_startcontent_block_deltamessage_stop Event siklus hidup semantik (response.output_text.delta, …)
Status Percakapan Dikelola klien (kirim ulang riwayat) Dikelola klien (kirim ulang riwayat) Opsi sisi server melalui referensi respons sebelumnya
Terbaik untuk Perangkat dan kerangka kerja OpenAI yang sudah ada Alat dan agen asli Claude (Claude Code) Loop agen, alur kerja bergaya Codex dan stateful

Model yang sama, harga yang sama, tiga kontrak. Perbedaannya sepenuhnya pada tingkat kabel (wire level), yang merupakan jenis perbedaan yang paling mudah diverifikasi secara empiris daripada dari ingatan.

Uji ketiganya dalam satu proyek Apidog

Melihat prompt yang sama menghasilkan tiga respons dengan bentuk yang berbeda menangkap detail implementasi yang tidak dapat ditangkap oleh tabel perbandingan. Pengaturan yang dapat diulang:

  1. Buat satu proyek, tiga folder: chat-completions, anthropic-messages, responses, masing-masing menyimpan satu permintaan yang disimpan per skenario (penyelesaian biasa, pemanggilan alat, streaming).
  2. Bagikan kredensial melalui variabel lingkungan. Definisikan {{DEEPSEEK_API_KEY}}, {{BASE_URL}}, dan {{ANTHROPIC_BASE}} sekali; memutar kunci atau beralih ke deepseek-v4-flash menjadi perubahan satu bidang.
  3. Kirim prompt yang identik melalui setiap format dan bandingkan body mentahnya: choices[0].message.content versus daftar blok content versus item output bertipe.
  4. Periksa stream dengan stream: true. Tampilan SSE bawaan membuat perbedaan menjadi jelas: chunk anonim yang diakhiri [DONE], event Pesan bernama, event siklus hidup Respons. Jika debugging SSE baru bagi Anda, cara melakukan streaming respons API dengan SSE mencakup mekanismenya.
  5. Tambahkan asersi pada bidang yang benar-benar dibaca oleh integrasi Anda (jalur konten, lokasi ID pemanggilan alat, alasan selesai) dan jalankan ulang koleksi setiap kali DeepSeek mengirimkan pembaruan snapshot.

Proyek tiga folder ini berfungsi ganda sebagai dokumentasi langsung: “seperti apa lagi skema alat Pesan?” menjadi permintaan yang disimpan dengan respons nyata yang diambil.

Catatan Migrasi

Memindahkan kode yang ada ke V4 Pro sengaja dibuat membosankan, dan itulah intinya.

Dari OpenAI: ubah tiga nilai base_url menjadi https://api.deepseek.com, kunci API, dan model menjadi deepseek-v4-pro. Konstruksi pesan Anda, definisi alat, dan handler streaming tetap ada. Dua pemeriksaan sebelum Anda deploy: konfirmasikan bahwa parameter apa pun di luar spesifikasi inti berperilaku seperti yang Anda harapkan (jalankan melalui koleksi pengujian Anda daripada berasumsi), dan pastikan parsing respons Anda mentoleransi reasoning_content yang muncul di samping content.

Dari Anthropic: tukar URL dasar ke jalur yang kompatibel dengan Anthropic, tukar kunci, dan atur modelnya. Karena bentuk Pesan diwariskan, max_tokens yang wajib, blok konten, event stream bertipe, klien yang sesuai spesifikasi tidak memerlukan perubahan logika. Untuk agen yang membaca variabel lingkungan, migrasi adalah tiga baris export yang ditunjukkan sebelumnya.

Ke Responses API: yang satu ini adalah penulisan ulang lapisan permintaan Anda daripada perubahan konfigurasi, karena tidak ada format lama yang dapat diterjemahkan secara mekanis. Adopsilah ketika Anda menginginkan apa yang ditawarkannya secara unik, status sisi server dan item output bertipe, bukan karena itu yang terbaru.

Dalam setiap arah, sarannya sama: migrasikan konfigurasi, lalu jalankan ulang koleksi regresi Anda sebelum mempercayainya. Dengan harga ini, satu sore lalu lintas verifikasi lebih murah daripada kopi yang Anda minum selama itu.

FAQ

tombol

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.