Spaces:
Runtime error
Runtime error
from sentence_transformers import SentenceTransformer, util | |
import numpy as np | |
import pandas as pd | |
import gradio as gr | |
#Load the model | |
model = SentenceTransformer('sentence-transformers/msmarco-bert-base-dot-v5') | |
doc_emb = pd.read_excel("proposals_emb.xlsx", usecols=lambda x: str(x).isnumeric()) | |
df = pd.read_excel("proposals_clean.xlsx") | |
def cosine(u, v): | |
res = np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v)) | |
return res | |
def form_link(post_id): | |
return f"https://kusama.polkassembly.io/referenda/{post_id}" | |
def processing(query): | |
query_emb = model.encode(query) | |
print(doc_emb.columns) | |
doc_emb['sim1'] = doc_emb.apply(lambda row: cosine(row, query_emb), axis=1) | |
sim = doc_emb.nlargest(5, 'sim1').index | |
res = df.iloc[sim][['content', 'status']] | |
doc_emb.drop(columns=["sim1"], inplace=True) | |
out = [f"[Proposal #{row[0]}]({form_link(row[0])}) - {row[1]['status']}: {ind+1}" for ind, row in enumerate(res.iterrows())] | |
markdown_string = "" | |
for i in range(len(out)): | |
markdown_string += f"{i+1}. {out[i]}\n" | |
return markdown_string | |
iface = gr.Interface(processing, "text", "markdown") | |
iface.launch() | |