ai_server.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import asyncio
  2. import logging
  3. logging.basicConfig(
  4. level=logging.INFO,
  5. format='%(asctime)s [%(name)s] %(levelname)s: %(message)s'
  6. )
  7. from contextlib import asynccontextmanager
  8. from fastapi import FastAPI
  9. from route import gpu, file, audio, text, image
  10. import service.ai_task as ai_task
  11. import service.ai_asr as pyasr
  12. logger = logging.getLogger(__name__)
  13. # 获取 uvicorn 的 logger
  14. # logger = logging.getLogger("uvicorn.error")
  15. @asynccontextmanager
  16. async def lifespan(app: FastAPI):
  17. logger.info("🚀 服务已启动...")
  18. asyncio.create_task(pyasr.init_funasr())
  19. await ai_task.start_worker()
  20. yield
  21. logger.info("🛑 服务已停止")
  22. app = FastAPI(title="GPU Worker Server", lifespan=lifespan)
  23. # 挂载子路由
  24. app.include_router(gpu.router)
  25. app.include_router(file.router)
  26. app.include_router(audio.router)
  27. app.include_router(text.router)
  28. app.include_router(image.router)
  29. @app.get("/")
  30. async def root():
  31. return {"message": "Welcome to pyai"}
  32. if __name__ == "__main__":
  33. import uvicorn
  34. uvicorn.run(app, host="0.0.0.0", port=7070)