From 0fdc313d69ace003366ab519714158343d178acc Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期一, 25 十一月 2024 10:45:12 +0800 Subject: [PATCH] dify --- main.py | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 62 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index 70d19c0..2af3a01 100644 --- a/main.py +++ b/main.py @@ -1,21 +1,76 @@ +from contextlib import asynccontextmanager +# from apscheduler.schedulers.background import BackgroundScheduler from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware + from app.api.auth import router as auth_router +from app.api.canvas import canvas_router from app.api.chat import router as chat_router from app.api.agent import router as agent_router +from app.api.dialog import dialog_router from app.api.excel import router as excel_router +from app.api.files import router as files_router +from app.api.knowledge import knowledge_router +from app.api.organization import dept_router +from app.api.report import router as report_router +from app.api.resource import menu_router +from app.api.sync_data import sync_router +from app.api.user import user_router +from app.api.group import group_router +from app.api.role import role_router from app.models.base_model import init_db +from app.task.fetch_agent import sync_agents, initialize_agents +from app.task.sync_resources import sync_resource + + +# 浣跨敤 Lifespan 浜嬩欢澶勭悊绋嬪簭 +@asynccontextmanager +async def lifespan(app: FastAPI): + # 鍒濆鍖栦唬鐞� + initialize_agents() + # 鍦ㄥ簲鐢ㄥ惎鍔ㄦ椂鍚屾浠g悊 + sync_agents() + yield + # 鍦ㄥ簲鐢ㄥ叧闂椂鎵ц娓呯悊鎿嶄綔锛堝鏋滈渶瑕侊級 + pass init_db() app = FastAPI( - title="basic_rag_gateway", - version="0.1", - description="", + title="basic_rag_gateway", + version="0.1", + description="", + lifespan=lifespan ) -app.include_router(auth_router, prefix='/auth', tags=["auth"]) -app.include_router(chat_router, prefix='/chat', tags=["chat"]) -app.include_router(agent_router, prefix='/agent', tags=["agent"]) -app.include_router(excel_router, prefix='/document', tags=["document"]) +# 璁剧疆 CORS 涓棿浠� +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], # 鍏佽鎵�鏈夊煙鍚嶈法鍩熻闂� + allow_credentials=True, + allow_methods=["*"], # 鍏佽鎵�鏈夋柟娉� + allow_headers=["*"], # 鍏佽鎵�鏈夊ご閮� +) +# 鍒涘缓璋冨害鍣� +# scheduler = BackgroundScheduler() +# scheduler.add_job(sync_resource, 'interval', minutes=1, id="sync_resource_data") +# scheduler.start() + + +app.include_router(auth_router, prefix='/api/auth', tags=["auth"]) +app.include_router(chat_router, prefix='/api/chat', tags=["chat"]) +app.include_router(agent_router, prefix='/api/agent', tags=["agent"]) +app.include_router(excel_router, prefix='/api/document', tags=["document"]) +app.include_router(files_router, prefix='/api/files', tags=["files"]) +app.include_router(report_router, prefix='/api/report', tags=["report"]) +app.include_router(user_router, prefix='/api/user', tags=["user"]) +app.include_router(group_router, prefix='/api/group', tags=["group"]) +app.include_router(role_router, prefix='/api/role', tags=["role"]) +app.include_router(dept_router, prefix='/api/dept', tags=["dept"]) +app.include_router(menu_router, prefix='/api/menu', tags=["menu"]) +app.include_router(knowledge_router, prefix='/api/knowledge', tags=["knowledge"]) +app.include_router(dialog_router, prefix='/api/dialog', tags=["dialog"]) +app.include_router(canvas_router, prefix='/api/canvas', tags=["canvas"]) +app.include_router(sync_router, prefix='/api/sync', tags=["sync"]) if __name__ == "__main__": import uvicorn -- Gitblit v1.8.0