Spaces:
Running
Running
File size: 1,839 Bytes
a703588 7f07db8 a703588 f9f8d44 dcfa366 a703588 dcfa366 a703588 dcfa366 f9f8d44 dcfa366 5f32ca7 dcfa366 5f32ca7 5ba3309 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
from flask import Flask,request,render_template,send_file,jsonify
import os
from transformers import AutoTokenizer, AutoModel
app=Flask(__name__)
MESSAGED={'title':'Script Server',
'messageL':['script in "script" parameter or field of json input to /run will be run']}
tokenizer = AutoTokenizer.from_pretrained('allenai/specter')
encoder = AutoModel.from_pretrained('allenai/specter')
@app.route('/encode',methods=['GET','POST'])
def encode():
print(request)
if request.method=='GET':
text=request.args.get('text')
elif request.method=='POST':
data=request.get_json()
if 'text' in data: text=data["text"]
if text=='' or text is None: return -1
inputs = tokenizer(text, padding=True, truncation=True,
return_tensors="pt", max_length=512)
result = encoder(**inputs)
embeddings = result.last_hidden_state[:, 0, :]
emb_array = embeddings.detach().numpy()
embedding=emb_array.tolist()
return jsonify({'embedding': embedding})
@app.route("/file/<string:filename>")
def return_file(filename):
return send_file('./data/'+filename)
@app.route('/run',methods=['GET','POST'])
def run_script():
script=''
# print(request.method)
print(request)
if request.method=='GET':
script=request.args.get('script')
print('I am in get')
elif request.method=='POST':
print('I am in post')
data=request.get_json()
if 'script' in data: script=data['script']
if script=='' or script is None: return 'INVALID'
os.system(script+' > ./out.txt')
with open('./out.txt','r') as f: output=f.read()
return output
@app.route('/',methods=['GET', 'POST'])
def home():
return render_template('home.html',messageD=MESSAGED)
if __name__=='__main__':
app.run(host="0.0.0.0", port=7860)
|