-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapi.py
64 lines (47 loc) · 1.34 KB
/
api.py
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import os
import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from mount import Swagger
from apps.dev import dev
from apps.sample import sample
from apps.meta import meta
import settings
description = """
这个系统的逻辑是,把图片转成向量,512 维度的向量,512 个 float,一个 float 4字节
所以一个图片生成后的向量是 2048字节
存储在向量数据库里面,向量数据库是内存数据库,等于一个图片要占用 2048 字节
----
生成向量的效率:单核每秒生成5个向量
检索向量的效率:取决于母本量
"""
app = FastAPI(
title='「以图搜图」接口',
debug=settings.API_CONFIG.debug,
docs_url=None,
redoc_url=None,
version=settings.API_CONFIG.version,
description=description
)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
Swagger.doc(app)
@app.get('/')
def root():
return {"message": "Hello World"}
app.include_router(dev)
app.include_router(meta)
app.include_router(sample)
if __name__ == "__main__":
uvicorn.run(
app='api:app',
host="0.0.0.0",
port=settings.API_CONFIG.bind_port,
reload=settings.API_CONFIG.reload,
workers=settings.API_CONFIG.workers_num
)