tag API

Bu sayfada API etiketi ile işaretlenmiş 6 yapay zeka kavramını bulabilirsiniz.

API (Application Programming Interface — Uygulama Programlama Arayüzü), farklı yazılım sistemlerinin birbirleriyle standart kurallar çerçevesinde iletişim kurmasını sağlayan arayüzdür. Bir restoranın menüsü ve garson metaforu sıkça kullanılır: müşteri (istemci) menüden istediğini seçer, garson (API) siparişi mutfağa (sunucu/servis) iletir ve hazır yemeği geri getirir. Müşterinin mutfak detaylarını bilmesine gerek yoktur. Yapay zeka ekosisteminde API kullanımı merkezi bir rol üstlenir. OpenAI, Anthropic, Google ve Mistral gibi şirketler modellerini doğrudan REST API üzerinden sunar. Bir geliştirici ChatGPT'yi kendi uygulamasına entegre etmek istediğinde OpenAI API'ını çağırır; modelin mimarisini veya ağırlıklarını bilmesine gerek kalmaz. Bu yaklaşım, küçük startup'ların bile dünya genelindeki en güçlü modellere erişmesine olanak tanır. Günümüzde iki temel API mimarisi öne çıkar. REST (Representational State Transfer), HTTP protokolü üzerine inşa edilmiş, JSON formatında veri alışverişi yapan ve GET/POST/PUT/PATCH/DELETE metodlarını kullanan en yaygın yaklaşımdır. Durumsuz (stateless) yapısı ölçeklenebilirliği artırır. GraphQL ise Facebook tarafından 2015'te geliştirilen ve istemcinin tam olarak ihtiyaç duyduğu alanları sorgulayabildiği daha esnek bir dil sunar; fazla veya eksik veri çekme sorunlarını ortadan kaldırır. API güvenliği birkaç katmanda ele alınır. API anahtarı (API key) en basit yöntemdir; her istekte Authorization başlığında Bearer token olarak iletilir. OAuth 2.0, üçüncü taraf uygulamaların kullanıcı adına işlem yapmasına olanak tanıyan endüstri standardı yetkilendirme protokolüdür. JWT (JSON Web Token), içinde kullanıcı bilgisi barındıran imzalı token formatıdır. Rate limiting ise belirli süre içindeki istek sayısını sınırlayarak kötüye kullanımı engeller ve 429 Too Many Requests hata kodu döndürür. Türkiye'de e-ticaret platformları, ödeme sistemleri (İyzico, Stripe), harita servisleri ve bankacılık altyapıları API ekosistemi üzerine kurulu çalışır. Trendyol Seller API, satıcıların envanterini ve siparişlerini yazılımsal olarak yönetmesini sağlar. OpenAPI/Swagger standardı REST API'larını tanımlamak için kullanılan JSON Schema tabanlı spesifikasyon formatıdır; Swagger UI ile otomatik dokümantasyon ve etkileşimli test arayüzü oluşturulabilir.

data_object

Function Calling (Fonksiyon Çağırma)

