İçeriğe geç
edumintsBlog
LLM3 dk okuma

DeepSeek Arama ve İçerik Çekme API'si – 1000 Başarılı İstek Başına 0,75 Dolar

Kaynak: Hacker News

Paylaş
LLMEdumints Blog
İçindekiler 4 başlık

Arama ve İçerik Çekme (Search & Fetch)#

DeepSeek'in kendi arama motoruyla güçlendirilen Search API ve Fetch API, otonom ajanlara (agents) ve RAG (Retrieval-Augmented Generation) uygulamalarına canlı web içeriğine doğrudan erişim imkânı tanır:

  • Search API: Bir sorgu için web sayfalarını bulur ve yapılandırılmış sonuçlar döndürür. DeepSeek'in kurum içi arama motoru tarafından desteklenir.
  • Fetch API: Tek bir web sayfasını alır ve içeriğini doğrudan Markdown formatında döndürür.

Her iki servis de ham JSON API'leridir, standart DeepSeek API ile aynı Bearer kimlik doğrulamasını kullanır ve temel URL olarak https://api.deepseek.com adresini baz alır:

  • Search: POST https://api.deepseek.com/v1/tools/search
  • Fetch: POST https://api.deepseek.com/v1/tools/fetch

Pratik Çıkarım: Harici arama sağlayıcıları (Tavily, Serper vb.) veya karmaşık kazıma (scraping) kütüphaneleri kurmak yerine, mevcut DeepSeek altyapınız ve anahtarınızla doğrudan RAG ve Tool Calling boru hatlarınıza canlı web verisi entegre edebilirsiniz.

Kimlik Doğrulama (Authentication)#

İstek başlıklarında (headers) API anahtarınızı ve JSON içerik tipini göndermeniz gerekir:

  • Authorization (Zorunlu): Bearer <DeepSeek API Key>
  • Content-Type (Zorunlu): application/json

Search API ve İstek Alanları#

cURL veya Python requests kütüphanesi ile /v1/tools/search uç noktasına JSON gövdesiyle kolayca POST isteği atabilirsiniz. İstek gövdesinde yer alan bilinmeyen alanlar sistem tarafından yok sayılır. Kullanabileceğiniz 5 temel istek alanı şunlardır:

  • query (string, Zorunlu): 1 ile 128 Unicode karakter arasında olması gereken arama sorgusu. Tamamen boşluktan oluşamaz ve aşağıdaki sorgu operatörlerini destekler.
  • count (integer, İsteğe bağlı, Varsayılan: 10): Döndürülecek sonuç sayısı (1 ile 50 arasında).
  • ori_question (string, İsteğe bağlı): Sorgu anlaşılabilirliğini artırmak için aramayı tetikleyen orijinal kullanıcı sorusu (1-128 karakter).
  • localization (string, İsteğe bağlı): Arama sonuçlarını yerelleştirmek için kullanılan isteğe bağlı IP adresi.
  • need_content (boolean, İsteğe bağlı, Varsayılan: false): Sayfa içeriğinin content alanında döndürülüp döndürülmeyeceğini belirler (false olduğunda boş dize döner).

Geliştirici İpucu: Ajan mimarilerinde ori_question parametresine kullanıcının ham sorusunu, query alanına ise LLM'in ürettiği anahtar kelimeleri vermek arama kalitesini ciddi ölçüde artırır. Ayrıca need_content: true kullanımı, ikinci bir Fetch çağrısına gerek kalmadan tek adımda içerik çekerek gecikmeyi (latency) düşürür.

Sorgu Operatörleri (Query Operators)#

Sorgular, arama sözdizimi korunarak iletilir ve tek bir sorguda birden fazla operatör birleştirilebilir:

  • site:: Sonuçları belirli bir siteyle sınırlar (DeepSeek site:github.com). Birden fazla site için boşluk bırakıp OR ile birleştirebilirsiniz (site:github.com OR site:huggingface.co).
  • -site:: Belirtilen siteyi sonuçlardan hariç tutar (DeepSeek -site:example.com).
  • -: Belirli bir terimi içeren sayfaları hariç tutar (DeepSeek -advertisement).
  • -"...": Boşluk içerebilen tam bir ifadeyi barındıran sayfaları hariç tutar (DeepSeek -"release notes").
  • "...": Tam ifadeyi eşleştirir (DeepSeek "exact phrase").
  • lang:: Sonuçları virgülle ayrılmış dil kodlarıyla sınırlar (DeepSeek lang:zh,en).
  • after:: Belirli bir tarihten sonra yayınlanan sayfaları getirir (DeepSeek after:2025 veya after:2025-01-01).
  • before:: Belirli bir tarihten önce yayınlanan sayfaları filtreler.

Pratik Çıkarım: RAG sistemlerinde güncel olmayan bilgileri veya reklam içerikli sayfaları elemek için after:, -site: ve lang: operatörlerini sistem istemlerinize (system prompt) dahil ederek ajanınızın çok daha temiz veri çekmesini sağlayabilirsiniz.

Kaynak ve atıf

Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • api-docs.deepseek.com/guides/search