Spaces:
Running
Running
Update with adding cvs afterwards
Browse files
app.py
CHANGED
|
@@ -167,6 +167,8 @@ if "pdf_data_cvs" not in st.session_state:
|
|
| 167 |
st.session_state["pdf_data_cvs"] = None
|
| 168 |
if "pdf_data_cvs_string" not in st.session_state:
|
| 169 |
st.session_state["pdf_data_cvs_string"] = None
|
|
|
|
|
|
|
| 170 |
if "pdf_data_jobdescription" not in st.session_state:
|
| 171 |
st.session_state["pdf_data_jobdescription"] = None
|
| 172 |
if "pdf_data_jobdescription_string" not in st.session_state:
|
|
@@ -211,6 +213,7 @@ with st.container():
|
|
| 211 |
pdf_data_cvs_string = ""
|
| 212 |
for i,cv in enumerate(st.session_state["cvs"]):
|
| 213 |
print(cv.name)
|
|
|
|
| 214 |
# print(cv.name)
|
| 215 |
# print(cv.size)
|
| 216 |
cv_data_bytes = cv.read()
|
|
@@ -226,8 +229,36 @@ with st.container():
|
|
| 226 |
st.session_state["pdf_data_cvs_string"] = pdf_data_cvs_string
|
| 227 |
st.session_state["pdf_data_jobdescription"] = pdf_data_jobdescription
|
| 228 |
st.session_state["pdf_data_jobdescription_string"] = pdf_data_jobdescription_string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 229 |
pre_generate = st.toggle("Activate to pre generate questions", key="pre_toggle")
|
| 230 |
if pre_generate:
|
|
|
|
| 231 |
system = sys_prompt.format(job=st.session_state["pdf_data_jobdescription_string"], resume=st.session_state["pdf_data_cvs_string"], n=15)
|
| 232 |
if not st.session_state["ai_questions"]:
|
| 233 |
try:
|
|
@@ -344,7 +375,8 @@ with st.container():
|
|
| 344 |
print(st.session_state["final_question_string"])
|
| 345 |
|
| 346 |
# pdf_data_cv = uploaded_file_cv.read()
|
| 347 |
-
|
|
|
|
| 348 |
upload_success = upload_blob(pdf_name, json_data, st.session_state["pdf_data_jobdescription"],st.session_state["pdf_data_cvs"],st.session_state["pre_toggle"],st.session_state["final_question_string"])
|
| 349 |
else:
|
| 350 |
st.write("Please fill out both fields and upload a PDF file.")
|
|
|
|
| 167 |
st.session_state["pdf_data_cvs"] = None
|
| 168 |
if "pdf_data_cvs_string" not in st.session_state:
|
| 169 |
st.session_state["pdf_data_cvs_string"] = None
|
| 170 |
+
if "pdf_data_cvs_names" not in st.session_state:
|
| 171 |
+
st.session_state["pdf_data_cvs_names"] = []
|
| 172 |
if "pdf_data_jobdescription" not in st.session_state:
|
| 173 |
st.session_state["pdf_data_jobdescription"] = None
|
| 174 |
if "pdf_data_jobdescription_string" not in st.session_state:
|
|
|
|
| 213 |
pdf_data_cvs_string = ""
|
| 214 |
for i,cv in enumerate(st.session_state["cvs"]):
|
| 215 |
print(cv.name)
|
| 216 |
+
st.session_state["pdf_data_cvs_names"].append(cv.name)
|
| 217 |
# print(cv.name)
|
| 218 |
# print(cv.size)
|
| 219 |
cv_data_bytes = cv.read()
|
|
|
|
| 229 |
st.session_state["pdf_data_cvs_string"] = pdf_data_cvs_string
|
| 230 |
st.session_state["pdf_data_jobdescription"] = pdf_data_jobdescription
|
| 231 |
st.session_state["pdf_data_jobdescription_string"] = pdf_data_jobdescription_string
|
| 232 |
+
if st.session_state["pdf_data_cvs"]:
|
| 233 |
+
pdf_data_cvs_string = ""
|
| 234 |
+
initial_cv_length = len(st.session_state["pdf_data_cvs"])
|
| 235 |
+
for i,cv in enumerate(st.session_state["cvs"]):
|
| 236 |
+
if cv.name not in st.session_state["pdf_data_cvs_names"]:
|
| 237 |
+
st.session_state["pdf_data_cvs_names"].append(cv.name)
|
| 238 |
+
print("At second:"+cv.name)
|
| 239 |
+
cv_data_bytes = cv.read()
|
| 240 |
+
st.session_state["pdf_data_cvs"].append(cv_data_bytes)
|
| 241 |
+
pdf_reader_cvs = PdfReader(io.BytesIO(cv_data_bytes))
|
| 242 |
+
pdf_data_cvs_string += "CV "+str(i+1+initial_cv_length)+": "
|
| 243 |
+
for page_num in range(len(pdf_reader_cvs.pages)):
|
| 244 |
+
page = pdf_reader_cvs.pages[page_num]
|
| 245 |
+
pdf_data_cvs_string += page.extract_text()
|
| 246 |
+
pdf_data_cvs_string += "\n"
|
| 247 |
+
st.session_state["pdf_data_cvs_string"] += pdf_data_cvs_string
|
| 248 |
+
for i,name in enumerate(st.session_state["pdf_data_cvs_names"]):
|
| 249 |
+
# print(name)
|
| 250 |
+
found = False
|
| 251 |
+
for j,cv in enumerate(st.session_state["cvs"]):
|
| 252 |
+
# print(cv.name)
|
| 253 |
+
if name == cv.name:
|
| 254 |
+
found = True
|
| 255 |
+
if not found:
|
| 256 |
+
print("gelöscht: "+name)
|
| 257 |
+
del st.session_state["pdf_data_cvs"][i]
|
| 258 |
+
del st.session_state["pdf_data_cvs_names"][i]
|
| 259 |
pre_generate = st.toggle("Activate to pre generate questions", key="pre_toggle")
|
| 260 |
if pre_generate:
|
| 261 |
+
|
| 262 |
system = sys_prompt.format(job=st.session_state["pdf_data_jobdescription_string"], resume=st.session_state["pdf_data_cvs_string"], n=15)
|
| 263 |
if not st.session_state["ai_questions"]:
|
| 264 |
try:
|
|
|
|
| 375 |
print(st.session_state["final_question_string"])
|
| 376 |
|
| 377 |
# pdf_data_cv = uploaded_file_cv.read()
|
| 378 |
+
print(len(st.session_state["pdf_data_cvs"]))
|
| 379 |
+
print(st.session_state["pdf_data_cvs_names"])
|
| 380 |
upload_success = upload_blob(pdf_name, json_data, st.session_state["pdf_data_jobdescription"],st.session_state["pdf_data_cvs"],st.session_state["pre_toggle"],st.session_state["final_question_string"])
|
| 381 |
else:
|
| 382 |
st.write("Please fill out both fields and upload a PDF file.")
|