Omgaan met verschillende invoertypes in FastAPI

AI in productie brengen met FastAPI

Matt Eckerle

Software and Data Engineering Leader

Restaurant vs API

Een restaurant vergeleken met invoer voor een API

AI in productie brengen met FastAPI

Validatiestroom

 

 

  • Binnenkomende data via request
  • Invoervalidatie gebeurt met Pydantic
  • Verwerk verschillende datatypes volgens modelvereisten
  • Verwerkte invoer naar het model gestuurd

Een stroomdiagram dat request-validatie uitlegt

AI in productie brengen met FastAPI

Systeem voor moderatie van reacties

 

class CommentMetrics(BaseModel):
    length: int           
    user_karma: int     
    report_count: int

class CommentText(BaseModel): content: str

Een afbeelding met reactie-vakpictogrammen

AI in productie brengen met FastAPI

Endpoint voor kommagetallen

app = FastAPI()

@app.post("/predict")
def predict_score(data: CommentMetrics):
features = np.array([ data.length, data.user_karma, data.report_count ])
model = CommentScorer() prediction = model.predict(features)
return {"prediction": round(prediction, 2), "input": data.dict()}
AI in productie brengen met FastAPI

Endpoint voor tekstuele invoer

@app.post("/analyze_text")

def analyze(comment: CommentText):
forbidden = ["spam", "hate", "free" "fake", "sign up"]
text_lower = comment.lower()
issues = [word for word in forbidden if word in text_lower]
return { "issues": issues, "needs_moderation": len(issues) }

Output voor reactie: Sign up for free

{
    "issues": ["free", "sign up"],
    "needs_moderation": 2
}
AI in productie brengen met FastAPI

Laten we oefenen!

AI in productie brengen met FastAPI

Preparing Video For Download...