Yapay zeka destekli uygulamalar çağında, gelişmiş dil modellerini yazılımınıza entegre etmek, akıllı sohbet botlarından veri analizi araçlarına kadar benzeri görülmemiş yeteneklerin kilidini açabilir. DeepSeek’in API'leri son teknoloji yapay zeka işlevleri sunar, ancak asıl zorluk, bunları uygulamanıza hata ayıklama veya hazır kodla uğraşmadan sorunsuz bir şekilde entegre etmektir.
Bu kılavuz, DeepSeek API'lerini uygulamanıza entegre etme sürecinin tamamında size yol gösterir ve sezgisel bir API platformu olan — Apidog'u kullanarak dakikalar içinde test etmenizi, hata ayıklamanızı ve kullanıma hazır kod parçacıkları oluşturmanızı sağlar. İster bir Python arka ucu ister bir JavaScript ön ucu oluşturuyor olun, bu makalenin sonunda, minimum çabayla tam işlevsel bir API entegrasyonuna sahip olacaksınız.
Ön Koşullar
- Bir DeepSeek hesabı (buradan kaydolun).
- REST API'leri ve programlama (burada Python/JavaScript kullanılmıştır) hakkında temel bilgi.
- API'leri test etmek için Apidog gibi bir araç.
Adım 1: DeepSeek API Anahtarını Alın
Her API isteği kimlik doğrulaması gerektirir. İşte anahtarınızı nasıl alacağınız:
- DeepSeek hesabınıza giriş yapın.
- Hesap ayarlarınızın altında
API Anahtarları
'na gidin. Yeni API anahtarı oluştur
'a tıklayın ve kopyalayın.

⚠️ Önemli: Bu anahtara bir parola gibi davranın. Bunu asla istemci tarafı kodunda veya genel depolarda göstermeyin.
Adım 2: DeepSeek API'sini Test Edin
DeepSeek’in Apidog tarafından oluşturulan API dokümantasyonu, tek bir satır kod yazmadan doğrudan dokümantasyon üzerinde uç noktaları test etmek için etkileşimli bir oyun alanı sağlar. İşte nasıl:
1. Dokümantasyonu Açın: Create Chat Completion uç noktasına gidin.

2. Kimlik Doğrulama:
Try it out
veyaRun in Apidog
'a tıklayın.- Açılır istek panelinde, Headers veya Auth bölümüne gidin ve API anahtarınızı ekleyin:
Authorization: Bearer YOUR_API_KEY

3. İsteğinizi Oluşturun:
İstek gövdesinde, modeli (örneğin, deepseek-chat
) belirtin ve bir mesaj ekleyin:
{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "Explain quantum computing in 3 sentences."}
]
}

4. İsteği Gönderin: Gönder
'e tıklayın ve yanıtı gerçek zamanlı olarak görüntüleyin.

Bunun Önemi: API'leri manuel olarak test etmek, entegrasyon kodu yazmadan önce yük yapılarını ve hata yönetimini doğrulamanıza yardımcı olur.
Adım 3: Yığınınız için Kod Parçacıkları Oluşturun
Apidog, farklı diller ve çerçeveler için API dokümantasyonuna dayalı olarak doğrudan yığınınızda kullanılabilen kullanıma hazır iş kodları oluşturmanıza olanak tanır. İşte nasıl:
1. Apidog uygulamasında DeekSeek projesini açın:
- DeepSeek API projesini Apidog web uygulamasında açmak için, dokümantasyonun sağ üst köşesindeki "Run in Apidog"a tıklamanız yeterlidir.

- PROFESYONEL İPUCU: Projeyi Apidog masaüstü uygulamasında açmak için, bundan sonra sağ üst köşedeki "Open on desktop"a tıklayın.

2. Dilinizi Seçin:
- DeepSeek API dokümantasyon sayfasında,
</> Kod Oluştur
düğmesine tıklayın.

