| import pickle |
| from flask import Flask, request, jsonify |
| from huggingface_hub import hf_hub_download |
|
|
| |
| app = Flask(__name__) |
|
|
| |
| |
| MODEL_REPO_ID = "TheOCEAN/My_Text_Summarizer" |
| PICKLE_FILENAME = "summarization_model.pkl" |
|
|
| summarizer_pipeline = None |
| print("Attempting to load model...") |
|
|
| try: |
| |
| model_path = hf_hub_download(repo_id=MODEL_REPO_ID, filename=PICKLE_FILENAME) |
|
|
| with open(model_path, 'rb') as f: |
| |
| summarizer_pipeline = pickle.load(f) |
| print("✅ Model pipeline loaded successfully.") |
|
|
| except Exception as e: |
| print(f"❌ Error loading model from repository: {e}") |
|
|
|
|
| |
| @app.route('/summarize', methods=['POST']) |
| def summarize_endpoint(): |
| if not summarizer_pipeline: |
| return jsonify({'error': 'Model is not available or failed to load.'}), 500 |
|
|
| try: |
| json_data = request.get_json() |
| text = json_data.get('text', '') |
|
|
| if not text: |
| return jsonify({'error': 'No text provided in the request.'}), 400 |
|
|
| |
| |
| summary = summarizer_pipeline(text) |
|
|
| return jsonify({'summary': summary}) |
|
|
| except Exception as e: |
| print(f"An error occurred during summarization: {e}") |
| return jsonify({'error': 'Failed to process the summarization request.'}), 500 |
|
|
| |
| @app.route('/') |
| def home(): |
| return "Hugging Face Summarizer API is running fine." |