from fastapi import FastAPI, File, UploadFile from fastapi.responses import StreamingResponse import os import io from transformers import pipeline pipe_flan = pipeline("text2text-generation", model="google/flan-t5-small") output = pipe_flan("hi") print(output[0]["generated_text"]) temp = open("model/t.txt","r") app = FastAPI() # Define the directory to store uploaded files UPLOAD_DIR = "/data" @app.on_event("startup") def startup_event(): # Check and create the directory if it doesn't exist os.makedirs(UPLOAD_DIR, exist_ok=True) print("created") @app.get("/") def read_root(): return {"message": temp.read()} @app.post("/uploadfile/") async def create_upload_file(file: UploadFile = File(...)): try: # Save the file with a specific name file_path = os.path.join(UPLOAD_DIR, "inputvoice.mp3") with open(file_path, "wb") as f: f.write(file.file.read()) # Read the content of the saved file with open(file_path, "rb") as f: file_content = f.read() # Return the content as a streaming response return StreamingResponse(io.BytesIO(file_content), media_type="audio/mpeg", headers={"Content-Disposition": "inline; filename=inputvoice.mp3"}) except PermissionError as e: return {"error": f"PermissionError: {str(e)}"}