from sentence_transformers import SentenceTransformer import hnswlib import pandas as pd import gradio as gr model = SentenceTransformer('rufimelo/Legal-SBERTimbau-sts-base') videos_db = pd.read_csv('videos_db.tsv', header=None, names=["id", "title", "thumb"], sep='\t') video_index = hnswlib.Index('cosine', dim=model.get_sentence_embedding_dimension()) video_index.load_index('index.bin') def predict(query): query_embedding = model.encode([query]) i, _ = video_index.knn_query(query_embedding, k=5) code = "" for e in videos_db.iloc[i[0]].values: code += f'' code += "
{e[1]}
" return code demo = gr.Interface(fn=predict, inputs="text", outputs="html") demo.launch()