Michelangiolo commited on
Commit
4e74356
1 Parent(s): 5aa5cec

first push

Browse files
Files changed (2) hide show
  1. app.py +38 -0
  2. df_encoded.parquet +3 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.system('pip install openpyxl')
3
+ os.system('pip install sentence-transformers')
4
+ import pandas as pd
5
+ import gradio as gr
6
+ from sentence_transformers import SentenceTransformer
7
+
8
+ model = SentenceTransformer('all-mpnet-base-v2') #all-MiniLM-L6-v2 #all-mpnet-base-v2
9
+
10
+ df = pd.read_parquet('df_encoded.parquet')
11
+ df.columns = [['name', 'description', 'year', 'target', 'size', 'stage', 'raised', 'tags', 'text_vector_']]
12
+ #if parsing from a parquet, I have a list of array that does not want to get changed
13
+ df_knn = [x[0].tolist() for x in df['text_vector_'].values.tolist()]
14
+ df = df.reset_index(drop=True)
15
+
16
+ from sklearn.neighbors import NearestNeighbors
17
+ import numpy as np
18
+ import pandas as pd
19
+ from sentence_transformers import SentenceTransformer
20
+
21
+ #prepare model
22
+ nbrs = NearestNeighbors(n_neighbors=5, algorithm='ball_tree').fit(df_knn)
23
+
24
+ def search(query):
25
+ product = model.encode(query).tolist()
26
+ # product = df.iloc[0]['text_vector_'] #use one of the products as sample
27
+
28
+ distances, indices = nbrs.kneighbors([product]) #input the vector of the reference object
29
+
30
+ #print out the description of every recommended product
31
+ return df.iloc[list(indices)[0]][['name', 'description', 'year', 'target', 'size', 'stage', 'raised', 'tags']]
32
+
33
+ #the first module becomes text1, the second module file1
34
+ def greet(text1):
35
+ return search(text1)
36
+
37
+ iface = gr.Interface(fn=greet, inputs=['text'], outputs=["dataframe"])
38
+ iface.launch(share=False)
df_encoded.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0f3ea0cc9455a2bb2a2ee793b9588e85c5df7ad4e9e04e363d45747092e93422
3
+ size 24419137