You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3 KiB
Python

#!/usr/bin/env python3
from transformers import pipeline
import sys
import socket
import os
def main():
#socket_addr = '/mnt/d/devel/hotpulp/hp'
socket_addr = '/home/panki/hp'
try:
os.unlink(socket_addr)
except:
if os.path.exists(socket_addr):
raise
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.bind(socket_addr)
s.listen(1)
print('Socket ready: Listening on {}'.format(socket_addr))
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
print('Summarizer ready')
while True:
connection, client_address = s.accept()
try:
buffer = ''
rcvd_bytes = 0
while True:
data = connection.recv(1024)
rcvd_bytes = rcvd_bytes + len(data)
if not data:
print('Finished receiving data, processing...')
break
buffer = buffer + str(data)
buffer = buffer[:-1].rstrip('\x00')
try:
print(summarizer(buffer, max_length=500, min_length=100, do_sample=False))
except IndexError:
print("ERROR: Input too large!")
finally:
connection.close()
print('Connection closed')
if __name__ == '__main__':
main()