/
kikinaski
/
SE_FastAPI_Example
Обзор
Документация
Войти
/
kikinaski
/
SE_FastAPI_Example
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
main.py
48 строк
983 B
Tikhomirov
merge main into fix/test-init
14 май 2026, 17:36
14 май 2026, 17:36
dc23631
Код
Авторство
О чём код?
from fastapi import FastAPI from transformers import pipeline from pydantic import BaseModel, field_validator # Config MODEL_NAME = "sentiment-analysis" MAX_TEXT_LENGTH = 1000 EMPTY_ERROR = "Text cannot be empty" TOO_LONG_ERROR = f"Text is too long (max {MAX_TEXT_LENGTH} characters)" class Item(BaseModel): text: str @field_validator("text") @classmethod def validate_text(cls, v): if not v or not v.strip(): raise ValueError(EMPTY_ERROR) if len(v) > MAX_TEXT_LENGTH: raise ValueError("Text is too long") return v app = FastAPI() classifier = pipeline("sentiment-analysis") ROUTES = { "root": "/", "predict": "/predict/", "analyze": "/{text}" } @app.get(ROUTES["root"]) def root(): return {"FastApi service started!"} @app.get(ROUTES["analyze"]) def get_params(text: str): return classifier(text) @app.post(ROUTES["predict"]) def predict(item: Item): return classifier(item.text)