gaurav22iiserb commited on
Commit
668af3c
·
1 Parent(s): 832e27b

first commit

Browse files
Files changed (3) hide show
  1. Dockerfile +11 -0
  2. app.py +48 -0
  3. requirments.txt +19 -0
Dockerfile ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+
3
+ WORKDIR /code
4
+
5
+ COPY ./requirements.txt /code/requirements.txt
6
+
7
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
8
+
9
+ COPY . .
10
+
11
+ CMD ["gunicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, render_template, request, jsonify
2
+ import numpy as np
3
+ import faiss
4
+ from sentence_transformers import SentenceTransformer
5
+ import os
6
+ import numpy as np
7
+
8
+
9
+ app = Flask(__name__)
10
+
11
+
12
+ indexIVFPQ = faiss.read_index("indexIVFPQ .index")
13
+
14
+ from sentence_transformers import SentenceTransformer
15
+ model = SentenceTransformer('bert-base-nli-mean-tokens')
16
+
17
+ import json
18
+ with open('wiki_entries.json') as json_file:
19
+ data = json.load(json_file)
20
+ lines=[]
21
+ for key in data:
22
+ #print(key)
23
+ doc=data[key]
24
+ for k in doc:
25
+ lines.append(doc[k])
26
+
27
+
28
+ @app.route('/')
29
+ def home():
30
+ return render_template('index.html')
31
+
32
+ @app.route('/search', methods=['POST'])
33
+ def search():
34
+ query = request.form['query']
35
+
36
+ if not query:
37
+ return render_template('index.html', error='Query is required')
38
+ k = 10
39
+ xq = model.encode([query])
40
+ D, I = indexIVFPQ .search(xq, k)
41
+ line=[]
42
+ for i in I[0]:
43
+ sen=lines[i]
44
+ line.append(sen)
45
+ return render_template('index.html', query=query, top_n_docs=line)
46
+
47
+ if __name__ == '__main__':
48
+ app.run(debug=True)
requirments.txt ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ blinker==1.7.0
2
+ click==8.1.7
3
+ faiss-cpu==1.8.0
4
+ Flask==3.0.2
5
+ gensim==4.3.2
6
+ itsdangerous==2.1.2
7
+ Jinja2==3.1.3
8
+ MarkupSafe==2.1.5
9
+ numpy==1.26.4
10
+ pandas==2.2.0
11
+ python-dateutil==2.8.2
12
+ pytz==2024.1
13
+ rank-bm25==0.2.2
14
+ scipy==1.12.0
15
+ six==1.16.0
16
+ smart-open==6.4.0
17
+ tzdata==2023.4
18
+ Werkzeug==3.0.1
19
+ sentence_transformers