DeepSeek API Entegrasyonu: Kapsamlı Geliştirici Rehberi
DeepSeek API, geliştiricilerin kendi uygulamalarına güçlü yapay zeka yetenekleri entegre etmesini sağlayan OpenAI uyumlu bir arayüz sunmaktadır. Mevcut OpenAI SDK'larını ve entegrasyonlarını minimum değişiklikle DeepSeek'e geçirebilirsiniz. Bu kapsamlı rehberde, API anahtarı almaktan Python ve Node.js entegrasyonuna, streaming yanıtlardan hata yönetimine ve maliyet optimizasyonuna kadar tüm konuları detaylı kod örnekleriyle açıklayacağız. DeepSeek Nedir? yazımızda modelin genel yeteneklerini inceleyebilirsiniz.
API'ye Genel Bakış
DeepSeek API'si, OpenAI'ın Chat Completions API'si ile tam uyumludur. Bu uyumluluk, mevcut OpenAI projelerinizi neredeyse hiç kod değişikliği yapmadan DeepSeek'e taşıyabileceğiniz anlamına gelir. Tek yapmanız gereken base URL ve API anahtarını değiştirmektir.
API Özellikleri
| Özellik | Değer |
|---|---|
| Base URL | https://api.deepseek.com |
| Uyumluluk | OpenAI Chat Completions API |
| Modeller | deepseek-chat (V3), deepseek-reasoner (R1) |
| Maksimum Bağlam | 128K token |
| Streaming | Desteklenir |
| Function Calling | Desteklenir |
| JSON Mode | Desteklenir |
| Rate Limit | Hesap bakiyesine göre değişir |
1. API Anahtarı Alma
DeepSeek API'sini kullanmak için öncelikle bir API anahtarı almanız gerekmektedir. Aşağıdaki adımları takip edin:
- Hesap oluşturma: platform.deepseek.com adresine gidin ve "Sign Up" ile hesap oluşturun
- Bakiye yükleme: API kullanımı ücretli olduğu için hesabınıza bakiye yüklemeniz gerekir. Minimum yükleme tutarı genellikle birkaç dolardır
- API anahtarı oluşturma: Sol menüden "API Keys" bölümüne gidin, "Create new secret key" butonuna tıklayın
- Anahtarı kaydetme: Oluşturulan anahtarı güvenli bir yere kaydedin. Anahtar yalnızca bir kez gösterilir
Güvenlik uyarısı: API anahtarınızı asla kaynak kodunuzda açık metin olarak saklamayın. Ortam değişkenleri (environment variables) veya güvenli anahtar yönetim sistemleri kullanın.
2. Python Entegrasyonu
Python ile DeepSeek API entegrasyonu, OpenAI Python SDK'sı kullanılarak yapılır.
Kurulum
pip install openai python-dotenv
Temel Kullanım
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url="https://api.deepseek.com"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "Sen yardımcı bir Türkçe asistansın."},
{"role": "user", "content": "Python ile web scraping nasıl yapılır?"}
],
temperature=0.7,
max_tokens=2048
)
print(response.choices[0].message.content)
Streaming Yanıtlar (Python)
Uzun yanıtlarda kullanıcı deneyimini iyileştirmek için streaming kullanabilirsiniz. Streaming, yanıtın parça parça gelmesini sağlar:
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "Türkiye tarihi hakkında detaylı bilgi ver"}
],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)
Sistem Promptu ile Özelleştirme
Sistem promptu kullanarak DeepSeek'in davranışını özelleştirebilirsiniz:
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{
"role": "system",
"content": "Sen deneyimli bir Python geliştiricisisin. "
"Türkçe yanıt ver. Kod örneklerinde "
"type hints ve docstring kullan. "
"Best practice'lere uygun kod yaz."
},
{"role": "user", "content": "FastAPI ile REST API nasıl yazılır?"}
],
temperature=0.3
)
3. Node.js Entegrasyonu
Node.js ile entegrasyon da OpenAI SDK'sı üzerinden yapılır.
Kurulum
npm install openai dotenv
Temel Kullanım
import OpenAI from "openai";
import dotenv from "dotenv";
dotenv.config();
const client = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com"
});
async function chat(message) {
const response = await client.chat.completions.create({
model: "deepseek-chat",
messages: [
{ role: "system", content: "Sen yardımcı bir Türkçe asistansın." },
{ role: "user", content: message }
],
temperature: 0.7,
max_tokens: 2048
});
return response.choices[0].message.content;
}
const answer = await chat("Node.js ile WebSocket nasıl kullanılır?");
console.log(answer);
Streaming Yanıtlar (Node.js)
const stream = await client.chat.completions.create({
model: "deepseek-chat",
messages: [
{ role: "user", content: "Express.js middleware nasıl yazılır?" }
],
stream: true
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content || "";
process.stdout.write(content);
}
4. Hata Yönetimi
Üretim ortamında sağlam hata yönetimi kritik öneme sahiptir. DeepSeek API'sinde karşılaşabileceğiniz yaygın hatalar ve çözümleri:
Python Hata Yönetimi
from openai import OpenAI, APIError, RateLimitError, APIConnectionError
import time
def safe_chat(client, messages, retries=3):
for attempt in range(retries):
try:
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
timeout=30
)
return response.choices[0].message.content
except RateLimitError:
wait = 2 ** attempt
print(f"Rate limit, {wait}s bekleniyor...")
time.sleep(wait)
except APIConnectionError:
print("Bağlantı hatası, yeniden deneniyor...")
time.sleep(2)
except APIError as e:
print(f"API hatası: {e}")
raise
raise Exception("Maksimum deneme sayısına ulaşıldı")
Yaygın Hata Kodları
| Hata Kodu | Açıklama | Çözüm |
|---|---|---|
| 401 | Geçersiz API anahtarı | API anahtarınızı kontrol edin |
| 402 | Yetersiz bakiye | Hesabınıza bakiye yükleyin |
| 429 | Rate limit aşımı | İstekler arası bekleme süresi ekleyin |
| 500 | Sunucu hatası | Birkaç saniye bekleyip tekrar deneyin |
| 503 | Sunucu yoğunluğu | Exponential backoff ile yeniden deneyin |
5. API Fiyatlandırması
DeepSeek API, sektörün en uygun fiyatlı seçeneklerinden biridir. Fiyatlandırma detayları yazımızda kapsamlı maliyet analizi bulabilirsiniz.
| Model | Giriş Fiyatı (1M token) | Çıkış Fiyatı (1M token) | Kullanım Alanı |
|---|---|---|---|
| deepseek-chat (V3) | $0.27 | $1.10 | Genel amaçlı |
| deepseek-reasoner (R1) | $0.55 | $2.19 | Akıl yürütme |
6. Maliyet Optimizasyonu
API maliyetlerinizi düşürmek için şu stratejileri uygulayabilirsiniz:
- Kısa ve net promptlar yazın: Gereksiz uzun system promptlarından kaçının. Her token para, bu nedenle promptlarınızı optimize edin.
- max_tokens parametresini ayarlayın: İhtiyacınız kadar token belirleyin. Kısa yanıt beklediğiniz sorgularda düşük max_tokens kullanın.
- Sohbet geçmişini budayın: Çok turlu sohbetlerde tüm geçmişi göndermek yerine, son N mesajı gönderin veya özet kullanın.
- Önbellekleme (caching) kullanın: Sık sorulan sorular için yanıtları önbelleğe alarak tekrarlı API çağrılarını önleyin.
- Doğru modeli seçin: Basit görevler için deepseek-chat, karmaşık akıl yürütme için deepseek-reasoner kullanın.
- Batch işleme: Mümkün olduğunda istekleri toplu olarak gönderin.
7. Gelişmiş Özellikler
JSON Mode
Yapılandırılmış veri almak için JSON mode kullanabilirsiniz:
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "JSON formatında yanıt ver."},
{"role": "user", "content": "Türkiye'nin en büyük 5 şehrini nüfuslarıyla listele"}
],
response_format={"type": "json_object"}
)
Function Calling
DeepSeek API, function calling (araç kullanımı) özelliğini destekler. Bu özellik, modelin harici araçları ve API'leri çağırmasını sağlar. Hava durumu sorgulama, veritabanı işlemleri veya hesaplama gibi görevlerde kullanılabilir.
8. OpenAI'dan DeepSeek'e Geçiş
Mevcut bir OpenAI entegrasyonunu DeepSeek'e geçirmek son derece kolaydır. Yapmanız gereken değişiklikler:
| Değiştirilecek | OpenAI | DeepSeek |
|---|---|---|
| Base URL | https://api.openai.com/v1 | https://api.deepseek.com |
| API Key | OpenAI anahtarı | DeepSeek anahtarı |
| Model adı | gpt-4o | deepseek-chat |
Geri kalan kod yapısı, mesaj formatı ve parametre isimleri tamamen aynıdır. Bu geçiş genellikle birkaç dakika sürer ve sektördeki en düşük API maliyetlerinden yararlanmaya başlarsınız.
Sonuç
DeepSeek API, OpenAI uyumluluğu, düşük maliyeti ve güçlü performansı ile geliştiriciler için mükemmel bir seçenektir. Python ve Node.js ile kolayca entegre edilebilir, streaming ve function calling gibi gelişmiş özellikler sunar. API yeteneklerini test etmek için önce DeepSeek Türkiye sohbet sayfamızı kullanabilirsiniz. Kodlama konusunda daha fazla bilgi için kod yazma rehberimize, fiyatlandırma detayları için fiyatlandırma rehberimize göz atabilirsiniz.
İlgili Makaleler
DeepSeek R1 Nedir? Düşünme Modu Nasıl Çalışır?
DeepSeek R1 düşünme modelini keşfedin. Chain of Thought akıl yürütme, benchmark sonuçları ve R1 ile standart model arasındaki farklar.