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)