from fastapi import FastAPI, Request, UploadFile from main import internvl_main import time import uvicorn import asyncio app = FastAPI() @app.post("/internvl") async def index(request: Request, file: UploadFile = None, ): data = await request.json() # print(data) image = data["image"] prompt = data["text"] try: tic = time.time() loop = asyncio.get_event_loop() outer = await loop.run_in_executor(None, internvl_main, image, prompt) outer = {"answer":outer, "status":"success", "time_cost": time.time() - tic} print("outer输出的结果为:", outer) print("生成的长度:", len(outer)) print("总耗时情况:", time.time() - tic) except Exception as e: outer = {"status": "fail", "time_cost": 0} print("error", e) return outer if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8111)