vidhi0405 commited on
Commit
57779c1
·
1 Parent(s): 7014644

only for Image to Text

Browse files
Files changed (1) hide show
  1. app.py +19 -10
app.py CHANGED
@@ -12,7 +12,7 @@ if not _omp_threads.isdigit() or int(_omp_threads) < 1:
12
 
13
  import torch
14
  from dotenv import load_dotenv
15
- from fastapi import FastAPI, File, UploadFile
16
  from fastapi.exceptions import RequestValidationError
17
  from fastapi.responses import JSONResponse
18
  from PIL import Image, UnidentifiedImageError
@@ -354,17 +354,26 @@ def insert_record(collection, payload: dict) -> str:
354
 
355
 
356
  @app.post("/generate-caption")
357
- async def generate_caption(
358
- file: UploadFile | None = File(default=None),
359
- files: list[UploadFile] | None = File(default=None),
360
- ):
361
  _ensure_db_ready()
362
 
363
- uploads = []
364
- if files:
365
- uploads.extend(files)
366
- if file is not None:
367
- uploads.append(file)
 
 
 
 
 
 
 
 
 
 
 
 
368
  if not uploads:
369
  raise AppError("At least one image is required.", 400)
370
  if len(uploads) > MAX_IMAGES:
 
12
 
13
  import torch
14
  from dotenv import load_dotenv
15
+ from fastapi import FastAPI, Request, UploadFile
16
  from fastapi.exceptions import RequestValidationError
17
  from fastapi.responses import JSONResponse
18
  from PIL import Image, UnidentifiedImageError
 
354
 
355
 
356
  @app.post("/generate-caption")
357
+ async def generate_caption(request: Request):
 
 
 
358
  _ensure_db_ready()
359
 
360
+ try:
361
+ form = await request.form()
362
+ except Exception as exc:
363
+ raise AppError("Invalid request payload.", 422) from exc
364
+
365
+ uploads: list[UploadFile] = []
366
+ for key in ("files", "files[]", "file"):
367
+ for value in form.getlist(key):
368
+ if isinstance(value, UploadFile):
369
+ uploads.append(value)
370
+
371
+ # Fallback for clients that send non-standard multipart keys.
372
+ if not uploads:
373
+ for _, value in form.multi_items():
374
+ if isinstance(value, UploadFile):
375
+ uploads.append(value)
376
+
377
  if not uploads:
378
  raise AppError("At least one image is required.", 400)
379
  if len(uploads) > MAX_IMAGES: