File size: 918 Bytes
33e6c70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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)