API वर्ज़निंग और डॉक्यूमेंटेशन

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

Matt Eckerle

Software and Data Engineering Leader

API वर्ज़निंग क्यों?

 

  • API endpoints मेन्यू आइटम जैसे
  • पुराने ग्राहकों को खुश रखें
  • कुछ ग्राहक नए विकल्प चाहते हैं
  • बिना मौजूदा ग्राहकों को प्रभावित किए इटरेट करें

एक रेस्टोरेंट

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

क्लाउड AI jobs के लिए API

from pydantic import BaseModel

class AIJobV1(BaseModel):
    job_name: str
    data: bytes
class AIJobV1(BaseModel):
    job_name: str
    data: bytes
    config: dict

FastAPI का लोगो AI Cloud

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

वर्ज़न किए गए endpoints

from pydantic import BaseModel

class AIJobV1(BaseModel):
    job_name: str
    data: bytes

class AIJobV2(BaseModel): job_name: str data: bytes config: dict
from fastapi import FastAPI

app = FastAPI()

@app.post("/v1/ai-job")
def ai_job_v1(job: AIJobV1):
    ...

@app.post("/v2/ai-job") def ai_job_v2(job: AIJobV2): ...
FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

एंडपॉइंट वर्ज़न अपडेट करने के कारण

 

  • स्कीमा में ब्रेकिंग चेंज
  • अंदरूनी फंक्शन में बदलाव
    • मॉडल कोड अपडेट
    • मॉडल ट्रेनिंग सेट अपडेट
    • प्री/पोस्ट प्रोसेसिंग अपडेट
FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

Optional फ़ील्ड्स के साथ इटरेशन

 

  • हर इटरेशन में वर्ज़निंग ज़रूरी नहीं
  • Optional फ़ील्ड स्कीमा तोड़े बिना अतिरिक्त डेटा सपोर्ट कर सकते हैं
from pydantic import BaseModel

class AIJobV1(BaseModel):
    job_name: str
    data: bytes


from typing import Optional class AIJobV1(BaseModel): job_name: str data: bytes config: Optional[dict]
FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

Swagger से APIs डॉक्यूमेंट करना

 

 

  • API डॉक्यूमेंटेशन का स्टैंडर्ड टूल
    • endpoints और वर्ज़न ट्रैक रखता है
    • OpenAPI स्टैंडर्ड मेटाडेटा पर आधारित

 

Swagger लोगो

OpenAPI लोगो

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

Swagger UI

Swagger URL Swagger UI

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

किसी एंडपॉइंट के लिए Swagger UI

एंडपॉइंट के लिए FastAPI Swagger UI

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

FastAPI के description फ़ील्ड का उपयोग

from fastapi import FastAPI

app = FastAPI(
    description="AI Job API"
)

विवरण हेडर के साथ FastAPI Swagger UI

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

अभ्यास करते हैं!

FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना

Preparing Video For Download...