AI için GET ve POST istekleri

FastAPI ile Üretime AI Dağıtımı

Matt Eckerle

Software and Data Engineering Leader

Eğitmenimiz

 

Matt Eckerle

 

 

Matt Eckerle

  • Yazılım ve Veri Mühendisliği Lideri
  • Inari'de Kurumsal Veri Yöneticisi
  • 2019'dan beri ML için FastAPI kullanıyor
FastAPI ile Üretime AI Dağıtımı

Kurs özeti

 

 

  • FastAPI temelleri
  • İstek işleme ve entegrasyon
  • Girdi doğrulama ve güvenlik
  • Üretime hazır API'ler oluştur ve sürdür

 

 

FastAPI'nin logosu

FastAPI ile Üretime AI Dağıtımı

Başlamadan önce

✓ Temel Python: fonksiyonlar, sınıflar, modüller, veri yapıları

Python logosu

FastAPI ile Üretime AI Dağıtımı

Başlamadan önce

✓ Temel Python: fonksiyonlar, sınıflar, modüller, veri yapıları

✓ HTTP ve REST API kavramları

Python ve http logoları

FastAPI ile Üretime AI Dağıtımı

Başlamadan önce

✓ Temel Python: fonksiyonlar, sınıflar, modüller, veri yapıları

✓ HTTP ve REST API kavramları

✓ FastAPI çatısını kullanma

  • GET ve POST isteklerini işleme
  • Pydantic modellerini kullanma

✓ Machine Learning temelleri

Python, http ve FastAPI logoları

FastAPI ile Üretime AI Dağıtımı

GET istekleri açıklaması

  • Veri almada kullanılır
  • Yol parametresi - URL içindeki bilgi
  • Sunucu durumunu değiştirmez

Bir Menü

GET https://example.com/?item_id=1

GET isteklerini anlamaya yönelik bir diyagram

FastAPI ile Üretime AI Dağıtımı

Yol parametreleriyle GET uygulama

from fastapi import FastAPI

app = FastAPI()

@app.get("/item/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}
  • `@app.get` dekoratörü uç noktayı tanımlar.
  • {item_id} bir yol parametresidir.
  • Otomatik doğrulama için tür ipucu (int).
FastAPI ile Üretime AI Dağıtımı

POST istekleri açıklaması

  • Veriyi sunucuya göndermede kullanılır
  • Veri istek gövdesinde (genelde JSON)
  • Sunucu durumunu değiştirebilir

Bir restoran siparişi

POST https://example.com

POST isteklerini anlamaya yönelik bir diyagram

FastAPI ile Üretime AI Dağıtımı

JSON verisiyle POST uygulama

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()
db = {}

class Item(BaseModel): name: str price: float
@app.post("/items", status_code=201)
def create_item(item: Item): db[item.name] = item.model_dump() return {"message": f"Created {item.name}"}

 

  • Pydantic modeli veri yapısını tanımlar
  • @app.post POST uç noktası için
  • Otomatik JSON ayrıştırma ve doğrulama
FastAPI ile Üretime AI Dağıtımı

HTTP durum kodları

 

  • 200 OK: Başarı varsayılanı
  • 404 Not Found: Kaynak yok
  • 201 Success: Nesne oluşturuldu

Başarılı isteği belirten bir HTTP 200 durum kodu

FastAPI ile Üretime AI Dağıtımı

HTTP istisnaları fırlatma

from fastapi import FastAPI, HTTPException
app = FastAPI()

@app.get("/item/{item_id}")
async def read_item(item_id: int):
    if item_id == 4242: #An invalid order number
        raise HTTPException(status_code=404, detail="Item not found")
    return {"item_id": item_id}

@app.post("/items") async def create_item(item: Item): # Simulating item creation return {"message": f"Created {item.name}"}, 201
FastAPI ile Üretime AI Dağıtımı

Hadi pratik yapalım!

FastAPI ile Üretime AI Dağıtımı

Preparing Video For Download...