main.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from fastapi import FastAPI
  2. from fastapi.middleware.cors import CORSMiddleware
  3. from app.routers import users, chat, chat_tools, ai_config, moderation
  4. # 创建FastAPI应用实例
  5. app = FastAPI(title="聊天机器人", version="1.0.0", description="基于fastapi+VUE的聊天机器人")
  6. # 添加CORS中间件,允许前端跨域访问
  7. app.add_middleware(
  8. CORSMiddleware,
  9. allow_origins=["*"], # 生产环境建议指定具体域名
  10. allow_credentials=True,
  11. allow_methods=["*"],
  12. allow_headers=["*"],
  13. )
  14. # 包含用户路由模块
  15. # prefix: 为该路由模块添加URL前缀,所有用户相关路由都会以/users开头
  16. # tags: 在API文档中用于分组显示,便于组织和查看
  17. app.include_router(users.router, prefix="/main/users", tags=["用户管理"])
  18. app.include_router(chat.router, prefix="/main/chat", tags=["聊天管理"])
  19. app.include_router(chat_tools.router, prefix="/main/chatTools", tags=["AI工具管理"])
  20. app.include_router(ai_config.router, prefix="/main/aiConfig", tags=["AI配置管理"])
  21. app.include_router(moderation.router, prefix="/main/moderation", tags=["内容审核"])
  22. # ==================== 应用启动配置 ====================
  23. if __name__ == "__main__":
  24. import uvicorn
  25. # 打印启动信息
  26. print("=" * 50)
  27. print("聊天机器人服务启动中...")
  28. print("=" * 50)
  29. print(f"Web界面: http://localhost:8000")
  30. print(f"API文档: http://localhost:8000/docs")
  31. print("=" * 50)
  32. # 启动服务器
  33. uvicorn.run(
  34. "main:app", # 应用模块路径
  35. host="0.0.0.0", # 监听所有网络接口
  36. port=8000, # 端口号
  37. # reload=True, # 开发模式热重载
  38. workers=2,
  39. log_level="info" # 日志级别
  40. )