Fonksiyon çağırma (function calling), büyük dil modellerinin (LLM) doğal dil yanıtı üretmek yerine önceden tanımlanmış bir aracı veya API-yi çağırabilen yapılandırılmış bir çıktı üretmesi özelliğidir. Bu mekanizma, LLM-leri pasif metin üreticilerinden aktif ajanlara dönüştürmektedir. Fonksiyon çağırma tipik olarak şu şekilde işler: geliştirici, modele hangi fonksiyonların mevcut olduğunu JSON Schema formatında tanımlar. Kullanıcının isteği bu araçların kullanımını gerektiriyorsa model doğal dil yanıtı yerine araç adı ve parametrelerini JSON olarak döner. Uygulama bu JSON-u alır, ilgili fonksiyonu çalıştırır, sonucu modele gönderir ve model nihai yanıtı üretir. OpenAI, bu özelliği GPT-4-te function calling olarak tanıttı; daha sonra tool use adıyla yeniden yapılandırdı. Anthropic Claude-un tool use özelliği, AWS Lambda veya harici API-ler gibi araçlarla entegrasyon için aynı prensibi kullanır. Bu yapılandırma, paralel çağrılar (parallel tool use) ile birden fazla aracı aynı anda çağırmayı da olanaklı kılar. Fonksiyon çağırma; hava durumu sorgulama, veritabanı okuma ve yazma, takvim yönetimi, kod yürütme ve web arama gibi ajanlar için temel bir bileşendir. ReAct (Reason + Act) çerçevesi ve AutoGPT gibi ajan mimarileri bu özelliği sıklıkla kullanmaktadır. MCP (Model Context Protocol), Anthropic-in standartlaştırdığı bir protokoldür; sunucular araçları MCP formatında tanımlayarak herhangi bir MCP destekli modelin bu araçları kullanabilmesini mümkün kılar. Bu sayede uygulamalar, LLM sağlayıcısından bağımsız olarak yeniden kullanılabilir araç kütüphaneleri oluşturabilir. Cursor, Zed ve diğer modern IDE-ler MCP entegrasyonuyla gelişmiş yapay zeka ajan özellikleri sunmaktadır. Fonksiyon çağırma, dil modellerini gerçek dünya sistemleriyle bütünleştiren en önemli mimari yeniliklerden biri olarak değerlendirilmektedir. Yapısal olarak basit görünse de paralel çağrım, hata yönetimi ve araç güvenliği gibi konular üretim sistemlerinde dikkatle ele alınması gereken mühendislik sorunlarıdır. Güvenlik açısından fonksiyon çağırmanın dikkat gerektiren yönleri vardır: prompt enjeksiyonu, modelin meşru bir kullanıcı gibi görünen kötü amaçlı komutlar aracılığıyla beklenmedik araç çağrılarına yönlendirilmesidir. Bu nedenle araç izinleri en az yetki prensibiyle tasarlanmalı, geri alınamaz işlemler (ödeme, silme) için insan onayı mekanizmaları eklenmelidir. Structured Outputs özelliğiyle birleştirildiğinde fonksiyon çağırma, yalnızca JSON şemasına uyan yanıtlar garantilediğinden üretim ortamı güvenilirliğini artırır.

arrow_forward
data_object

JSON (JavaScript Object Notation)

JSON (JavaScript Object Notation), insan tarafından okunabilir ve makineler arası veri değişimine uygun hafif bir metin tabanlı veri biçimidir. Douglas Crockford tarafından 2001 yılında tanımlanmış, RFC 8259 standardıyla resmileşmiş; günümüzde REST API'leri, yapılandırma dosyaları ve yapay zeka sistemleri arasında de facto veri alışveriş standardı konumundadır. JSON altı temel değer türü destekler: string (çift tırnak içinde metin), number (tam veya ondalıklı sayı), boolean (true/false), null (değersizlik) ile iki koleksiyon türü olan object (anahtar-değer çiftleri) ve array (değerler listesi). Sözdizimi minimal olduğundan tüm modern programlama dillerinde yerel destek mevcuttur. XML aksine şema gerektirmez; YAML kıyasla katı sözdizimi ayrıştırma tutarsızlıklarını önler. Yapay zeka ve LLM sistemlerinde JSON kritik öneme sahiptir. OpenAI, Anthropic ve Google gibi sağlayıcıların API'leri sohbet turlarını, araç tanımlarını (tool/function calling) ve model yanıtlarını JSON formatında iletir. Yapılandırılmış Çıktılar (Structured Outputs) özelliği, modelin JSON Schema'ya tam uyumlu yanıt üretmesini garanti ederek ayrıştırma hatalarını ortadan kaldırır. Pydantic ve Zod kütüphaneleri, JSON'ı Python ve TypeScript veri modellerine dönüştürmek için yaygın kullanılır. JSON Schema, bir JSON belgesinin yapısını, zorunlu alanlarını ve değer kısıtlamalarını tanımlayan bağımsız bir standarttır; LLM araç tanımlarının ve yapılandırılmış çıktı doğrulamasının temelini oluşturur. JSON Lines (.jsonl), her satırın bağımsız bir JSON nesnesi olduğu varyant olup LLM eğitim veri setlerinde ve büyük veri işleme boru hatlarında yaygın tercih görür. Hugging Face model hub'ında config.json ile tokenizer_config.json dosyaları model mimarisini ve tokenizer parametrelerini bu formatta tanımlar. Güvenilmez kaynaklardan gelen JSON verisi işlenirken şema doğrulaması uygulanmalıdır. LLM çıktısından JSON elde edilmesinde Markdown kod bloğu içindeki JSON'ı regex ile işlemek yerine JSON modu veya yapılandırılmış çıktı API'si tercih edilmesi çok daha güvenilir sonuç verir.

