Update app.py
Browse files
app.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import requests
|
| 3 |
-
import json
|
| 4 |
import os
|
|
|
|
| 5 |
from sentence_transformers import util
|
| 6 |
|
| 7 |
# Set up API endpoint and API Key
|
| 8 |
api_key = os.getenv("GOOGLE_API_KEY") # Store your API Key in environment variables
|
| 9 |
-
api_url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1-
|
| 10 |
|
| 11 |
headers = {
|
| 12 |
"Authorization": f"Bearer {api_key}",
|
|
@@ -15,7 +15,7 @@ headers = {
|
|
| 15 |
|
| 16 |
def get_gemini_embeddings(text):
|
| 17 |
data = {
|
| 18 |
-
"model": "gemini-1-
|
| 19 |
"text": text
|
| 20 |
}
|
| 21 |
|
|
@@ -30,7 +30,8 @@ def get_gemini_embeddings(text):
|
|
| 30 |
return []
|
| 31 |
|
| 32 |
def extract_text_from_resume(resume_file):
|
| 33 |
-
# Extract text from resume (
|
|
|
|
| 34 |
return "Sample resume text"
|
| 35 |
|
| 36 |
def extract_leadership_experience(resume_text):
|
|
@@ -42,7 +43,6 @@ def extract_entities_via_gemini(resume_text):
|
|
| 42 |
return {"name": "John Doe", "email": "john.doe@example.com", "contact": "123-456-7890"}
|
| 43 |
|
| 44 |
def save_results_to_csv(results):
|
| 45 |
-
import csv
|
| 46 |
csv_file_path = "/tmp/results.csv"
|
| 47 |
with open(csv_file_path, mode='w', newline='') as file:
|
| 48 |
writer = csv.writer(file)
|
|
@@ -54,11 +54,11 @@ def save_results_to_csv(results):
|
|
| 54 |
def check_similarity(job_description, resume_files):
|
| 55 |
results = []
|
| 56 |
|
| 57 |
-
# Get embeddings for the job description using Gemini
|
| 58 |
job_emb = get_gemini_embeddings(job_description)
|
| 59 |
|
| 60 |
if not job_emb:
|
| 61 |
-
return "Error in embedding job description using Gemini API."
|
| 62 |
|
| 63 |
for resume_file in resume_files:
|
| 64 |
resume_text = extract_text_from_resume(resume_file)
|
|
@@ -66,7 +66,7 @@ def check_similarity(job_description, resume_files):
|
|
| 66 |
results.append((resume_file.name, 0, "Not Eligible", None, "No leadership experience", "No Email", "No Contact"))
|
| 67 |
continue
|
| 68 |
|
| 69 |
-
# Get embeddings for the resume using Gemini
|
| 70 |
resume_emb = get_gemini_embeddings(resume_text)
|
| 71 |
|
| 72 |
if not resume_emb:
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import requests
|
|
|
|
| 3 |
import os
|
| 4 |
+
import csv
|
| 5 |
from sentence_transformers import util
|
| 6 |
|
| 7 |
# Set up API endpoint and API Key
|
| 8 |
api_key = os.getenv("GOOGLE_API_KEY") # Store your API Key in environment variables
|
| 9 |
+
api_url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1-5-flash:embedText" # Updated for Gemini 1.5 Flash model
|
| 10 |
|
| 11 |
headers = {
|
| 12 |
"Authorization": f"Bearer {api_key}",
|
|
|
|
| 15 |
|
| 16 |
def get_gemini_embeddings(text):
|
| 17 |
data = {
|
| 18 |
+
"model": "gemini-1-5-flash", # Use the Gemini 1.5 Flash model
|
| 19 |
"text": text
|
| 20 |
}
|
| 21 |
|
|
|
|
| 30 |
return []
|
| 31 |
|
| 32 |
def extract_text_from_resume(resume_file):
|
| 33 |
+
# Extract text from resume (for example, using PyPDF2 or textract for PDFs)
|
| 34 |
+
# This placeholder should be replaced with actual code for resume text extraction
|
| 35 |
return "Sample resume text"
|
| 36 |
|
| 37 |
def extract_leadership_experience(resume_text):
|
|
|
|
| 43 |
return {"name": "John Doe", "email": "john.doe@example.com", "contact": "123-456-7890"}
|
| 44 |
|
| 45 |
def save_results_to_csv(results):
|
|
|
|
| 46 |
csv_file_path = "/tmp/results.csv"
|
| 47 |
with open(csv_file_path, mode='w', newline='') as file:
|
| 48 |
writer = csv.writer(file)
|
|
|
|
| 54 |
def check_similarity(job_description, resume_files):
|
| 55 |
results = []
|
| 56 |
|
| 57 |
+
# Get embeddings for the job description using Gemini 1.5 Flash
|
| 58 |
job_emb = get_gemini_embeddings(job_description)
|
| 59 |
|
| 60 |
if not job_emb:
|
| 61 |
+
return "Error in embedding job description using Gemini 1.5 Flash API."
|
| 62 |
|
| 63 |
for resume_file in resume_files:
|
| 64 |
resume_text = extract_text_from_resume(resume_file)
|
|
|
|
| 66 |
results.append((resume_file.name, 0, "Not Eligible", None, "No leadership experience", "No Email", "No Contact"))
|
| 67 |
continue
|
| 68 |
|
| 69 |
+
# Get embeddings for the resume using Gemini 1.5 Flash
|
| 70 |
resume_emb = get_gemini_embeddings(resume_text)
|
| 71 |
|
| 72 |
if not resume_emb:
|