nlpblogs commited on
Commit
23fd868
·
verified ·
1 Parent(s): cff9091

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -10
app.py CHANGED
@@ -13,32 +13,42 @@ from sklearn.metrics.pairwise import cosine_similarity
13
  from gliner import GLiNER
14
 
15
 
 
 
 
 
 
16
  uploaded_files = st.file_uploader(
17
- "Choose a PDF file(s) and job description as pdf", accept_multiple_files=True, type = "pdf"
18
  )
19
 
20
- all_resumes = [] # Store the text content of each PDF
21
-
22
  if uploaded_files:
 
23
  for i, uploaded_file in enumerate(uploaded_files):
24
  try:
25
  pdf_reader = PdfReader(uploaded_file)
26
  text_data = ""
27
  for page in pdf_reader.pages:
28
  text_data += page.extract_text()
29
- model = GLiNER.from_pretrained("xomad/gliner-model-merge-large-v1.0")
30
- labels = ["person", "country", "city", "organization", "date", "money", "percent value", "position"]
31
- entities = model.predict_entities(text_data, labels)
32
 
33
- column_name = f"Candidate profile {i + 1}"
34
- resumes = pd.Series({column_name: entities})
35
- st.dataframe(resumes)
36
 
37
-
 
 
 
 
 
38
 
39
  except Exception as e:
40
  st.error(f"Error processing file {uploaded_file.name}: {e}")
41
 
 
 
 
 
42
 
43
 
44
 
 
13
  from gliner import GLiNER
14
 
15
 
16
+ import streamlit as st
17
+ import pandas as pd
18
+ from PyPDF2 import PdfReader
19
+ from gliner import GLiNER
20
+
21
  uploaded_files = st.file_uploader(
22
+ "Choose a PDF file(s) and job description as pdf", accept_multiple_files=True, type="pdf"
23
  )
24
 
 
 
25
  if uploaded_files:
26
+ all_data = [] # Store dictionaries of text and entities for each PDF
27
  for i, uploaded_file in enumerate(uploaded_files):
28
  try:
29
  pdf_reader = PdfReader(uploaded_file)
30
  text_data = ""
31
  for page in pdf_reader.pages:
32
  text_data += page.extract_text()
 
 
 
33
 
34
+ model = GLiNER.from_pretrained("xomad/gliner-model-merge-large-v1.0")
35
+ labels = ["person", "country", "city", "organization", "date", "money", "percent value", "position"]
36
+ entities = model.predict_entities(text_data, labels)
37
 
38
+ entity_dict = {}
39
+ for label in labels:
40
+ entity_dict[label] = [entity["text"] for entity in entities if entity["label"] == label]
41
+
42
+ data = {"Text": text_data, **entity_dict}
43
+ all_data.append(data)
44
 
45
  except Exception as e:
46
  st.error(f"Error processing file {uploaded_file.name}: {e}")
47
 
48
+ if all_data:
49
+ df = pd.DataFrame(all_data)
50
+ st.dataframe(df)
51
+
52
 
53
 
54