arrow_forward
hub

Microservices (Mikro Hizmet Mimarisi)

Microservices yani mikro hizmet mimarisi büyük ve monolitik bir yazılım uygulamasını her biri kendi sorumluluğuna sahip küçük bağımsız ve birbirleriyle iletişim kuran servisler topluluğuna bölen bir yazılım mimarisi yaklaşımıdır. Her mikro hizmet belirli bir iş işlevini yerine getirir; kendi veritabanına sahip olabilir kendi teknoloji yığınıyla geliştirilir ve bağımsız olarak dağıtılıp ölçeklendirilebilir. Bu mimari Netflix Amazon ve Uber gibi büyük teknoloji şirketleri tarafından popüler hale getirilmiştir. Monolitik mimaride tüm bileşenler tek bir dağıtılabilir birim olarak paketlenir; uygulamanın herhangi bir parçasını güncellemek tüm sistemin yeniden dağıtılmasını gerektirir. Mikro hizmet mimarisinde ise her servis kendi yaşam döngüsüne sahiptir: farklı ekipler farklı servisleri bağımsız olarak geliştirebilir test edebilir ve production ortamına alabilir. Bu esneklik ölçek büyüdükçe geliştirme hızını korumak ve yalnızca yoğun talep gören servisleri ölçeklendirmek açısından kritik bir avantaj sunar. Yapay zeka projeleri için bu mimari özellikle değerlidir. Model serving veri ön işleme A/B testi ve orkestrasyon katmanları ayrı servisler olarak tasarlanabilir; böylece yeni bir model versiyonu canlı ortama alınırken sistemin geri kalanı kesintisiz çalışmaya devam eder. Farklı AI modelleri (NLP görüntü tanıma öneri motoru) her biri kendi kaynağını bağımsız tüketen servisler olarak çalışır; darboğazlar kolayca tespit edilip giderilebilir. Servisler REST gRPC veya mesaj kuyrukları (Kafka RabbitMQ) aracılığıyla iletişim kurar. API gateway dış istemcilerle merkezi iletişim noktası görevi görür. Devre kesici (circuit breaker) desenleri zincirleme hataları önler; servis keşfi mekanizmaları dinamik ölçeklendirmede adres çözümlemesini otomatikleştirir. Docker konteynerleri ile Kubernetes orkestrasyonu mikro hizmet dağıtımının ve yönetiminin temel altyapısını oluşturur. Küçük ekipler için başlangıçta monolitik mimari daha pratik olabilir; ancak sistem karmaşıklığı arttıkça mikro hizmetlere geçişin faydaları belirginleşir.

arrow_forward
cached

Prompt Caching (Prompt Önbellekleme)

