Spaces:
Runtime error
Runtime error
import os | |
os.system('pip install openpyxl') | |
os.system('pip install sentence-transformers') | |
import pandas as pd | |
import gradio as gr | |
from sentence_transformers import SentenceTransformer | |
model = SentenceTransformer('all-mpnet-base-v2') #all-MiniLM-L6-v2 #all-mpnet-base-v2 | |
df = pd.read_parquet('df_encoded.parquet') | |
df.columns = [['name', 'description', 'year', 'target', 'size', 'stage', 'raised', 'tags', 'text_vector_']] | |
#if parsing from a parquet, I have a list of array that does not want to get changed | |
df_knn = [x[0].tolist() for x in df['text_vector_'].values.tolist()] | |
df = df.reset_index(drop=True) | |
from sklearn.neighbors import NearestNeighbors | |
import numpy as np | |
import pandas as pd | |
from sentence_transformers import SentenceTransformer | |
#prepare model | |
nbrs = NearestNeighbors(n_neighbors=20, algorithm='ball_tree').fit(df_knn) | |
def search(query): | |
product = model.encode(query).tolist() | |
# product = df.iloc[0]['text_vector_'] #use one of the products as sample | |
distances, indices = nbrs.kneighbors([product]) #input the vector of the reference object | |
#print out the description of every recommended product | |
return df.iloc[list(indices)[0]][['name', 'description', 'year', 'target', 'size', 'stage', 'raised', 'tags']] | |
#the first module becomes text1, the second module file1 | |
def greet(text1): | |
return search(text1) | |
iface = gr.Interface( | |
fn=greet, | |
inputs=['text'], | |
outputs=["dataframe"] | |
) | |
iface.launch(share=False) |