-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
22 lines (17 loc) · 743 Bytes
/
app.py
File metadata and controls
22 lines (17 loc) · 743 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from flask import Flask, request, jsonify
from transformers import pipeline
import re
app = Flask(__name__)
summarizer = pipeline('summarization', model='t5-small')
@app.route('/summarize', methods=['POST'])
def summarize_text():
data = request.get_json()
text = data['text']
summary_size = data['summary_size']
result = summarizer(text, max_length=summary_size, min_length=summary_size // 2, do_sample=False)
summary = result[0]['summary_text']
sentences = re.split(r'(?<!\w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)\s', summary)
summary = '\n'.join(['• ' + sentence.capitalize() for sentence in sentences])
return jsonify({'summary': summary })
if __name__ == '__main__':
app.run(debug=True, port=5000)