Prompt önbellekleme (Prompt Caching), büyük dil modeli (LLM) API'larında aynı prompt ön ekinin birden fazla istekte tekrar tekrar kullanılması durumunda, modelin bu ön ek için önceden hesapladığı dikkat tensörlerini (KV cache) sunucu tarafında saklayarak yeniden hesaplama maliyetini ortadan kaldıran bir optimizasyon tekniğidir. Bir LLM her prompt işlediğinde her token için anahtar-değer (key-value, KV) dikkat tensörleri hesaplar. Prompt önbellekleme bu tensörleri sunucuda saklar; sonraki istek aynı ön ekle başlıyorsa model onları sıfırdan hesaplamak yerine doğrudan önbellekten yükler. Bu sayede hem hesaplama süresi hem de faturalanan giriş maliyeti önemli ölçüde düşer. Teknik özellikle uzun sistem prompt'larının, büyük belgelerin veya kapsamlı örnekler içeren şablonların yüzlerce ya da binlerce ardışık istek için tekrar gönderildiği senaryolarda kayda değer tasarruf sağlar. Ajansal döngülerde (agentic loops), RAG boru hatlarında ve çok turlu sohbet uygulamalarında girdi token maliyetleri toplam harcamanın büyük bölümünü oluşturur; prompt önbellekleme bu senaryolarda üretim AI sistemlerinin ekonomik sürdürülebilirliğini doğrudan etkiler. 2024'ten itibaren Anthropic (Claude), OpenAI (GPT-4o ve üstü), Google (Gemini) ve DeepSeek başta olmak üzere büyük LLM sağlayıcıları bu özelliği sunmaktadır. Uygulamalar arasında fark mevcuttur: Anthropic açık `cache_control` parametresiyle işaret isterken, OpenAI belirli bir token eşiğini aşan sabit ön ekleri otomatik önbellekler. Her iki yaklaşımda da önbellekteki token'lar normal girdi fiyatının %10-50'siyle faturalandırılır; bu oran giriş maliyetlerinde %50 ila %90 tasarruf anlamına gelir. Anthropic'te önbellek ömrü yaklaşık 5 dakika olup her kullanımda yenilenir. Minimum önbellekleme eşiği sağlayıcıya göre 1.024-2.048 token arasında değişir. Maliyet avantajının yanı sıra, önbellekten okunan token'lar yeniden hesaplama gerektirmediğinden ilk token gecikmesi (TTFT, time-to-first-token) de önemli ölçüde düşer; Anthropic bu iyileşmenin %85'e kadar ulaşabildiğini bildirmektedir. vLLM ve SGLang gibi açık kaynak çıkarım çerçeveleri de GPU üzerinde benzer KV önbellekleme mekanizmaları sunar.

arrow_forward
api

API (API (Uygulama Programlama Arayüzü))

API (Application Programming Interface — Uygulama Programlama Arayüzü), farklı yazılım sistemlerinin birbirleriyle standart kurallar çerçevesinde iletişim kurmasını sağlayan arayüzdür. Bir restoranın menüsü ve garson metaforu sıkça kullanılır: müşteri (istemci) menüden istediğini seçer, garson (API) siparişi mutfağa (sunucu/servis) iletir ve hazır yemeği geri getirir. Müşterinin mutfak detaylarını bilmesine gerek yoktur. Yapay zeka ekosisteminde API kullanımı merkezi bir rol üstlenir. OpenAI, Anthropic, Google ve Mistral gibi şirketler modellerini doğrudan REST API üzerinden sunar. Bir geliştirici ChatGPT'yi kendi uygulamasına entegre etmek istediğinde OpenAI API'ını çağırır; modelin mimarisini veya ağırlıklarını bilmesine gerek kalmaz. Bu yaklaşım, küçük startup'ların bile dünya genelindeki en güçlü modellere erişmesine olanak tanır. Günümüzde iki temel API mimarisi öne çıkar. REST (Representational State Transfer), HTTP protokolü üzerine inşa edilmiş, JSON formatında veri alışverişi yapan ve GET/POST/PUT/PATCH/DELETE metodlarını kullanan en yaygın yaklaşımdır. Durumsuz (stateless) yapısı ölçeklenebilirliği artırır. GraphQL ise Facebook tarafından 2015'te geliştirilen ve istemcinin tam olarak ihtiyaç duyduğu alanları sorgulayabildiği daha esnek bir dil sunar; fazla veya eksik veri çekme sorunlarını ortadan kaldırır. API güvenliği birkaç katmanda ele alınır. API anahtarı (API key) en basit yöntemdir; her istekte Authorization başlığında Bearer token olarak iletilir. OAuth 2.0, üçüncü taraf uygulamaların kullanıcı adına işlem yapmasına olanak tanıyan endüstri standardı yetkilendirme protokolüdür. JWT (JSON Web Token), içinde kullanıcı bilgisi barındıran imzalı token formatıdır. Rate limiting ise belirli süre içindeki istek sayısını sınırlayarak kötüye kullanımı engeller ve 429 Too Many Requests hata kodu döndürür. Türkiye'de e-ticaret platformları, ödeme sistemleri (İyzico, Stripe), harita servisleri ve bankacılık altyapıları API ekosistemi üzerine kurulu çalışır. Trendyol Seller API, satıcıların envanterini ve siparişlerini yazılımsal olarak yönetmesini sağlar. OpenAPI/Swagger standardı REST API'larını tanımlamak için kullanılan JSON Schema tabanlı spesifikasyon formatıdır; Swagger UI ile otomatik dokümantasyon ve etkileşimli test arayüzü oluşturulabilir.

