import streamlit as st from PyPDF2 import PdfReader import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity import streamlit as st from PyPDF2 import PdfReader import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity from gliner import GLiNER import streamlit as st import pandas as pd from PyPDF2 import PdfReader from gliner import GLiNER txt = st.text_area("Job description") data1 = pd.Series(txt, index = ["Job Description"]) st.dataframe(data1) uploaded_files = st.file_uploader( "Choose a PDF file(s) and job description as pdf", accept_multiple_files=True, type="pdf" ) if uploaded_files: all_data = [] # Store dictionaries of text and entities for each PDF for uploaded_file in uploaded_files: try: pdf_reader = PdfReader(uploaded_file) text_data = "" for page in pdf_reader.pages: text_data += page.extract_text() model = GLiNER.from_pretrained("urchade/gliner_base") labels = ["person", "country", "organization", "time", "role"] entities = model.predict_entities(text_data, labels) entity_dict = {} for label in labels: entity_dict[label] = [entity["text"] for entity in entities if entity["label"] == label] data = {"Text": text_data, **entity_dict} all_data.append(data) except Exception as e: st.error(f"Error processing file {uploaded_file.name}: {e}") if all_data: df = pd.DataFrame(all_data) st.dataframe(df)