-
Notifications
You must be signed in to change notification settings - Fork 278
/
Copy pathserver.py
52 lines (35 loc) · 1.4 KB
/
server.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
import sys
sys.path.insert(0, sys.path[0]+"/../")
from api.config import SETTINGS
from api.models import (
app,
EMBEDDING_MODEL,
LLM_ENGINE,
RERANK_MODEL,
)
prefix = SETTINGS.api_prefix
if EMBEDDING_MODEL is not None:
from api.routes.embedding import embedding_router
app.include_router(embedding_router, prefix=prefix, tags=["Embedding"])
try:
from api.routes.file import file_router
app.include_router(file_router, prefix=prefix, tags=["File"])
except ImportError:
pass
if RERANK_MODEL is not None:
from api.routes.rerank import rerank_router
app.include_router(rerank_router, prefix=prefix, tags=["Rerank"])
if LLM_ENGINE is not None:
from api.routes import model_router
app.include_router(model_router, prefix=prefix, tags=["Model"])
if SETTINGS.engine == "vllm":
from api.vllm_routes import chat_router as chat_router
from api.vllm_routes import completion_router as completion_router
else:
from api.routes.chat import chat_router as chat_router
from api.routes.completion import completion_router as completion_router
app.include_router(chat_router, prefix=prefix, tags=["Chat Completion"])
app.include_router(completion_router, prefix=prefix, tags=["Completion"])
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host=SETTINGS.host, port=SETTINGS.port, log_level="info")