arrow_forward
code_blocks

LLM Router (LLM Yönlendirici)

LLM router (büyük dil modeli yönlendirici), gelen her isteği içeriğine, karmaşıklığına ve bağlamına göre farklı bir dil modeline gönderen ara katmandır. Basit soruları ucuz ve hızlı bir modele, kritik ya da zor olanları güçlü bir modele yönlendirir. Temel amaç, kullanıcı tarafında kalite kaybı hissettirmeden token maliyetini ve yanıt süresini optimize etmektir. Bir LLM router, model değil; modellerin önünde duran bir karar mekanizmasıdır. Her istek geldiğinde yönlendirici şu adımları izler: isteğin zorluğu tahmin edilir, uygun model seçilir ve istek o modele iletilir. Çoğu yönlendirici OpenAI uyumlu bir API sunduğu için istemci kodunda yalnızca base_url ve model adının değiştirilmesi yeterlidir. Zorluk tahmini için üç temel yöntem kullanılır. Eğitilmiş sınıflandırıcı yönteminde küçük bir BERT türevi model, isteğin güçlü modele ihtiyaç duyup duymadığını tahmin eder. Benzerlik tabanlı yöntemde gelen istek, tercih verisi bilinen geçmiş sorularla vektör uzayında karşılaştırılır. Kural tabanlı yöntemde ise prompt uzunluğu, dil tespiti, araç çağrısı varlığı ve kullanıcı abonelik planı gibi somut ölçütler kullanılır. Kural tabanlı yönlendirme en öngörülebilir ve en ucuz seçenektir; doğru kalibrasyon ile önemli tasarruf elde edilebilir. Bu alanda öne çıkan araçlar arasında RouteLLM, LiteLLM, OpenRouter ve Not Diamond yer alır. RouteLLM, LMSYS Chatbot Arena verisiyle eğitilmiş yönlendiriciler sunar. LMSYS ekibinin çalışması, MT-Bench kıyaslamasında GPT-4 kalitesinin yüzde doksanbeşini korurken maliyetin yüzde seksenbeş oranında azaltılabildiğini ortaya koymuştur. LiteLLM ise zorluk tahmini yapmadan yüzden fazla API sağlayıcısını tek bir ara katmanda toplayan, yük dengeleme ve yedekleme özellikli bir proxy çözümüdür. Yönlendirme eşiği üretimde düzenli kalibrasyonu gerektiren kritik bir parametredir. Çok turlu sohbetlerde her isteği bağımsız yönlendirmek yerine oturum başına model sabitleme önerilir; araç çağrısı içeren istekler ise küçük modellerin performans kısıtları nedeniyle genellikle güçlü modele yönlendirilmektedir.

arrow_forward