|
from flask import Flask |
|
from flask import request |
|
from flask import render_template |
|
from flask import redirect |
|
from flask import jsonify |
|
from flask import send_from_directory |
|
import json |
|
import numpy as np |
|
from numpy.linalg import norm |
|
import datetime |
|
import tensorflow as tf |
|
import tensorflow_hub as hub |
|
import tensorflow_text |
|
from functools import wraps |
|
import os |
|
import pickle |
|
import openai |
|
import requests, zipfile, io |
|
model_url = "./hub_model/" |
|
hub_layer = hub.load(model_url) |
|
|
|
word=np.load('./static/encodedT.npy',allow_pickle=True) |
|
with open ('./static/textT', 'rb') as fp: |
|
text = pickle.load(fp) |
|
|
|
|
|
app = Flask(__name__) |
|
|
|
link=os.environ.get('link') |
|
|
|
r = requests.get(link) |
|
z = zipfile.ZipFile(io.BytesIO(r.content)) |
|
z.extractall("moduli") |
|
from moduli import pdfricerca |
|
|
|
def support_jsonp(func): |
|
"""Wraps JSONified output for JSONP requests.""" |
|
@wraps(func) |
|
def decorated_function(*args, **kwargs): |
|
callback = request.args.get('callback', False) |
|
if callback: |
|
resp = func(*args, **kwargs) |
|
resp.set_data('{}({})'.format( |
|
str(callback), |
|
resp.get_data(as_text=True) |
|
)) |
|
resp.mimetype = 'application/javascript' |
|
return resp |
|
else: |
|
return func(*args, **kwargs) |
|
return decorated_function |
|
|
|
@app.route("/") |
|
def flask_app(): |
|
return '<br>' \ |
|
'<h3><a href="https://www.aubaypoc.altervista.org/chatpdf/" target="_blank">Hai acceso il server! Bene!😉 Adesso vai alla pagina CHAT whith my PDF!!</a></h3>' \ |
|
|
|
|
|
|
|
@app.route('/requestsSearch',methods=['POST','GET']) |
|
@support_jsonp |
|
def tasksSearch(): |
|
domanda=request.args.get('frase').strip() |
|
print('domanda',domanda) |
|
dati=[] |
|
w,out=pdfricerca.ricerca(domanda,word,text,hub_layer) |
|
d={} |
|
d['text']=str(w) |
|
d['chi']=out |
|
dati.append(d) |
|
output=dati |
|
response = jsonify(output) |
|
return response |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
app.run(host='0.0.0.0', port=7860) |