DeepSeek API Eğitimi: V4 Flash / Pro Python ve JavaScript ile
APIMaster üzerinden curl, Python ve JavaScript ile DeepSeek V4 Flash ve Pro'yu çağırın. API anahtarınızı yapılandırın, yanıtları akış olarak alın ve yaygın hataları giderin.
DeepSeek'i OpenAI SDK ile çağırabilir misiniz? Evet. APIMaster üzerinden API temel URL'sini https://apimaster.ai/v1 olarak ayarlayın, APIMaster API anahtarınızı kullanın ve deepseek-v4-flash veya deepseek-v4-pro seçin. Bu kılavuz bu ağ geçidi yapılandırmasını kapsar; başka bir sağlayıcı tarafından verilen bir anahtar değiştirilemez.
Son test: 2026-09-07. Her iki model de Sohbet Tamamlama testimizde HTTP 200 ve beklenen metni döndürdü. Codex CLI 0.153.4 ve Claude Code 2.1.239 aynı ağ geçidi üzerinden metin ve dosya okuma aracı testlerini de tamamladı. Bunlar kısa işlevsel kontrollerdir, uzun bağlam veya güvenilirlik kıyaslaması değildir. Aşağıdaki Python, JavaScript ve akış örnekleri ilgili API kullanımını gösterir; ayrı kıyaslama sonuçları değildir.
1. Anahtarınızı alın ve bir model seçin
Bir hesap oluşturun ve API anahtarı alın. Anahtarın seçilen modele erişimi olduğundan ve yeterli kotaya sahip olduğundan emin olun. Güncel fiyatları model pazarında kontrol edin; oranlar rotaya ve zamana göre değişebilir.
| Ayar | Değer |
|---|---|
| SDK temel URL'si | https://apimaster.ai/v1 |
| HTTP uç noktası | POST https://apimaster.ai/v1/chat/completions |
| Yetkilendirme | Authorization: Bearer YOUR_APIMASTER_API_KEY |
| Flash modeli | deepseek-v4-flash |
| Pro modeli | deepseek-v4-pro |
Her iki model de aynı istek biçimini kullanır. Her iki modelle de başlayın, ardından kendi iş yükünüzde sonuçları karşılaştırın. Aşağıdaki YOUR_APIMASTER_API_KEY değerini yerel olarak kendi anahtarınızla değiştirin; kaynak kontrolüne işlemeyin veya tarayıcı koduna koymayın.
macOS / Linux:
export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'
Windows PowerShell:
$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'
Bu değişkenler geçerli terminal için geçerlidir. Aşağıdaki örnekleri bu terminalden çalıştırın.
2. curl ile ilk isteğinizi yapın
Aşağıdaki komut macOS / Linux kabuk sözdizimini kullanır. Windows kullanıcıları aşağıdaki platformlar arası Python örneğini kullanabilir.
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
}'
Beklenen: HTTP 200 ve choices[0].message.content değerinin DEEPSEEK_TEST_OK olması. Testi tekrarlamak için yalnızca model değerini deepseek-v4-pro olarak değiştirin. Yanıt sürümlü bir model adı içerebilir; isteklerde yukarıdaki genel model kimliklerini kullanmaya devam edin.
3. Python'dan DeepSeek'i çağırın
SDK'yı kurun:
python -m pip install openai
deepseek_example.py olarak kaydedin, ardından python deepseek_example.py çalıştırın:
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)
Kodlama görevi için istemi gereksinimlerinizle değiştirin. Daha uzun yanıtlar için çıktı bütçesini artırın; kısa test bütçesi tam bir uygulama oluşturmak için uygun değildir.
4. JavaScript'ten DeepSeek'i çağırın
Sunucu tarafı Node.js ortamı kullanın:
npm install openai
deepseek_example.mjs olarak kaydedin, ardından node deepseek_example.mjs çalıştırın:
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. Son yanıtı akış olarak alın
Yukarıdaki Python client nesnesini kullanarak:
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()
Bu, content alanından son yanıt metnini yazdırır. Bazı yanıtlar ayrıca reasoning_content alanını da açığa çıkarır; bu, son yanıttan ayrıdır. Her akış parçasının metin veya choices girdisi içerdiğini varsaymayın.
Sorun Giderme
| Belirti | Kontrol edilecekler |
|---|---|
| 401 | APIMaster anahtarı kullanın, boşlukları ve Bearer başlığını kontrol edin ve ortam değişkeninin bu terminalde ayarlandığını doğrulayın. |
| 403 veya model erişim hatası | Anahtarın model izinlerini ve hesap kısıtlamalarını kontrol edin. |
| 404 | /v1/chat/completions kullanın; /v1 tekrarlamayın veya uç noktayı SDK temel URL'sine eklemeyin. |
| 429 veya yetersiz kota | Hata gövdesini okuyarak hız sınırı ile kota tükenmesini ayırt edin. Hız sınırları için geri çekilme ile yeniden deneyin; kota hataları için bakiyeyi kontrol edin. |
| Boş veya kesilmiş yanıt | finish_reason alanını inceleyin, token bütçesini artırın ve content ile akıl yürütme alanlarını ayırt edin. |
| Zaman aşımı veya 5xx | Zaman damgasını ve istek kimliğini kaydedin, geri çekilme ile yeniden deneyin ve devam ederse desteğe başvurun. Hata raporunda asla tam anahtarınızı göndermeyin. |
Sıkça sorulan sorular
API anahtarı DeepSeek resmi anahtarıyla aynı mı?
Hayır. Bu eğitim, APIMaster tarafından verilen bir anahtarı APIMaster'ın uç noktasıyla kullanır. Anahtarı ve onu veren sağlayıcının uç noktasını eşleştirin.
Flash ve Pro arasında entegrasyonumu yeniden yazmadan geçiş yapabilir miyim?
Evet, anahtarınız her ikisine de erişebiliyorsa model alanını deepseek-v4-flash ve deepseek-v4-pro arasında değiştirin. İş yükünüz için her modelin çıktısını ve güncel fiyatlandırmasını kontrol edin.
Başarılı bir istek, temel modelin kimliğini kanıtlar mı?
Hayır. HTTP başarısı ve döndürülen model adı, bir isteğin tamamlandığını gösterir; model kimliğini bağımsız olarak doğrulamazlar.
Bu modelleri Codex ve Claude Code'da kullanabilir miyim?
Test edilen yapılandırmalarımız her iki CLI'de de metin ve dosya okuma aracı isteklerini tamamladı. Protokoller farklıdır: Codex /v1/responses kullanırken, Claude Code /v1/messages kullanır. Sohbet Tamamlama uç noktasını bir CLI yapılandırmasına eklemek yerine özel kılavuzları izleyin.