From 3802eb419b98e80d09c7edaf50fbc43a609a8529 Mon Sep 17 00:00:00 2001 From: "Kalman.CHENG" <123204464@qq.com> Date: Fri, 11 Jul 2025 16:30:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=99=E8=82=B2=E5=9E=82=E7=9B=B4=E9=A2=86?= =?UTF-8?q?=E5=9F=9F=E5=A4=A7=E6=A8=A1=E5=9E=8B=E5=B9=B3=E5=8F=B0=20add=20?= =?UTF-8?q?by=20Kalman.CHENG=20=E2=98=86=20At=202025-07-11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dsAiTeachingModel/main.py | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 dsAiTeachingModel/main.py diff --git a/dsAiTeachingModel/main.py b/dsAiTeachingModel/main.py new file mode 100644 index 00000000..18a578f1 --- /dev/null +++ b/dsAiTeachingModel/main.py @@ -0,0 +1,59 @@ +import threading +import logging +import uvicorn + +from fastapi.middleware.cors import CORSMiddleware +from starlette.staticfiles import StaticFiles +from tasks.BackgroundTasks import train_document_task +from fastapi import FastAPI +from utils.Database import * + +# 导入路由 +from routes import * + +# 在程序开始时添加以下配置 +logging.basicConfig( + level=logging.INFO, # 设置日志级别为INFO + format='%(asctime)s - %(levelname)s - %(message)s' +) + +async def lifespan(app: FastAPI): + # 启动线程 + thread = threading.Thread(target=train_document_task, daemon=True) + thread.start() + # 创建数据库连接池 + await init_database() + yield + await shutdown_database() + +app = FastAPI(lifespan=lifespan) + +# 配置FastAPI支持CORS +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"] +) + +# 挂载静态文件目录 +app.mount("/static", StaticFiles(directory="Static"), name="static") + +# 注册路由 +# 登录相关 +app.include_router(login_router, prefix="/api/login", tags=["login"]) +# 主题相关 +app.include_router(theme_router, prefix="/api/theme", tags=["theme"]) +# 文档相关 +app.include_router(document_router, prefix="/api/document", tags=["document"]) +# 问题相关(大模型应用) +app.include_router(question_router, prefix="/api/question", tags=["question"]) +# 字典相关(Dm) +app.include_router(dm_router, prefix="/api/dm", tags=["dm"]) +# 测试相关 +# app.include_router(test_router, prefix="/api/test", tags=["test"]) + + +if __name__ == "__main__": + uvicorn.run(app, host="0.0.0.0", port=8888)