Spaces:
Running
Running
import streamlit as st | |
import torch | |
from sentence_transformers import SentenceTransformer, util | |
embedder = SentenceTransformer('all-mpnet-base-v2') | |
st.title("iSeBetter: Semantic Issue Transformer") | |
st.caption("Empower Developers with Advanced AI Issue Resolution") | |
st.markdown('#') | |
st.subheader("Search for Similar Issues") | |
form = st.form("Search for Similar Issues") | |
text_input = form.text_area("Please enter the issue details", | |
help="Title and description of the issue could be a good start!") | |
if form.form_submit_button("Run Inference"): | |
# Perform semantic search | |
query_embedding = embedder.encode(text_input, convert_to_tensor=True) | |
corpus_embeddings = torch.load('saved_corpus.pt') | |
corpus_embeddings_name = torch.load('saved_corpus_list.txt') | |
cos_scores = util.cos_sim(query_embedding, corpus_embeddings)[0] | |
top_results = torch.topk(cos_scores, k=5) | |
st.markdown('#') | |
# Display results | |
st.subheader("Top 5 Similar Issues") | |
for score, idx in zip(top_results[0], top_results[1]): | |
st.progress(score.item(), f"Issue: {corpus_embeddings_name[idx]}, Score: {score:.4f}") | |