web.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: web.py
  6. @date:2025/11/5 15:14
  7. @desc:
  8. """
  9. import builtins
  10. import os
  11. import sys
  12. from django.core.wsgi import get_wsgi_application
  13. class TorchBlocker:
  14. def __init__(self):
  15. self.original_import = builtins.__import__
  16. def __call__(self, name, *args, **kwargs):
  17. if len([True for i in
  18. ['torch']
  19. if
  20. i in name.lower()]) > 0:
  21. import types
  22. return types.ModuleType(name)
  23. else:
  24. return self.original_import(name, *args, **kwargs)
  25. # 安装导入拦截器
  26. builtins.__import__ = TorchBlocker()
  27. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'maxkb.settings')
  28. os.environ['TIKTOKEN_CACHE_DIR'] = '/opt/maxkb-app/model/tokenizer/openai-tiktoken-cl100k-base'
  29. application = get_wsgi_application()
  30. def post_handler():
  31. from common.database_model_manage.database_model_manage import DatabaseModelManage
  32. from common import event
  33. from common.init import init_template
  34. event.run()
  35. DatabaseModelManage.init()
  36. init_template.run()
  37. # 启动后处理函数
  38. post_handler()