main.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from contextlib import asynccontextmanager
  2. from fastapi import FastAPI
  3. from app.api.auth import router as auth_router
  4. from app.api.chat import router as chat_router
  5. from app.api.agent import router as agent_router
  6. from app.api.excel import router as excel_router
  7. from app.api.files import router as files_router
  8. from app.api.report import router as report_router
  9. from app.models.base_model import init_db
  10. from app.task.fetch_agent import sync_agents, initialize_agents
  11. # 使用 Lifespan 事件处理程序
  12. @asynccontextmanager
  13. async def lifespan(app: FastAPI):
  14. # 初始化代理
  15. initialize_agents()
  16. # 在应用启动时同步代理
  17. sync_agents()
  18. yield
  19. # 在应用关闭时执行清理操作(如果需要)
  20. pass
  21. init_db()
  22. app = FastAPI(
  23. title="basic_rag_gateway",
  24. version="0.1",
  25. description="",
  26. lifespan=lifespan
  27. )
  28. app.include_router(auth_router, prefix='/api/auth', tags=["auth"])
  29. app.include_router(chat_router, prefix='/api/chat', tags=["chat"])
  30. app.include_router(agent_router, prefix='/api/agent', tags=["agent"])
  31. app.include_router(excel_router, prefix='/api/document', tags=["document"])
  32. app.include_router(files_router, prefix='/api/files', tags=["files"])
  33. app.include_router(report_router, prefix='/api/report', tags=["report"])
  34. if __name__ == "__main__":
  35. import uvicorn
  36. uvicorn.run(app, host="0.0.0.0", port=9201)