Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from fastapi.responses import JSONResponse | |
from fastapi.middleware.cors import CORSMiddleware | |
from extractive import ExtractiveModel, _get_summary | |
from cosine import CosineModel, build_summary | |
from abstractive import Abstractive | |
from dto import SummarizeRequest | |
from transformers import pipeline | |
hub_model_id = "yohannesahunm/amharic_text_summarization" | |
abs_summarizer = pipeline("summarization", model=hub_model_id) | |
app = FastAPI() | |
# Setup cors | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=["*"], | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
def summarizeText(request_body:SummarizeRequest): | |
text = request_body.text | |
model = int(request_body.model) | |
summary="error" | |
if model==0: | |
tparser = ExtractiveModel(text) | |
summary =_get_summary(tparser) | |
elif model==1: | |
tparser = CosineModel(text=text) | |
summary = build_summary(tparser.sentences) | |
else: | |
summary = Abstractive(abs_summarizer).summarizer(text) | |
if summary=="error": | |
return JSONResponse(content="There is Error.", status_code=400) | |
return JSONResponse(content=summary, status_code=201) | |
# Get route | |
def home(): | |
return {"hello":"world"} |