tag API

Bu sayfada API etiketi ile işaretlenmiş 5 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 cagirma (function calling), buyuk dil modellerinin (LLM) dogal dil yaniti uretmek yerine onceden tanimlanmis bir aracı veya API'yi cagirabilen yapilandırilmis bir cikti uretmesi ozelligi. Bu mekanizma, LLM'leri pasif metin ureticilerinden aktif ajanlara donusturmektedir. Fonksiyon cagirma tipik olarak su sekilde isler: gelistirici, modele hangi fonksiyonlarin mevcut oldugunu JSON Schema formatinda tanimlar. Kullanicinin istegi bu araclarin kullanimini gerektiriyorsa model dogal dil yanitı yerine arac adi ve parametrelerini JSON olarak doner. Uygulama bu JSON'u alir, ilgili fonksiyonu calistirir, sonucu modele gonderir ve model nihai yaniti uretir. OpenAI, bu ozelligi GPT-4'te function calling olarak tanitmistir; daha sonra tool use adiyla yeniden yapılandirilmistir. Anthropic Claude'un tool use ozelligi, AWS Lambda veya harici API'ler gibi araclarla entegrasyon icin ayni prensibi kullanir. Bu yapilandirma, paralel cagrilar (parallel tool use) ile birden fazla araci ayni anda cagirilabilmesini de olanaklı kilar. Fonksiyon cagirma; hava durumu sorgulama, veritabani okuma/yazma, takvim yonetimi, kod yurutme ve web arama gibi ajanlar icin temel bir bilesendir. ReAct (Reason + Act) cercevesi ve AutoGPT gibi ajan mimarileri bu ozelliği siklıkla kullanmaktadir. MCP (Model Context Protocol), Anthropic'in standartlastirdigi bir protokoldur; sunucular araclari MCP formatinda tanimlayarak herhangi bir MCP destekli modelin bu araclari kullanabilmesini saglar. Bu sayede uygulamalar, LLM saglayciyindan bagimsiz olarak yeniden kullanilabilir arac kutuphaneleri olusturabilir.

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
data_object

JSON Schema (JSON Şema)

JSON Schema, JSON verilerinin yapısını, turlerini ve kisitlamalarini tanimlayan bir spesifikasyon standartidir. Bir JSON belgesinin nasil goruncegini onceden tanimlamaya, veriyi dogrulamaya (validation) ve otomatik olarak belgelemeye olanak tanir. JSON Schema, JSON verisinin 'blueprint'i (sablonu) olarak dusunulebilir. Bir JSON Schema dokumani, hangi alanlarin zorunlu oldugunu, her alanin turunu (string, number, boolean, array, object) ve gecerli deger araligını tanimlar. Ornegin bir kullanici nesnesi icin 'name' alani string ve zorunlu, 'age' 0 ile 150 arasinda integer, 'email' regex ile dogrulanmis string olarak tanimlanabilir. JSON Schema, API dokumantasyonu ve dogrulamasinda kritik bir rol oynamaktadir. OpenAPI Specification (Swagger), REST API'lerini tanimlarken JSON Schema'yi temel alir. Bu sayede API tanimlamasindan otomatik olarak istemci SDK'lari, sunucu stubları ve dokumantasyon sayfaları uretilmesi mumkun olmaktadir. Yapay zeka uygulamalarinda JSON Schema, LLM'lerin yapilandirılmıs cikti uretmesi icin zorunlu hale gelmistir. OpenAI ve Anthropic'in function calling/tool use ozelliklerinde her arac, parametrelerini JSON Schema ile tanimlar. Pydantic (Python) ve Zod (TypeScript) gibi kutuphaneler, JSON Schema dogrulamasini uygulama duzeqinde kolaylastiran populer araclardir. JSON Schema'nın mevcut kararlı surumu Draft 2020-12'dir. Tekrar kullanilanilabilir alt sema tanimlari ($defs), diger sema referanslari ($ref) ve sema birlesimi (allOf, anyOf, oneOf) bu standartin ileri ozelliklerinden bazılarıdir.

arrow_forward
hub

Microservices Nedir? Mikro Hizmet Mimarisi Rehberi (Mikro Hizmet Mimarisi)

Microservices (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ını yönetebilir, bağımsız olarak geliştirilip test edilebilir ve diğer servislerden bağımsız biçimde dağıtılabilir. Mikro hizmet mimarisi, geleneksel monolitik yapıların karmaşıklığını çözmek amacıyla 2010'lu yılların başında Netflix, Amazon ve Uber gibi büyük teknoloji şirketleri tarafından benimsendi. Monolitik bir uygulamada tüm bileşenler tek bir kod tabanında birbirine sıkıca bağlıdır; bu durum, küçük bir değişikliğin tüm uygulamanın yeniden derlenmesini ve dağıtılmasını gerektirmesi anlamına gelir. Mikro hizmetlerde ise her servis kendi yaşam döngüsüne sahiptir. Yapay zeka ve makine öğrenimi ekosisteminde mikro hizmetler kritik bir rol oynar. Bir AI ürününü bileşenlerine ayırmak, farklı ekiplerin bağımsız çalışmasına ve farklı dillerin ya da çerçevelerin kullanılmasına olanak tanır: örneğin veri önişleme servisi Python ile yazılırken API katmanı Go ile yazılabilir. Model serving, özellikle ayrı bir mikro hizmet olarak tasarlandığında ölçeklendirme kolaylaşır; yoğun talep dönemlerinde yalnızca bu servis ölçeklendirilir, tüm uygulama değil. Mikro hizmetler HTTP/REST, gRPC veya mesaj kuyrukları (Kafka, RabbitMQ) aracılığıyla birbirleriyle iletişim kurar. Her servisin kendi veri deposu olabilir; bu sayede hizmetler arası bağımlılık azalır ve geliştirme hızı artar. Ancak dağıtık sistemlerin getirdiği ağ gecikmesi, servis keşfi, veri tutarlılığı ve izlenebilirlik gibi yeni zorluklar da beraberinde gelir. Docker ve Kubernetes gibi konteyner teknolojileri, mikro hizmetlerin dağıtımını standartlaştırmış ve operasyonel yükü önemli ölçüde azaltmıştır. CI/CD pipeline'ları sayesinde her servis bağımsız olarak test edilip production'a alınabilir.

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