gaurav22iiserb's picture
Update app.py
97ef835 verified
from flask import Flask, render_template, request, jsonify
import numpy as np
import faiss
from sentence_transformers import SentenceTransformer
import os
import numpy as np
app = Flask(__name__)
# Create a cache directory if it doesn't exist
#cache_dir = '/code/cache' # Or another suitable location
#os.makedirs(cache_dir, exist_ok=True)
indexIVFPQ = faiss.read_index("indexIVFPQ .index")
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('bert-base-nli-mean-tokens')
import json
with open('wiki_entries.json') as json_file:
data = json.load(json_file)
lines=[]
for key in data:
#print(key)
doc=data[key]
for k in doc:
lines.append(doc[k])
@app.route('/')
def home():
return render_template('index.html')
@app.route('/search', methods=['POST'])
def search():
query = request.form['query']
if not query:
return render_template('index.html', error='Query is required')
k = 10
xq = model.encode([query])
D, I = indexIVFPQ .search(xq, k)
line=[]
for i in I[0]:
sen=lines[i]
line.append(sen)
return render_template('index.html', query=query, top_n_docs=line)
if __name__ == '__main__':
app.run(debug=True)