-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodel_service.py
More file actions
51 lines (43 loc) · 1.63 KB
/
Copy pathmodel_service.py
File metadata and controls
51 lines (43 loc) · 1.63 KB
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
"""
模型推理服务 - 子服务启动脚本
加载所有模型并提供原生 llama.cpp API
"""
import uvicorn
from llama_cpp.server.app import create_app
from llama_cpp.server.settings import ServerSettings
from core.config import config
from core.model_loader import model_loader
if __name__ == "__main__":
# 读取并创建所有模型配置
model_settings = model_loader.create_model_settings()
if not model_settings:
print("❌ 没有可用的模型,请先通过主服务下载模型")
print(f"📖 主服务地址: http://{config.MAIN_SERVER_HOST}:{config.MAIN_SERVER_PORT}")
print(" 使用 POST /models/download/start 接口异步下载模型")
exit(1)
# 配置子服务设置
server_settings = ServerSettings(
host=config.MODEL_SERVER_HOST,
port=config.MODEL_SERVER_PORT,
api_key=None,
interrupt_requests=True,
)
# 创建原生 llama.cpp 应用(不添加任何自定义路由)
app = create_app(
server_settings=server_settings,
model_settings=model_settings,
)
# 打印启动信息
print(f"🚀 启动模型推理服务...")
print(f"📍 地址: http://{server_settings.host}:{server_settings.port}")
print(f"📚 已加载 {len(model_settings)} 个模型:")
for model in model_settings:
print(f" - {model.model_alias}: {model.model}")
print(f"📖 API文档: http://{server_settings.host}:{server_settings.port}/docs")
# 启动服务
uvicorn.run(
app,
host=server_settings.host,
port=server_settings.port,
log_level="info"
)