Update app.py
Browse files
app.py
CHANGED
|
@@ -88,14 +88,15 @@ def get_resume_response(prompt: str, api_key: str, model: str = "llama-3.3-70b",
|
|
| 88 |
return response_string
|
| 89 |
|
| 90 |
def process_resume(file, jd_string):
|
| 91 |
-
|
| 92 |
-
|
|
|
|
| 93 |
try:
|
| 94 |
-
# Convert file to Markdown
|
| 95 |
-
original_md =
|
| 96 |
original_text = original_md.text_content
|
| 97 |
|
| 98 |
-
# Save the original
|
| 99 |
original_file_path = "resumes/original_resume.md"
|
| 100 |
with open(original_file_path, "w", encoding="utf-8") as f:
|
| 101 |
f.write(original_text)
|
|
@@ -104,18 +105,19 @@ def process_resume(file, jd_string):
|
|
| 104 |
prompt = create_prompt(original_text, jd_string)
|
| 105 |
response_string = get_resume_response(prompt, api_key)
|
| 106 |
|
| 107 |
-
#
|
| 108 |
response_list = response_string.split("## Additional Suggestions")
|
| 109 |
-
new_resume = response_list[0]
|
|
|
|
| 110 |
|
| 111 |
-
# Save the optimized
|
| 112 |
optimized_file_path = "resumes/optimized_resume.md"
|
| 113 |
with open(optimized_file_path, "w", encoding="utf-8") as f:
|
| 114 |
f.write(new_resume)
|
| 115 |
|
| 116 |
-
return original_text, new_resume,
|
| 117 |
except Exception as e:
|
| 118 |
-
return f"Error processing file: {str(e)}", "", None, None
|
| 119 |
|
| 120 |
def export_resume(new_resume):
|
| 121 |
try:
|
|
@@ -151,7 +153,11 @@ with gr.Blocks() as app:
|
|
| 151 |
export_result = gr.Markdown(label="Export Result")
|
| 152 |
|
| 153 |
# Bindings
|
| 154 |
-
run_button.click(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
export_button.click(export_resume, inputs=[after_md], outputs=[export_result])
|
| 156 |
|
| 157 |
app.launch()
|
|
|
|
| 88 |
return response_string
|
| 89 |
|
| 90 |
def process_resume(file, jd_string):
|
| 91 |
+
"""
|
| 92 |
+
Process the uploaded resume and job description, optimize it, and return the result.
|
| 93 |
+
"""
|
| 94 |
try:
|
| 95 |
+
# Convert file to Markdown using MarkItDown
|
| 96 |
+
original_md = md_converter.convert(file.name)
|
| 97 |
original_text = original_md.text_content
|
| 98 |
|
| 99 |
+
# Save the original resume in Markdown format
|
| 100 |
original_file_path = "resumes/original_resume.md"
|
| 101 |
with open(original_file_path, "w", encoding="utf-8") as f:
|
| 102 |
f.write(original_text)
|
|
|
|
| 105 |
prompt = create_prompt(original_text, jd_string)
|
| 106 |
response_string = get_resume_response(prompt, api_key)
|
| 107 |
|
| 108 |
+
# Split response into optimized resume and suggestions
|
| 109 |
response_list = response_string.split("## Additional Suggestions")
|
| 110 |
+
new_resume = response_list[0].strip()
|
| 111 |
+
suggestions = "## Additional Suggestions\n\n" + response_list[1].strip() if len(response_list) > 1 else ""
|
| 112 |
|
| 113 |
+
# Save the optimized resume in Markdown format
|
| 114 |
optimized_file_path = "resumes/optimized_resume.md"
|
| 115 |
with open(optimized_file_path, "w", encoding="utf-8") as f:
|
| 116 |
f.write(new_resume)
|
| 117 |
|
| 118 |
+
return original_text, new_resume, original_file_path, optimized_file_path, suggestions
|
| 119 |
except Exception as e:
|
| 120 |
+
return f"Error processing file: {str(e)}", "", None, None, ""
|
| 121 |
|
| 122 |
def export_resume(new_resume):
|
| 123 |
try:
|
|
|
|
| 153 |
export_result = gr.Markdown(label="Export Result")
|
| 154 |
|
| 155 |
# Bindings
|
| 156 |
+
run_button.click(
|
| 157 |
+
process_resume,
|
| 158 |
+
inputs=[resume_input, jd_input],
|
| 159 |
+
outputs=[before_md, after_md, download_before, download_after, output_suggestions]
|
| 160 |
+
)
|
| 161 |
export_button.click(export_resume, inputs=[after_md], outputs=[export_result])
|
| 162 |
|
| 163 |
app.launch()
|