Testing / app.py
1MR's picture
Update app.py
a4f85f3 verified
Raw History Blame Contribute Delete
1.05 kB
from fastapi import FastAPI
from fastapi.responses import JSONResponse
from transformers import pipeline
from fastapi.requests import Request
from pydantic import BaseModel
app = FastAPI()
# Initialize the text generation pipeline
pipe = pipeline("text2text-generation", model="google/flan-t5-small")
@app.middleware("http")
async def log_requests(request: Request, call_next):
print(f"Incoming request: {request.method} {request.url}")
response = await call_next(request)
return response
@app.get("/")
def read_root():
return {
"message": "Welcome to the FastAPI text generation API! Use the /generate endpoint with a 'text' query parameter."
}
class GenerateRequest(BaseModel):
text: str
@app.post("/generate")
def generate(request: GenerateRequest):
try:
output = pipe(request.text)
return {"output": output[0]["generated_text"]}
except Exception as e:
return JSONResponse(
status_code=500,
content={"error": f"An error occurred: {str(e)}"}
)