main.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from fastapi import FastAPI, Depends
  2. from fastapi.routing import APIRoute
  3. from fastapi.middleware.cors import CORSMiddleware
  4. from apps.web.routers import (
  5. auths,
  6. users,
  7. chats,
  8. documents,
  9. modelfiles,
  10. prompts,
  11. configs,
  12. utils,
  13. )
  14. from config import WEBUI_VERSION, WEBUI_AUTH, DEFAULT_MODELS, DEFAULT_PROMPT_SUGGESTIONS, ENABLE_SIGNUP
  15. app = FastAPI()
  16. origins = ["*"]
  17. app.state.ENABLE_SIGNUP = ENABLE_SIGNUP
  18. app.state.DEFAULT_MODELS = DEFAULT_MODELS
  19. app.state.DEFAULT_PROMPT_SUGGESTIONS = DEFAULT_PROMPT_SUGGESTIONS
  20. app.add_middleware(
  21. CORSMiddleware,
  22. allow_origins=origins,
  23. allow_credentials=True,
  24. allow_methods=["*"],
  25. allow_headers=["*"],
  26. )
  27. app.include_router(auths.router, prefix="/auths", tags=["auths"])
  28. app.include_router(users.router, prefix="/users", tags=["users"])
  29. app.include_router(chats.router, prefix="/chats", tags=["chats"])
  30. app.include_router(documents.router, prefix="/documents", tags=["documents"])
  31. app.include_router(modelfiles.router, prefix="/modelfiles", tags=["modelfiles"])
  32. app.include_router(prompts.router, prefix="/prompts", tags=["prompts"])
  33. app.include_router(configs.router, prefix="/configs", tags=["configs"])
  34. app.include_router(utils.router, prefix="/utils", tags=["utils"])
  35. @app.get("/")
  36. async def get_status():
  37. return {
  38. "status": True,
  39. "version": WEBUI_VERSION,
  40. "auth": WEBUI_AUTH,
  41. "default_models": app.state.DEFAULT_MODELS,
  42. "default_prompt_suggestions": app.state.DEFAULT_PROMPT_SUGGESTIONS,
  43. }