From 0d66471c49eb9c5557bda9f60e3e4ca8760809eb Mon Sep 17 00:00:00 2001 From: ahmed531998 Date: Thu, 30 Mar 2023 20:14:13 +0200 Subject: [PATCH] db_added_in_code --- main.py | 46 +++++++++++++++++++++++++++++++++++++++++++--- requirements.txt | 1 + 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index cb8dee2..0fc3de9 100644 --- a/main.py +++ b/main.py @@ -5,6 +5,7 @@ import faiss import torch from flask import Flask, render_template, request, jsonify from flask_cors import CORS, cross_origin +import psycopg2 import spacy import spacy_transformers import torch @@ -24,12 +25,21 @@ import threading from sentence_transformers import SentenceTransformer + + app = Flask(__name__) #allow frontend address url = os.getenv("FRONTEND_URL_WITH_PORT") cors = CORS(app, resources={r"/predict": {"origins": url}, r"/feedback": {"origins": url}}) #cors = CORS(app, resources={r"/predict": {"origins": "*"}, r"/feedback": {"origins": "*"}}) +conn = psycopg2.connect( + database=os.getenv("POSTGRES_DB"), + user=os.getenv("POSTGRES_USER"), + password=os.getenv("POSTGRES_PASSWORD")) + +cur = conn.cursor() + #rg = ResponseGenerator(index) @@ -85,12 +95,25 @@ def feedback(): data = request.get_json()['feedback'] # Make data frame of above data print(data) - df = pd.DataFrame([data]) - file_exists = os.path.isfile('feedback.csv') + #df = pd.DataFrame([data]) + #file_exists = os.path.isfile('feedback.csv') #df = pd.DataFrame(data=[data['response'], data['length'], data['fluency'], data['truthfulness'], data['usefulness'], data['speed']] # ,columns=['response', 'length', 'fluency', 'truthfulness', 'usefulness', 'speed']) - df.to_csv('feedback.csv', mode='a', index=False, header=(not file_exists)) + #df.to_csv('feedback.csv', mode='a', index=False, header=(not file_exists)) + cur.execute('INSERT INTO feedback (query, history, janet_modified_query, + is_modified_query_correct, user_modified_query, + response, preferred_response, response_length_feedback, + response_fluency_feedback, response_truth_feedback, + response_useful_feedback, response_time_feedback, response_intent)' + 'VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)', + (data['query'], data['history'], data['modQuery'], + data['queryModCorrect'], data['correctQuery'], + data['janetResponse'], data['preferredResponse'], data['length'], + data['fluency'], data['truthfulness'], data['usefulness'], + data['speed'], data['intent']) + ) + reply = jsonify({"status": "done"}) #reply.headers.add('Access-Control-Allow-Origin', '*') return reply @@ -130,4 +153,21 @@ if __name__ == "__main__": dm = DM() rg = ResponseGenerator(index,db,def_generator,def_retriever) threading.Thread(target=recommend, name='recommend').start() + + + cur.execute('CREATE TABLE IF NOT EXISTS feedback (id serial PRIMARY KEY,' + 'query text NOT NULL,' + 'history text NOT NULL,' + 'janet_modified_query text NOT NULL,' + 'is_modified_query_correct text NOT NULL,' + 'user_modified_query text NOT NULL,' + 'response text NOT NULL,' + 'preferred_response text,' + 'response_length_feedback text NOT NULL,' + 'response_fluency_feedback text NOT NULL,' + 'response_truth_feedback text NOT NULL,' + 'response_useful_feedback text NOT NULL,' + 'response_time_feedback text NOT NULL,' + 'response_intent text NOT NULL);' + ) app.run(host='127.0.0.1', port=4000) diff --git a/requirements.txt b/requirements.txt index 72f06d1..13f7bfb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,4 +24,5 @@ torchvision @ https://download.pytorch.org/whl/cu116/torchvision-0.14.1%2Bcu116- tqdm==4.64.1 transformers==4.26.1 markupsafe==2.0.1 +psycopg2==2.9.5 Werkzeug==1.0.1