tag FastAPI

Bu sayfada FastAPI etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.

FastAPI, Python ile modern ve yüksek performanslı web API'leri geliştirmek için kullanılan açık kaynaklı bir web çerçevesidir. Sebastián Ramírez tarafından geliştirilen ve 2018'de yayımlanan çerçeve, Starlette (ASGI web katmanı) ile Pydantic (veri doğrulama) kütüphaneleri üzerine kuruludur. Adındaki "fast" hem çalışma hızına hem de geliştirme hızına işaret eder: async/await destekli asenkron mimarisi eş zamanlı binlerce isteği verimli biçimde işler, Python type hint entegrasyonu ise kod yazılırken otomatik tamamlama, doğrulama ve dokümantasyon üretir. FastAPI'yi öne çıkaran nokta, geliştiricinin tek bir kaynaktan üç şeyi birden elde etmesidir. Endpoint fonksiyonuna tip açıklamaları eklendiğinde Pydantic gelen veriyi çalışma anında doğrular, hatalı istekler modele ulaşmadan 422 hatasıyla geri çevrilir ve Swagger UI ile ReDoc arayüzleri kod değişikliği gerekmeden interaktif API belgesi olarak yayınlanır. Bu yaklaşım hem hata oranını düşürür hem de ekiplerin API sözleşmesini güncel tutmasını kolaylaştırır. Dependency injection sistemi, veritabanı bağlantısı ve kimlik doğrulama gibi ortak bağımlılıkları endpoint'lere temiz biçimde aktarır; bu da test edilebilirliği artırır. Yapay zeka tarafında FastAPI, model servis katmanının fiili standardı konumundadır. PyTorch veya Hugging Face modellerini REST endpoint'i olarak sunmak, LLM çağrılarını Server-Sent Events ile token token istemciye aktarmak ve RAG pipeline'larını HTTP üzerinden erişilebilir kılmak için yaygın biçimde tercih edilir. Üretimde Uvicorn ile çalıştırılır, Docker ve Kubernetes ortamlarında yatay olarak ölçeklenir; Microsoft ve Uber gibi şirketlerin üretim sistemlerinde kendine yer bulur.

rocket_launch

FastAPI (Python Web Çerçevesi)

FastAPI, Python ile modern ve yüksek performanslı web API'leri geliştirmek için kullanılan açık kaynaklı bir web çerçevesidir. Sebastián Ramírez tarafından geliştirilen ve 2018'de yayımlanan çerçeve, Starlette (ASGI web katmanı) ile Pydantic (veri doğrulama) kütüphaneleri üzerine kuruludur. Adındaki "fast" hem çalışma hızına hem de geliştirme hızına işaret eder: async/await destekli asenkron mimarisi eş zamanlı binlerce isteği verimli biçimde işler, Python type hint entegrasyonu ise kod yazılırken otomatik tamamlama, doğrulama ve dokümantasyon üretir. FastAPI'yi öne çıkaran nokta, geliştiricinin tek bir kaynaktan üç şeyi birden elde etmesidir. Endpoint fonksiyonuna tip açıklamaları eklendiğinde Pydantic gelen veriyi çalışma anında doğrular, hatalı istekler modele ulaşmadan 422 hatasıyla geri çevrilir ve Swagger UI ile ReDoc arayüzleri kod değişikliği gerekmeden interaktif API belgesi olarak yayınlanır. Bu yaklaşım hem hata oranını düşürür hem de ekiplerin API sözleşmesini güncel tutmasını kolaylaştırır. Dependency injection sistemi, veritabanı bağlantısı ve kimlik doğrulama gibi ortak bağımlılıkları endpoint'lere temiz biçimde aktarır; bu da test edilebilirliği artırır. Yapay zeka tarafında FastAPI, model servis katmanının fiili standardı konumundadır. PyTorch veya Hugging Face modellerini REST endpoint'i olarak sunmak, LLM çağrılarını Server-Sent Events ile token token istemciye aktarmak ve RAG pipeline'larını HTTP üzerinden erişilebilir kılmak için yaygın biçimde tercih edilir. Üretimde Uvicorn ile çalıştırılır, Docker ve Kubernetes ortamlarında yatay olarak ölçeklenir; Microsoft ve Uber gibi şirketlerin üretim sistemlerinde kendine yer bulur.

arrow_forward
verified

Pydantic (Pydantic)

Pydantic, Python'da veri doğrulama ve yapılandırma yönetimi için kullanılan açık kaynak bir kütüphanedir. Python tip ipuçlarını (type hints) kullanarak çalışma zamanında (runtime) otomatik veri doğrulama sağlar; hatalı veya uyumsuz veri geldiğinde net ve anlaşılır hata mesajları üretir. Samuel Colvin tarafından geliştirilen Pydantic, Python ekosisteminin en çok indirilen kütüphanelerinden biri konumuna gelmiştir. Pydantic'te veri yapıları, BaseModel sınıfı miras alınarak tanımlanır. Her alan, tip annotasyonuyla belirtilir; kütüphane bu tiplere göre otomatik doğrulama yapar. Gelen veriyi gerektiğinde dönüştürür: string'i integer'a, ISO tarih dizesini datetime nesnesine otomatik çevirebilir (coercion). Field() fonksiyonu ile minimum/maksimum değer, desen eşleştirmesi ve varsayılan değer gibi ek kısıtlamalar tanımlanabilir. Pydantic v2, Rust ile yeniden yazılmış çekirdek doğrulama motoruyla v1'e kıyasla 5–50 kat daha hızlıdır. model_validator ve field_validator dekoratörleriyle modele özgül kısıtlamalar ve çapraz alan doğrulamaları eklenebilir. Mevcut v1 projeleri pydantic-v1-compat paketi yardımıyla kademeli olarak taşınabilir. Yapay zeka ekosistemindeki önemi giderek artmaktadır. LangChain ve LlamaIndex, Pydantic modellerini yapılandırılmış çıktı için kullanır. OpenAI API'si Pydantic modelini doğrudan kabul ederek yapılandırılmış JSON doğrulama gerçekleştirir. Instructor kütüphanesi, herhangi bir LLM'den Pydantic model doğrulamasıyla yapılandırılmış çıktı almayı kolaylaştırır. FastAPI ise Pydantic'i HTTP istek ve yanıt doğrulaması için temel altyapı olarak kullanır. pydantic-settings paketi, çevre değişkenlerini ve .env dosyalarındaki yapılandırmayı Pydantic modeli olarak yönetmeyi sağlar; tip-güvenli yapılandırma yönetiminin fiili standardı hâline gelmiştir. Her Pydantic modeli, model_json_schema() metoduyla tam bir JSON Schema'ya dönüştürülebilir; bu özellik OpenAI function calling ve yapılandırılmış çıktı (structured output) desteği için kritik öneme sahiptir. Pydantic'in yaygınlığı yalnızca bireysel projelerle sınırlı değildir: Hugging Face, Azure SDK, AWS CDK ve Databricks gibi kurumsal projeler de veri katmanlarında Pydantic'ten yararlanmaktadır.

arrow_forward