Spaces:
Running
Running
from flask import Flask,request,render_template,send_file,jsonify | |
import os | |
from transformers import AutoTokenizer, AutoModel | |
import anvil.server | |
import pathlib | |
import textwrap | |
import google.generativeai as genai | |
anvil.server.connect('PLMOIU5VCGGUOJH2XORIBWV3-ZXZVFLWX7QFIIAF4') | |
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') | |
GOOGLE_API_KEY=os.genenv('GOOGLE_API_KEY') | |
genai.configure(api_key=GOOGLE_API_KEY) | |
def call_gemini(text): | |
model = genai.GenerativeModel('gemini-pro') | |
response = model.generate_content(text) | |
return response | |
def encode_anvil(text): | |
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 embedding | |
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}) | |
def return_file(filename): | |
return send_file('./data/'+filename) | |
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 | |
def home(): | |
return render_template('home.html',messageD=MESSAGED) | |
if __name__=='__main__': | |
app.run(host="0.0.0.0", port=7860) | |