Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
| 1 |
-
# Adapted from source [cite: 214-232]
|
| 2 |
from fastapi import FastAPI, HTTPException
|
| 3 |
from pydantic import BaseModel
|
| 4 |
from transformers import pipeline
|
|
@@ -9,7 +8,7 @@ app = FastAPI()
|
|
| 9 |
class TranscriptionPayload(BaseModel):
|
| 10 |
text: str
|
| 11 |
|
| 12 |
-
# Load
|
| 13 |
try:
|
| 14 |
summarizer = pipeline(
|
| 15 |
"summarization",
|
|
@@ -17,18 +16,15 @@ try:
|
|
| 17 |
torch_dtype=torch.float32,
|
| 18 |
device="cpu",
|
| 19 |
)
|
|
|
|
| 20 |
except Exception as e:
|
| 21 |
summarizer = None
|
| 22 |
-
print(f"Error loading summarization model: {e}")
|
| 23 |
|
| 24 |
@app.post("/summarize")
|
| 25 |
async def summarize_text(payload: TranscriptionPayload):
|
| 26 |
if not summarizer:
|
| 27 |
raise HTTPException(status_code=503, detail="Summarizer model is not available.")
|
| 28 |
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
# Generate the summary
|
| 32 |
-
summary = summarizer(full_text, min_length=30, max_length=250, do_sample=False)
|
| 33 |
-
|
| 34 |
-
return {"summary": summary[0]['summary_text']}
|
|
|
|
|
|
|
| 1 |
from fastapi import FastAPI, HTTPException
|
| 2 |
from pydantic import BaseModel
|
| 3 |
from transformers import pipeline
|
|
|
|
| 8 |
class TranscriptionPayload(BaseModel):
|
| 9 |
text: str
|
| 10 |
|
| 11 |
+
# Load summarizer on startup
|
| 12 |
try:
|
| 13 |
summarizer = pipeline(
|
| 14 |
"summarization",
|
|
|
|
| 16 |
torch_dtype=torch.float32,
|
| 17 |
device="cpu",
|
| 18 |
)
|
| 19 |
+
print("✅ Summarizer model loaded successfully")
|
| 20 |
except Exception as e:
|
| 21 |
summarizer = None
|
| 22 |
+
print(f"❌ Error loading summarization model: {e}")
|
| 23 |
|
| 24 |
@app.post("/summarize")
|
| 25 |
async def summarize_text(payload: TranscriptionPayload):
|
| 26 |
if not summarizer:
|
| 27 |
raise HTTPException(status_code=503, detail="Summarizer model is not available.")
|
| 28 |
|
| 29 |
+
summary = summarizer(payload.text, min_length=30, max_length=250, do_sample=False)
|
| 30 |
+
return {"summary": summary[0]['summary_text']}
|
|
|
|
|
|
|
|
|
|
|
|