Uygulamalarınıza DeepSeek API'lerini Sadece 5 Dakikada Entegre Edin

Bu kılavuz, DeepSeek API'lerini uygulamanıza entegre etmeyi anlatır. API anahtarı kurulumundan test etmeye, hata ayıklamaya ve kod parçacıkları oluşturmaya kadar, yapay zeka destekli özellikleri hızlıca ve kolayca oluşturmayı öğrenin.

Efe Demir

Efe Demir

5 June 2025

Uygulamalarınıza DeepSeek API'lerini Sadece 5 Dakikada Entegre Edin

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

  1. Bir DeepSeek hesabı (buradan kaydolun).
  2. REST API'leri ve programlama (burada Python/JavaScript kullanılmıştır) hakkında temel bilgi.
  3. 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:

  1. DeepSeek hesabınıza giriş yapın.
  2. Hesap ayarlarınızın altında API Anahtarları'na gidin.
  3. 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.

DeepSeek chat completion APIs

2. Kimlik Doğrulama:

Authorization: Bearer YOUR_API_KEY  
Adding the DeepSeek API keys

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."}
  ]
}
crafting DeepSeek API request

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

getting DeekSeek response in real time

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:

Click on "Run in Apidog" to run the project on Apidog app

2. Dilinizi Seçin:

generating code directly from API documentation created by Apidog
choose the language to generate the codes

3. Kodu Kopyala-Yapıştır:

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)
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:

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

  1. Yanıtları Önbelleğe Alma: Sık yapılan sorguları depolamak için Redis veya Memcached kullanın.
  2. Kullanımı İzleme: Kotaları aşmamak için API çağrılarını izleyin.
  3. Asenkron İşleme: Yüksek verimli uygulamalar için aiohttp (Python) veya axios (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!

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin