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) diff --git a/dsLightRag/Test/T1_WriteToPg.py b/dsLightRag/Test/T1_WriteToPg.py index 5357392e..0eb4bcde 100644 --- a/dsLightRag/Test/T1_WriteToPg.py +++ b/dsLightRag/Test/T1_WriteToPg.py @@ -1,13 +1,7 @@ import asyncio import logging -import os -from lightrag import LightRAG -from lightrag.kg.shared_storage import initialize_pipeline_status -from lightrag.utils import EmbeddingFunc - -from Config.Config import EMBED_DIM, EMBED_MAX_TOKEN_SIZE, LLM_MODEL_NAME -from Util.LightRagUtil import embedding_func, llm_model_func, initialize_pg_rag +from Util.LightRagUtil import initialize_pg_rag # 在程序开始时添加以下配置 logging.basicConfig( diff --git a/dsLightRag/Test/T2_ReadFromPg.py b/dsLightRag/Test/T2_ReadFromPg.py index 40df6a81..bb31a6e7 100644 --- a/dsLightRag/Test/T2_ReadFromPg.py +++ b/dsLightRag/Test/T2_ReadFromPg.py @@ -1,14 +1,10 @@ import asyncio import inspect import logging -import os -from lightrag import QueryParam, LightRAG -from lightrag.kg.shared_storage import initialize_pipeline_status -from lightrag.utils import EmbeddingFunc +from lightrag import QueryParam -from Config.Config import LLM_MODEL_NAME, EMBED_DIM, EMBED_MAX_TOKEN_SIZE -from Util.LightRagUtil import configure_logging, print_stream, llm_model_func, embedding_func, initialize_pg_rag +from Util.LightRagUtil import configure_logging, print_stream, initialize_pg_rag # 在程序开始时添加以下配置 logging.basicConfig( diff --git a/dsLightRag/Util/LightRagUtil.py b/dsLightRag/Util/LightRagUtil.py index d020de2a..ab487359 100644 --- a/dsLightRag/Util/LightRagUtil.py +++ b/dsLightRag/Util/LightRagUtil.py @@ -1,9 +1,7 @@ import logging import logging.config import os - import numpy as np - from lightrag import LightRAG from lightrag.kg.shared_storage import initialize_pipeline_status from lightrag.llm.openai import openai_complete_if_cache, openai_embed