app.py 1.0 KB

12345678910111213141516171819202122232425262728
  1. from flask import Flask, jsonify, request
  2. from watermark_verify.exceptions import BusinessException
  3. from watermark_verify import verify_tool
  4. def create_app():
  5. app = Flask(__name__)
  6. @app.errorhandler(BusinessException)
  7. def handle_business_exception(ex):
  8. """处理业务异常,返回JSON提示"""
  9. return jsonify({"message": ex.message, 'code': ex.code}), 500
  10. @app.route("/decrypt_model", methods=['POST'])
  11. def decrypt_model():
  12. # TODO 根据工标需要进行HTTP接口开发
  13. data = request.json
  14. model_filename = data.get('model_filename') # 模型权重文件位置
  15. framework = data.get('framework', 'pytorch')
  16. mode = data.get('mode', 'blackbox')
  17. model_type = data.get('model_type', 'ssd')
  18. result = verify_tool.label_verification(model_filename=model_filename, framework=framework, mode=mode, model_type=model_type)
  19. print(f"模型水印检测结果: {result}")
  20. return jsonify({"result": result})
  21. return app