from flask import Flask, request, jsonify import torch from minilm_keyword_pred import predict_on_text device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") print('dev', device) app = Flask(__name__) @app.route('/get_keywords', methods=['POST']) def get_keywords(): text = request.json.get('text', '') if not text: return jsonify({"error": "The 'text' field is required."}), 400 groups = predict_on_text(text)['predicted_groups_with_scores'] groups = [{'keyword': x[0], 'score': float(x[1])} for x in groups] return jsonify(groups) if __name__ == "__main__": app.run(host="0.0.0.0", port=14005, debug=True, use_reloader=False)