File size: 1,156 Bytes
61ccd6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13068dd
61ccd6c
 
 
 
 
 
 
 
 
 
 
 
13068dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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}")