Update app.py
Browse files
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
|
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 |
-
|
34 |
-
|
35 |
-
|
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 |
|