DeepSeek API Integration Guide: OpenAI-Compatible Requests through ECAIX
Panduan Integrasi API DeepSeek: Permintaan Kompatibel dengan OpenAI melalui ECAIX
Instruksi ini menunjukkan bagaimana menguji ID model DeepSeek melalui ECAIX menggunakan endpoint API yang kompatibel dengan OpenAI. Ia mencakup permintaan kerja minimal, contoh Python dan curl, verifikasi ID model, streaming, keluaran struktur, alat, dan jalur diagnostik untuk kesalahan umum.
Instruksi ini menjelaskan akses gateway ECAIX ke model ID yang tersedia dalam katalog ECAIX saat ini. Tidak diklaim bahwa ECAIX adalah endpoint API DeepSeek resmi atau bahwa setiap fitur DeepSeek dapat diakses melalui setiap jalur gateway. Lihat halaman model langsung dan dokumentasi penyedia sebelum memindahkan beban kerja ke produksi.
Apa yang diuji oleh panduan ini
Contoh-contoh ini menggunakan jalur kompatibel dengan OpenAI ECAIX dan ID model yang saat ini terlihat dalam katalog publik pada saat penerbitan. Ketersediaan, rute, batasan, harga, dan fitur dukungan dapat berubah. Perhatikan katalog dan dokumentasi API sebagai sumber kebenaran saat ini.
Mulai cepat
Gunakan urutan ini jika sudah memiliki aplikasi SDK OpenAI:
- Buka halaman DeepSeek v4.1 Flash model dan pastikan ID tersedia.
- Buat ECAIX API key.
- Setel URL dasar kompatibel dengan OpenAI ke
https://ecaix.com/api/ai/v1. - Jaga SDK dan kode aplikasi tetap tidak berubah di mana mungkin.
- Jalankan permintaan minimal di bawah ini.
- Tambahkan streaming, keluaran JSON, atau alat hanya setelah permintaan dasar berfungsi.
Endpoint dan ID model
Untuk klient kompatibel dengan OpenAI:
Base URL: https://ecaix.com/api/ai/v1
Model: deepseek-v4.1-flash
ID model bukan janji tetap dalam artikel blog. Verifikasi di direktorat model langsung sebelum setiap integrasi atau deploymen baru. Jika Anda membutuhkan anggota keluarga DeepSeek yang berbeda, salin ID yang tepat dari halaman detail model, bukan coba menambahkan sufix.
Format endpoint juga penting. SDK harus menerima jalur dasar yang berakhir di /v1; klient menambahkan /chat/completions atau jalur operasi lain. Jangan tambahkan /chat/completions ke base_url jika SDK sudah menambahkan itu.
Python dengan SDK OpenAI
Pasang atau upgrade SDK Python OpenAI di lingkungan virtual Anda:
python -m pip install --upgrade openai
Lalu gunakan URL dasar ECAIX dan kunci API:
const client = new OpenAI({
apiKey: process.env.ECAIX_API_KEY,
baseURL: "https://ecaix.com/api/ai/v1",
});
const response = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [
{ role: "user", content: "Return one short sentence about API testing." },
],
max_tokens: 128,
});
console.log(response.choices[0].message.content);
Gunakan kode server-side untuk permintaan API. Aplikasi browser harus memanggil backend Anda sendiri daripada mengungkapkan kunci ECAIX di skrip JavaScript sisi klient.
Permintaan diagnostik dengan curl
Jika SDK gagal, hapus SDK dari persamaan dan uji endpoint langsung. Simpan header dan isi permintaan terpisah agar dapat membedakan masalah HTTP dengan masalah format respons.
curl -sS -D /tmp/ecaix-deepseek-headers.txt \
-o /tmp/ecaix-deepseek-response.json \
-w '\nHTTP %{http_code}\n' \
"https://ecaix.com/api/ai/v1/chat/completions" \
-H "Authorization: Bearer ${ECAIX_API_KEY}" \
-H "content-type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [
{"role": "user", "content": "Reply with one short sentence."}
],
"max_tokens": 128
}'
Jangan tempelkan header atau respons yang disimpan ke dalam isu publik tanpa menghapus kunci API, ID permintaan, prompt, path repository, dan data pelanggan.
Bagaimana untuk mendiagnosis jawapan
Berikut urutan yang harus digunakan:
- Kod status HTTP: pastikan permintaan mencapai endpoint yang valid.
- Isi jawapan: baca kod kesalahan dari penyedia atau gateway.
- ID model: salin ID model yang tepat dari direktori model semasa.
- Autentikasi: periksa header kunci, akun, dan hak akses.
- Bentuk permintaan: cek isi permintaan dengan hanya
model,messages, dan batasan keluaran kecil. - Keperluan ciri: tambahkan streaming, JSON, atau alat satu per satu.
- Perilaku SDK: bandingkan permintaan SDK dengan permintaan curl langsung.
Ini membantu mengelakkan masalah dalam perpustakaan klien disalahkan sebagai rute model atau hak akses akun.
Jawapan berlangsung (streaming)
Jika aplikasi memerlukan keluaran beransur-ansur, tambahkan streaming sahaja selepas permintaan biasa berhasil:
stream = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Summarize API retries in three points."}],
stream=True,
max_tokens=256,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Perilaku peristiwa yang tepat bergantung kepada endpoint dan SDK. Perikui bagaimana kerangka kerja anda menangani delta kosong, peristiwa penggunaan akhir, gangguan sambungan, dan penamat seperti [DONE]. Jangan memanggil implementasi streaming siap produksi sebelum anda telah menguji gangguan dan ulangan.
Keluaran berstruktur dan JSON
Jika anda memerlukan keluaran yang dapat dibaca oleh mesin, mulakan dengan permintaan biasa kemudian tambahkan pilihan keluaran berstruktur terkecil yang disokong oleh endpoint dan model. Perikui isi balik dengan parser JSON yang sebenar. Prompt yang mengatakan “kembalikan JSON” tidak sama dengan jawapan yang disekat oleh schema.
import json
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[
{
"role": "user",
"content": "Return a JSON object with keys title and priority."
}
],
response_format={"type": "json_object"},
max_tokens=128,
)
payload = json.loads(response.choices[0].message.content)
print(payload["title"])
Apakah response_format diterima bergantung kepada model dan rute. Jika endpoint mengembalikan kesalahan parameter tidak disokong, hapuskan bidang tersebut dan verifikasi dokumen rute sebelum mencuba format lain.
Panggilan fungsi dan alat
Panggilan alat memerlukan ujian yang berasingan daripada pembentukan teks. Mulakan dengan satu fungsi tidak berbahaya dan amati nama dan parameter yang dikembalikan sebelum menjalankan apa-apa.
tools = [
{
"type": "function",
"function": {
"name": "get_demo_status",
"description": "Return a fixed status for a local compatibility test.",
"parameters": {
"type": "object",
"properties": {},
"additionalProperties": False,
},
},
}
]
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Check the demo status."}],
tools=tools,
tool_choice="auto",
max_tokens=128,
)
print(response.choices[0].message.tool_calls)
Model mungkin mengembalikan jawapan teks yang sah tetapi gagal dalam panggilan alat disebabkan oleh konversi schema, parameter tidak disokong, atau perilaku khas klien. Jangan menjalankan parameter alat yang dikembalikan ke dalam sistem produksi sebelum memverifikasi schema dan menambahkan pengecaman otorisasi.
Path yang kompatibel dengan OpenAI dan Anthropic
ECAIX menawarkan permukaan kompatibilitas yang berbeza bagi pelbagai klien:
| Pelayan atau kerangka kerja | Path dokumen | Apa yang perlu diperikui |
|---|---|---|
| SDK Python/Node OpenAI | /api/ai/v1 | Chat Completions, Responses, streaming, tools |
| Klien berstyle Anthropic | /api/ai/v1/anthropic | Field messages, headers, blok content |
| Kerangka kerja pihak ketiga Claude Code | /api/ai/v1/anthropic | Perilaku penyedia; tidak dukungan rasmi Anthropic |
Baca Dokumen Chat Completions, Dokumen Responses, dan Dokumen Messages Anthropic sebelum memilih path. ID model yang sama mungkin tidak menampilkan bidang atau perilaku yang sama pada setiap permukaan kompatibilitas.
Detil model semasa
Gunakan halaman detail hidup untuk memerikui kemampuan dan ketersediaan:
Halaman ini lebih boleh dipercayai daripada artikel statik untuk ID model semasa, maklumat konteks, dan tautan harga.
Kesalahan umum
| Status atau gejala | Penyebab yang mungkin | Tindakan diagnostik |
|---|---|---|
401 | Token bearer tiada atau salah | Periksa Authorization, variabel lingkungan, dan status kunci |
403 | Kunci atau akun tidak berhak | Periksa akses akun dan kehadiran model |
404 | URL dasar atau akhir rute salah | Gunakan /api/ai/v1/chat/completions untuk uji coba curl langsung |
400 | Badan permintaan tidak valid atau bidang tidak dukungan | Hapus bidang opsional dan coba lagi dengan badan minimal |
429 | Batasan kadar atau kuota | Catat header balasan, perlambat, dan periksa batasan akun |
5xx | Gaya atau kegagalan sumber | Simpan masa permintaan dan ID balasan; ulangi mengikut kebijakan anda |
| Model tidak ditemukan | Kesalahan tipe huruf, model dihapus, atau kesalahan rute | Salin ID model yang tepat dari /models |
| Teks berfungsi, alat gagal | Skenario alat atau kemampuan model tidak cocok | Uji satu fungsi aman dan inspecti argumen yang dikembalikan |
| SDK berbeza dengan curl | Default SDK atau pembinaan rute | Cetak konfigurasi permintaan SDK dan bandingkan rute |
Perikatan keamanan dan produksi
Sebelum melangkaui projek ujian, pastikan:
- Kunci API disimpan di sisi server dan boleh diganti.
- Prompt dan balasan tidak mengandungi rahsia atau data pelanggan yang tidak disetujui.
- Anda memahami apakah gateway logkan permintaan dan berapa lama log disimpan.
- Kehadiran model dan harga diperiksa dari halaman hidup.
- Tempoh tunggu, ulangan, idempotensi, dan batasan kadar diurus oleh aplikasi anda.
- Pemisahan streaming tidak menciptakan tugasan berulang.
- Panggilan alat mempunyai daftar yang dibenarkan, validasi, pengesahan, dan log audit.
- Syarat penyedia dan gateway memungkinkan beban kerja yang anda bernasib baik untuk mengirim.
Catat integrasi sebelum pelancaran
Catat tarikh, versi pelanggan, ID model, endpoint, status HTTP, dan ujian ciri yang sebenarnya anda lakukan. Jika ujian tidak dilakukan, tanda ia tidak disahkan. Catatan ini memudahkan perbandingan model atau gateway berikutnya dan mencegah contoh blog lama menjadi asumsi produksi yang tidak disokong.
Pertanyaan yang sering diajukan
Apakah ini adalah endpoint DeepSeek rasmi?
Tidak. Artikel ini mendokumentasikan akses gateway ECAIX kepada ID model yang ditawarkan dalam katalog ECAIX. Gunakan panduan rasmi DeepSeek API untuk endpoint DeepSeek asli, peraturan akun, dan kemampuan khas penyedia.
Apakah saya boleh menggunakan SDK OpenAI tanpa merubah aplikasi saya?
Banyak aplikasi SDK OpenAI boleh bermula dengan mengubah URL dasar, kunci API, dan ID model. Anda masih perlu menguji dukungan bidang, streaming, panggilan alat, format balasan, pengendalian kesalahan, dan ciri-ciri khas penyedia yang digunakan oleh aplikasi anda.
Mana model DeepSeek yang saya boleh gunakan?
Berkasarkan direktori model dan pilih mengikut tugas: coding, pemikiran, panjang konteks, masukan multimodal, atau keperluan harga. Jangan pilih hanya berdasarkan nama yang dikopi dari artikel lama. Verifikasi ID model semasa dan uji dengan prompt anda sendiri.
Apakah saya boleh menggunakan ini dengan Claude Code?
Laluan kompatibel dengan Anthropic boleh diuji sebagai workflow penyedia ketiga, tetapi Anthropic tidak mendukung rute Claude Code ke model non-Claude melalui gateway. Jangan presentasikan ini sebagai dukungan rasmi Anthropic atau sebagai jaminan penuh kompatibilitas Claude Code.
Di mana saya boleh memeriksa harga dan batasan semasa?
Gunakan halaman harga ECAIX, direktori model, dan pengawasan akun anda. Jangan kodkan harga dari artikel ini ke dalam aplikasi.
Validasi Pra-Produksi dan Pengelolaan API DeepSeek
Validasi Pra-Produksi dan Keselamatan API
Sebelum mengintegrasikan API DeepSeek ke dalam produksi, penting untuk melakukan validasi pra-produksi yang teliti untuk memastikan keandalan, keamanan, dan kinerja sistem. Berikut adalah langkah-langkah yang perlu dipertimbangkan untuk memastikan integrasi berjalan dengan baik:
1. Pengelolaan API-Key dengan Hati-Hati
API-Key DeepSeek harus dijalankan dengan sangat hati-hati. Pastikan API-Key hanya diakses oleh pihak yang berwenang dan disimpan dalam lingkungan yang terenkripsi, seperti variabel lingkungan atau sistem manajemen kunci (key vault). Jangan menyimpan API-Key dalam file atau repository yang dapat diakses publik. Selain itu, gunakan prinsip least privilege (penggunaan minimal) untuk mengurangi risiko kecurian atau penggunaan tidak sah.
2. Pemeriksaan Model-ID dan Endpoint
Setiap model DeepSeek memiliki identitas unik yang disebut model-ID. Pastikan model yang digunakan sesuai dengan spesifikasi yang diharapkan, dan cek kembali model-ID sebelum melakukan integrasi. Misalnya, jika menggunakan model deepseek-chat, pastikan endpoint yang digunakan benar-benar mengarah ke model tersebut, bukan ke model lain yang mungkin memiliki nama serupa. Validasi ini dapat dilakukan dengan mengirimkan permintaan ping atau health check ke endpoint yang akan digunakan.
3. Log Permintaan Tanpa Data Rahasia
Untuk tujuan debugging dan audit, penting untuk melog semua permintaan API yang dibuat. Namun, pastikan data sensitif seperti API-Key, model-ID, atau informasi pribadi tidak terlihat dalam log. Gunakan metode seperti masking (menghilangkan atau mengganti) data rahasia atau menggunakan sistem log yang terintegrasi dengan manajemen kunci. Log yang terstruktur juga dapat membantu dalam mendiagnosis masalah dengan lebih cepat.
4. Retry dan Idempotensi
API DeepSeek mungkin mengalami kesalahan sementara, seperti koneksi yang terputus atau server yang sedang berjalan penuh. Untuk menghindari kesalahan yang berulang, implementasikan mekanisme retry dengan batasan jumlah percobaan. Selain itu, pastikan permintaan Anda mendukung idempotensi—misalnya, dengan menggunakan parameter idempotency-key atau request-id—agar hasil yang sama dapat dipanggil beberapa kali tanpa mengubah output.
5. Pengelolaan Streaming dan Koneksi Terputus
Jika integrasi menggunakan streaming (misalnya untuk menghasilkan teks secara bertahap), pastikan sistem Anda dapat menangani koneksi yang terputus secara tiba-tiba. Implementasikan mekanisme reconnection atau fallback agar proses tidak terhenti secara tiba-tiba. Contohnya, jika streaming terputus, cek apakah ada data yang belum dikumpulkan dan lanjutkan dari titik terbaru.
6. Otorisasi Tool dan Perizinan
Pastikan semua tool atau skrip yang digunakan untuk mengakses API DeepSeek memiliki otorisasi yang diperlukan. Misalnya, jika menggunakan API melalui bahasa pemrograman tertentu, pastikan library atau framework yang digunakan terupdate dan kompatibel dengan API DeepSeek terbaru. Jika menggunakan service account atau OAuth, pastikan token atau identitas yang digunakan masih valid dan tidak kadaluwarsa.
7. Ketika Harus Uji Ulang Setelah Perubahan Gateway atau Model
Jika terjadi perubahan pada gateway (seperti perbaikan API) atau model DeepSeek (seperti pembaruan model atau perubahan dokumentasi), penting untuk melakukan re-testing secara menyeluruh. Perubahan ini dapat mempengaruhi endpoint, parameter, atau bahkan format respons. Uji ulang dengan kasus penggunaan yang berbeda, termasuk kasus ekstrim (misalnya input yang sangat panjang atau format yang tidak biasa), untuk memastikan integrasi tetap stabil.
Validasi pra-produksi ini akan membantu mengurangi risiko masalah yang tidak diinginkan setelah integrasi dipasarkan. Pastikan tim pengembangan dan operasi terlibat dalam proses ini untuk memastikan semua aspek dipertimbangkan.