- Dilinizi seçin (örneğin, Python, JavaScript, Go ve daha fazlası).

3. Kodu Kopyala-Yapıştır:
- Python için (
requests
kullanarak):
import requests
import json
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
{
"content": "You are a helpful assistant",
"role": "system"
},
{
"content": "Hi",
"role": "user"
}
],
"model": "deepseek-chat",
"frequency_penalty": 0,
"max_tokens": 2048,
"presence_penalty": 0,
"response_format": {
"type": "text"
},
"stop": None,
"stream": False,
"stream_options": None,
"temperature": 1,
"top_p": 1,
"tools": None,
"tool_choice": "none",
"logprobs": False,
"top_logprobs": None
})
headers = {
'Authorization': 'Bearer {{API_KEY}}',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
- JavaScript için (
fetch
kullanarak):
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{API_KEY}}");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"messages": [
{
"content": "You are a helpful assistant",
"role": "system"
},
{
"content": "Hi",
"role": "user"
}
],
"model": "deepseek-chat",
"frequency_penalty": 0,
"max_tokens": 2048,
"presence_penalty": 0,
"response_format": {
"type": "text"
},
"stop": null,
"stream": false,
"stream_options": null,
"temperature": 1,
"top_p": 1,
"tools": null,
"tool_choice": "none",
"logprobs": false,
"top_logprobs": null
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.deepseek.com/chat/completions", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
4. Kodu Özelleştirin: YOUR_API_KEY
'i değiştirin ve mesaj içeriğini değiştirin.
Adım 4: Uygulamanıza Entegre Edin
DeepSeek'in API'sini kullanıcı sorularını yanıtlamak için kullanan basit bir Python CLI uygulaması oluşturalım.
Proje Kurulumu
1. Bir dizin oluşturun ve bağımlılıkları yükleyin:
mkdir deepseek-cli && cd deepseek-cli
pip install requests python-dotenv
2. API anahtarınızı .env
kullanarak güvenli bir şekilde saklayın:
echo "DEEPSEEK_API_KEY=your_api_key_here" > .env
Kod Uygulaması
import argparse
import asyncio
import json
import os
import sys
from typing import AsyncGenerator, Generator
import httpx
import requests
async def async_deepseek(
api_key: str,
model: str,
messages: list,
temperature: float
) -> AsyncGenerator[str, None]:
"""
Asynchronous generator for streaming DeepSeek responses
"""
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}",
}
data = {
"model": model,
"messages": messages,
"temperature": temperature,
"stream": True,
}
async with httpx.AsyncClient() as client:
async with client.stream(
"POST",
"https://api.deepseek.com/v1/chat/completions",
headers=headers,
json=data,
) as response:
response.raise_for_status()
async for line in response.aiter_lines():
if line.startswith("data: "):
try:
json_data = json.loads(line[6:])
if chunk := json_data["choices"][0]["delta"].get("content", ""):
yield chunk
except json.JSONDecodeError:
pass
def sync_deepseek(
api_key: str,
model: str,
messages: list,
temperature: float
) -> Generator[str, None, None]:
"""
Synchronous generator for streaming DeepSeek responses
"""
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}",
}
data = {
"model": model,
"messages": messages,
"temperature": temperature,
"stream": True,
}
with requests.post(
"https://api.deepseek.com/v1/chat/completions",
headers=headers,
json=data,
stream=True,
) as response:
response.raise_for_status()
for line in response.iter_lines():
if line:
decoded_line = line.decode("utf-8")
if decoded_line.startswith("data: "):
try:
json_data = json.loads(decoded_line[6:])
if chunk := json_data["choices"][0]["delta"].get("content", ""):
yield chunk
except json.JSONDecodeError:
pass
def main():
parser = argparse.ArgumentParser(
description="DeepSeek CLI Client - Chat with DeepSeek models"
)
parser.add_argument(
"prompt",
type=str,
help="Your message to send to DeepSeek"
)
parser.add_argument(
"--model",
type=str,
default="deepseek-chat",
help="Model to use (default: deepseek-chat)"
)
parser.add_argument(
"--temperature",
type=float,
default=0.7,
help="Temperature parameter (default: 0.7)"
)
parser.add_argument(
"--async-mode",
action="store_true",
help="Use asynchronous mode (requires Python 3.7+)"
)
args = parser.parse_args()
api_key = os.getenv("DEEPSEEK_API_KEY")
if not api_key:
print("Error: Set your API key in DEEPSEEK_API_KEY environment variable")
sys.exit(1)
messages = [{"role": "user", "content": args.prompt}]
try:
if args.async_mode:
async def run_async():
try:
async for chunk in async_deepseek(
api_key=api_key,
model=args.model,
messages=messages,
temperature=args.temperature
):
print(chunk, end="", flush=True)
print()
except httpx.HTTPStatusError as e:
print(f"\nHTTP error occurred: {e.response.status_code} {e.response.reason_phrase}")
except Exception as e:
print(f"\nAn error occurred: {str(e)}")
asyncio.run(run_async())
else:
try:
for chunk in sync_deepseek(
api_key=api_key,
model=args.model,
messages=messages,
temperature=args.temperature
):
print(chunk, end="", flush=True)
print()
except requests.exceptions.HTTPError as e:
print(f"\nHTTP error occurred: {e.response.status_code} {e.response.reason_phrase}")
except Exception as e:
print(f"\nAn error occurred: {str(e)}")
except KeyboardInterrupt:
print("\n\nOperation interrupted by user")
sys.exit(0)
if __name__ == "__main__":
main()
Uygulamayı Çalıştırın
Bir soru yazın (örneğin, “Fransa'nın başkenti neresidir?”) ve yanıtı görün!
Adım 5: Hataları ve Kenar Durumlarını İşleyin
API'ler, hız sınırları, geçersiz anahtarlar veya ağ sorunları nedeniyle başarısız olabilir. Sağlam hata işleme uygulayın:
1. HTTP Durum Kodlarını Kontrol Edin:
401 Unauthorized
: Geçersiz API anahtarı.429 Too Many Requests
: Hız sınırı aşıldı.500 Internal Server Error
: Sunucu tarafı sorunu.
2. Yeniden Deneme Mekanizmaları:
from time import sleep
def get_deepseek_response(prompt, retries=3):
# ... existing code ...
except requests.exceptions.RequestException as e:
if retries > 0:
sleep(2)
return get_deepseek_response(prompt, retries - 1)
else:
return f"Error: {str(e)}"
3. Girişleri Doğrulayın:
İstemlerin belirteç sınırları içinde ve doğru biçimlendirilmiş olduğundan emin olun.
Adım 6: Üretim İçin Optimize Edin
- Yanıtları Önbelleğe Alma: Sık yapılan sorguları depolamak için Redis veya Memcached kullanın.
- Kullanımı İzleme: Kotaları aşmamak için API çağrılarını izleyin.
- Asenkron İşleme: Yüksek verimli uygulamalar için
aiohttp
(Python) veyaaxios
(JavaScript) gibi asenkron kitaplıklar kullanın.
Sonuç
DeepSeek'in API'lerini uygulamanıza entegre etmek zaman kaybı olmak zorunda değil. Uç noktaları test etmek, kod oluşturmak ve anında hata ayıklamak için etkileşimli dokümantasyon kullanarak, yapay zeka destekli özellikleri günler değil, saatler içinde gönderebilirsiniz.
Yukarıdaki örnek sadece buzdağının görünen kısmı. DeepSeek'in modelleriyle, otomatik içerik oluşturuculardan yapay zeka öğretmenlerine kadar her şeyi oluşturabilirsiniz. Artık planı aldığınıza göre, devam edin ve uygulamanızı bir yapay zeka güç merkezine dönüştürün!