textsynth-complete - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- textsynth-complete (1250B) --- 1 #!/usr/bin/env python 2 # coding=utf-8 3 # 4 # Copy me if you can. 5 # by 20h 6 # 7 8 # Does not work anymore. Mr. Bellard made a company out of it. 9 10 import os 11 import sys 12 import getopt 13 import websocket 14 import time 15 16 def usage(app): 17 app = os.path.basename(app) 18 print("usage: %s [-hr] [-b base] text to complete..." % (app), 19 file=sys.stderr) 20 sys.exit(1) 21 22 def main(args): 23 try: 24 opts, largs = getopt.getopt(args[1:], "hb:r") 25 except getopt.GetoptError as err: 26 print(str(err)) 27 usage(args[0]) 28 29 onlyresult = False 30 31 baseuri = "wss://bellard.org/textsynth/ws" 32 for o, a in opts: 33 if o == "-h": 34 usage(args[0]) 35 elif o == "-r": 36 onlyresult = True 37 else: 38 assert False, "unhandled option" 39 40 if len(largs) < 1: 41 usage(args[0]) 42 txtstr = " ".join(largs) 43 timenow = time.time() * 1000 44 timenowint = round(timenow) 45 seed = (timenowint | 0) + (round(timenow / 4294967296) | 0) 46 reqstr = "g,gpt2_1558M,40,0.9,1,%d,%s" % (seed, txtstr) 47 48 try: 49 ws = websocket.WebSocket() 50 ws.connect(baseuri) 51 ws.send(reqstr) 52 53 rstr = "" 54 while 1: 55 r = ws.recv() 56 if onlyresult == False: 57 print(r) 58 if len(r) == 0: 59 break 60 rstr += r 61 except: 62 return 1 63 64 print("%s%s\n" % (txtstr, rstr)) 65 66 return 0 67 68 if __name__ == "__main__": 69 sys.exit(main(sys.argv)) 70