{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/bassime/Desktop/fullstack/GeminiHire/venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n" ] } ], "source": [ "from openai import OpenAI\n", "import os\n", "from trulens_eval import Provider, TruLlama, FeedbackMode, Feedback, Select, Tru\n", "from trulens_eval.feedback import Groundedness\n", "from trulens_eval import OpenAI as fOpenAI\n", "import pandas as pd\n", "import numpy as np\n", "from tqdm import tqdm\n", "\n", "from app import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from dotenv import load_dotenv\n", "load_dotenv()\n", "os.environ[\"OPENAI_API_KEY\"] = os.getenv(\"OPEN_AI_API_KEY\")" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [], "source": [ "job_description = \"\"\"\n", "Job: Software Engineer At Truera\n", "Design and implement complex distributed systems, build APIs around AI/ML observability, and partner with various engineers and product managers for new products and features.\n", "Engage in customer interactions to drive product features, review design and code, ensure high-quality deliverables, and take significant ownership of development with a pragmatic, results-driven approach.\n", "Advocate for engineering efficiency through continuous deployment, automation, monitoring, and development of self-healing systems while maintaining scalability, availability, and latency.\n", "Possess strong communication skills, provide mentoring, lead and foster team development, and continuously learn and grow while pushing the team and sharing knowledge.\n", "Require a BS in Computer Science or equivalent, 4+ years in distributed data systems, expertise in Java/Python/Go, and experience with data infrastructure and modern cloud-based architectures; experience in ML and container technologies is a plus.\n", "\"\"\"\n" ] }, { "cell_type": "code", "execution_count": 152, "metadata": {}, "outputs": [], "source": [ "def generate_skill_gap_analysis(json_data, job_description):\n", " try:\n", " # Construct a detailed prompt for the Gemini model\n", " prompt = load_prompt(\"prompts/skills_gap_prompt.txt\").replace(\"job_description\", job_description).replace(\"json_data\", json_data)\n", " # Call the Gemini model to generate the skill gap analysis\n", " response = model_text.generate_content(prompt)\n", "\n", " # Format and return the skill gap analysis\n", " return response.text\n", "\n", " except Exception as e:\n", " return f\"An error occurred: {e}\"\n", "\n", "def generate_interview_questions(json_data):\n", " prompt = load_prompt(\"prompts/interview_questions_prompt.txt\") + json_data\n", "\n", " # Generate responses using the model\n", " responses = model_text.generate_content(prompt)\n", "\n", " # Return the generated questions or content\n", " return responses.text\n", "\n", "def generate_cover_letter(json_data, job_description):\n", " try:\n", " # Create a prompt for the cover letter\n", " prompt = load_prompt(\"prompts/cover_letter_prompt.txt\").replace(\"job_description\", job_description).replace(\"json_data\", json_data)\n", "\n", " # Generate the cover letter using the model\n", " response = model_text.generate_content(prompt)\n", "\n", " return response.text\n", "\n", " except Exception as e:\n", " return f\"An error occurred: {e}\"" ] }, { "cell_type": "code", "execution_count": 141, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 30/30 [06:43<00:00, 13.45s/it]\n" ] } ], "source": [ "resumes_folder_path = \"resumes/\"\n", "json_data_resumes = []\n", "for file_name in tqdm(os.listdir(resumes_folder_path)):\n", " if file_name.lower().endswith('.pdf'): \n", " pdf_path = os.path.join(resumes_folder_path, file_name)\n", "\n", " with open(pdf_path, 'rb') as pdf_file:\n", " pdf_content = pdf_file.read()\n", " # Convert PDF to image and process with Gemini model\n", " try:\n", " image, json_data = process_pdf_and_save_job_desc(pdf_content, job_description)\n", "\n", " # Optionally: Display results or further process them\n", " json_data_resumes.append(json_data)\n", " except:\n", " pass" ] }, { "cell_type": "code", "execution_count": 142, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[' ```json\\n{\\n \"Education\": [\\n {\\n \"Institution\": \"San Francisco State University\",\\n \"Degree\": \"B.S.\",\\n \"Field of Study\": \"Engineering\",\\n \"Start Date\": \"September 2014\",\\n \"End Date\": \"June 2018\",\\n \"GPA\": \"3.8\"\\n }\\n ],\\n \"Work Experience\": [\\n {\\n \"Company\": \"Philo\",\\n \"Role\": \"Software Engineer III, Front-End\",\\n \"Start Date\": \"December 2020\",\\n \"End Date\": \"Present\",\\n \"Responsibilities\": \"Developed 37+ robust, reusable, and reliable platform components which enhanced the company platform, managed 100% of change request processing coordination with 3 other teams, provided technical advice and weigh-ins on technical decisions that impacted 6 cross-functional teams and objectives for 11+ technical teams, spearheaded 68+ group sessions to elicit complex information on requirements clarification, design sessions, code reviews, and troubleshooting issues\"\\n },\\n {\\n \"Company\": \"LegalZoom\",\\n \"Role\": \"Junior Software Developer\",\\n \"Start Date\": \"November 2019\",\\n \"End Date\": \"December 2020\",\\n \"Responsibilities\": \"Created HTML assets for 37+ active marketing campaigns, including video landing pages, order form copy, and funnel copy, optimized 23+ applications for maximum speed and scalability, assured that 100% of user input was validated before submission to the back-end of the system, wrote automated tests that ensured 100% correct functionality of the code, developed 7 new user-facing features\"\\n },\\n {\\n \"Company\": \"Uber\",\\n \"Role\": \"Entry-Level Software Engineer\",\\n \"Start Date\": \"June 2018\",\\n \"End Date\": \"November 2019\",\\n \"Responsibilities\": \"Collaborated with 4 product management and design teams to implement innovative solutions for product direction, transformed 33+ visual comps into rich web applications that were responsive, semantic, and accessible, performed cross-browser testing and remediation for 100% of front-end web applications to ensure performance and superior visual quality, resolved and patched 56+ software defects reported by 3 quality assurance teams\"\\n }\\n ],\\n \"Skills\": \"HTML, JavaScript, React.js, Angular.js, Vue.js, Typescript, Git\"\\n}\\n```', ' ```json\\n{\\n \"Education\": [\\n {\\n \"Institution\": \"University of Pittsburgh\",\\n \"Degree\": \"B.S.\",\\n \"Field of Study\": \"Computer Science\",\\n \"Start Date\": \"September 2016\",\\n \"End Date\": \"April 2020\",\\n \"GPA\": \"3.7\"\\n }\\n ],\\n \"Work Experience\": [\\n {\\n \"Company\": \"DICK\\'S Sporting Goods\",\\n \"Role\": \"Software Engineer Intern\",\\n \"Start Date\": \"May 2020\",\\n \"End Date\": \"Current\",\\n \"Responsibilities\": \"Assigned to the e-commerce team, and participated in designing improved software using agile methodologies. Built-in and release one-on-one help, which boosted their mastery level by 13%.\\\\n\\\\nParticipated in code reviews with product team, and gained feedback from senior engineers and experience in writing custom, scalable code.\\\\n\\\\nPartnered with 2 interns to understand user stories, and reported findings, goals, and progress to senior engineer.\\\\n\\\\nTested and finalized applications, reducing the instances of bugs by 7%.\\\\n\\\\nEnsured all tickets were ticketed, responding to Tier 1 tickets and escalating issues at Tier 2.\\\\n\\\\nPresented software development and lifecycle reports to CTO and CEO with other interns, receiving recognition for design ideas and implementation.\"\\n },\\n {\\n \"Company\": \"Easyke\",\\n \"Role\": \"Online Tutor\",\\n \"Start Date\": \"April 2020\",\\n \"End Date\": \"December 2020\",\\n \"Responsibilities\": \"Planned lessons for small groups of 4-6 students covering math and science\\\\n\\\\nCommunicated with students to discuss academic needs and goals in order to adjust lessons and assessments\\\\n\\\\nProvided feedback on assignments, and retaught trouble areas until students reached 90% mastery\\\\n\\\\nEngaged students in 1:1 discussions, small group discussions, and breakout sessions, utilizing various discussion methods to actively retain attention across a variety of learning styles\\\\n\\\\nWorked progress reports and feedback to present to students and administration, working with admin to adjust student plans for 2 hours per week for student check-in and receive one-on-one help, which boosted their mastery level by 13%.\"\\n }\\n ],\\n \"Skills\": \"Advanced: Python (Django), Java, Unix, Git\\\\n\\\\nFamiliar: Javascript, SQL, HTML/CSS\"\\n}\\n```', ' ```json\\n{\\n \"Education\": [\\n {\\n \"Institution\": \"University of Houston\",\\n \"Degree\": \"B.S.\",\\n \"Field of Study\": \"Computer Science\",\\n \"Start Date\": \"September 2017\",\\n \"End Date\": \"May 2021\"\\n }\\n ],\\n \"Work Experience\": [\\n {\\n \"Company\": \"Labcorp\",\\n \"Role\": \"Entry-Level Metadata Scientist\",\\n \"Start Date\": \"July 2021\",\\n \"End Date\": \"Present\",\\n \"Responsibilities\": \"Identified appropriate quantitative methods and built relevant data sets to address challenges across 6 different domains\\\\nImplemented 32 statistical and machine learning solutions end-to-end through the life cycle of deploying and maintaining metadata at scale\\\\nDeveloped measurement solutions and experimentation frameworks to ensure 100% informed and effective decision making\\\\nHelped shape the technical vision and strategies of 2 engineering teams through data-driven recommendations\\\\nCommunicated project results and recommendations to 24 stakeholders and cross-functional partners\"\\n }\\n ],\\n \"Skills\": \"Python\\\\nR\\\\nSQL\\\\nTableau\\\\nHadoop\\\\nNumPy\",\\n \"Projects\": [\\n {\\n \"Name\": \"Weather API Site\",\\n \"Description\": \"Used HTML5 to design a dashboard visual interface of a previous weather app with city.js, a simple Python library, and the OpenWeatherMap API to create a weather model across 50+ world cities\\\\nAdded features to the app by applying a Bootstrap template, designing the website layout, and adding a picture carousel of cities used in the charts and notes about each sub-page\\\\nDrafted detailed documentation of code utilizing GitHub, complete with charts and notes about each sub-page\"\\n },\\n {\\n \"Name\": \"Stock Analysis\",\\n \"Description\": \"Used stock market KPIs to determine whether the tech sector of the stock market was in a bubble\\\\nDisplayed a working knowledge of Data ETL, Visualization, API frameworks, and statistical methods in Python to develop and implement analyses\\\\nCleaned historical data for over 600 companies (in NASDAQ and S&P 500), accessing JSON endpoints for each company using (Python) Pandas\"\\n }\\n ],\\n \"Certifications\": [\\n \"AWS Certified Data Scientist\"\\n ]\\n}\\n```', ' ```json\\n{\\n \"Education\": [\\n {\\n \"Institution\": \"Carnegie Mellon University\",\\n \"Degree\": \"Bachelor of Science\",\\n \"Field of Study\": \"Computer Science\",\\n \"Start Date\": \"2013\",\\n \"End Date\": \"2017\"\\n }\\n ],\\n \"Work Experience\": [\\n {\\n \"Company\": \"Duolingo\",\\n \"Role\": \"Software Engineer\",\\n \"Start Date\": \"August 2020\",\\n \"End Date\": \"Present\",\\n \"Responsibilities\": \"Optimized machine learning algorithms with a C++ library for a 38% boost to the efficiency of language learning models.\\\\nEmployed PyTorch to develop and improve the AI-driven language pronunciation feedback system.\\\\nUsed PyCharm as the primary IDE to increase development efficiency for a 27% reduction in bug fixing time.\\\\nWorked with data science team to integrate machine learning algorithms to improve language model accuracy.\"\\n },\\n {\\n \"Company\": \"PNC Financial Services\",\\n \"Role\": \"DevOps Engineer\",\\n \"Start Date\": \"June 2017\",\\n \"End Date\": \"July 2020\",\\n \"Responsibilities\": \"Streamlined deployment process by implementing CircleCI, reducing build times by 34% and increasing deployment frequency by 61%.\\\\nLed a team to migrate the company\\'s database from MySQL to PostgreSQL, reducing query times by 13%.\\\\nDeveloped custom Mercurial hooks to enforce coding standards, reducing software release pipeline security by automating vulnerability scanning and patching.\"\\n },\\n {\\n \"Company\": \"Vanguard\",\\n \"Role\": \"Software Development Intern\",\\n \"Start Date\": \"2016\",\\n \"End Date\": \"2017\",\\n \"Responsibilities\": \"Assisted in refactoring C++ code, helping to cut maintenance by 14% and improving app performance.\\\\nConducted code reviews under 2 senior developers.\\\\nHelped migrate applications to AWS and Azure, which cut infrastructure costs by 12% and aided application availability.\\\\nBuilt a custom notification system with JavaScript and WebSockets, increasing user engagement by 23% and improving real-time communication capabilities.\"\\n }\\n ],\\n \"Skills\": \"Python\\\\nRuby on Rails\\\\nMercurial\\\\nMicrosoft SQL Server\\\\nGoogle Cloud Platform\\\\nPHPUnit\\\\nOpenShift\\\\nCircleCI\\\\nC++\\\\nPyTorch\"\\n}\\n```', ' ```json\\n{\\n \"Education\": [\\n {\\n \"Institution\": \"Stanford University\",\\n \"Degree\": \"Bachelor of Science\",\\n \"Field of Study\": \"Computer Science\",\\n \"Start Date\": \"2002\",\\n \"End Date\": \"2006\"\\n }\\n ],\\n \"Work Experience\": [\\n {\\n \"Company\": \"Marqeta\",\\n \"Role\": \"Integration Engineer\",\\n \"Start Date\": \"2018\",\\n \"End Date\": \"Present\",\\n \"Responsibilities\": \"Managed the design, development, implementation, and support of application integrations across 2 clinical and business systems\\\\nEvaluated all systems to determine integration requirements\\\\nIdentified trouble spots during integration processes and provided 49 solutions to restore full functionality with no errors\\\\nCommunicated with 20+ stakeholders, development teams, and technology vendors during design and implementation\"\\n },\\n {\\n \"Company\": \"Adobe\",\\n \"Role\": \"Software Quality Engineer\",\\n \"Start Date\": \"2012\",\\n \"End Date\": \"2018\",\\n \"Responsibilities\": \"Led test plan and code reviews with 2 teams every week\\\\nDeveloped, maintained, and extended a Java-based automation framework that decreased bugs by 72%\\\\nDeveloped 100+ automated test suites to validate API, Back End, and Front End components\"\\n },\\n {\\n \"Company\": \"Uber\",\\n \"Role\": \"Software Engineer\",\\n \"Start Date\": \"2009\",\\n \"End Date\": \"2012\",\\n \"Responsibilities\": \"Managed support across 4 SQEs supporting a program to ensure SLAs commitments are met\\\\nHighlighted best practices and areas of concern for 3 teams\\\\nEnsured company safety compliance for 100% of software lifecycle activities and products\"\\n },\\n {\\n \"Company\": \"Western Union\",\\n \"Role\": \"Staff Software Engineer\",\\n \"Start Date\": \"2006\",\\n \"End Date\": \"2009\",\\n \"Responsibilities\": \"Set and upheld standards for code quality and platform stability\\\\nLed plans for projects for product ideas and 7 program features\\\\nPartnered with 6 senior engineers, product design team, and 4 managers to schedule projects and establish timelines\"\\n }\\n ],\\n \"Skills\": \"React\\\\nJavaScript\\\\nCSS\\\\nHTML\\\\nAngular\\\\nPostgreSQL\\\\nMongoDB\\\\nAgile/Scrum/Waterfall\\\\nAttention to Detail\\\\nVerbal Communication\"\\n}\\n```']\n" ] } ], "source": [ "print(json_data_resumes[:5])" ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 27/27 [07:07<00:00, 15.84s/it]\n" ] } ], "source": [ "df = pd.DataFrame(columns=[\n", " 'input', \n", " 'prompt_interview_questions', 'output_interview_questions', \n", " 'prompt_cover_letter', 'output_cover_letter', \n", " 'prompt_skill_gap_analysis', 'output_skill_gap_analysis'\n", "])\n", "\n", "# Populate DataFrame\n", "for json_data in tqdm(json_data_resumes):\n", " # Generate prompts for each task\n", " interview_questions_prompt = load_prompt(\"prompts/interview_questions_prompt.txt\") + json_data\n", " cover_letter_prompt = load_prompt(\"prompts/cover_letter_prompt.txt\").replace(\"job_description\", job_description).replace(\"json_data\", json_data)\n", " skill_gap_analysis_prompt = load_prompt(\"prompts/skills_gap_prompt.txt\").replace(\"job_description\", job_description).replace(\"json_data\", json_data)\n", " \n", " # Create a new row as a dictionary\n", " new_row = {\n", " 'input': json_data,\n", " 'prompt_interview_questions': interview_questions_prompt, \n", " 'output_interview_questions': generate_interview_questions(json_data),\n", " 'prompt_cover_letter': cover_letter_prompt, \n", " 'output_cover_letter': generate_cover_letter(json_data, job_description),\n", " 'prompt_skill_gap_analysis': skill_gap_analysis_prompt, \n", " 'output_skill_gap_analysis': generate_skill_gap_analysis(json_data, job_description)\n", " }\n", " \n", " # Append the new row to the DataFrame\n", " df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inputprompt_interview_questionsoutput_interview_questionsprompt_cover_letteroutput_cover_letterprompt_skill_gap_analysisoutput_skill_gap_analysis
0```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\nCould you walk me t...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...- **Skill Gap: Proficiency in Advanced Data An...
1```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** Tell me about your e...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am excited to presen...Assume the role of an experienced career coach...- **Skill Gap: Data Infrastructure and Modern ...
2```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** Tell me about a scen...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...- **Skill Gap: Advanced Distributed Data Syste...
3```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1**: In your role at Duol...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am thrilled to bring...Assume the role of an experienced career coach...- Skill Gap: Distributed Systems Design and Im...
4```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Questions:**\\n\\n1. **Systems Integ...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...- Skill Gap: Cloud-Based Architectures\\nBrief ...
\n", "
" ], "text/plain": [ " input \\\n", "0 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "1 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "2 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "3 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "4 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "\n", " prompt_interview_questions \\\n", "0 Assume the role of an experienced interviewer.... \n", "1 Assume the role of an experienced interviewer.... \n", "2 Assume the role of an experienced interviewer.... \n", "3 Assume the role of an experienced interviewer.... \n", "4 Assume the role of an experienced interviewer.... \n", "\n", " output_interview_questions \\\n", "0 **Technical Question 1:**\\nCould you walk me t... \n", "1 **Technical Question 1:** Tell me about your e... \n", "2 **Technical Question 1:** Tell me about a scen... \n", "3 **Technical Question 1**: In your role at Duol... \n", "4 **Technical Questions:**\\n\\n1. **Systems Integ... \n", "\n", " prompt_cover_letter \\\n", "0 Assume the role of an expert recruiter. Create... \n", "1 Assume the role of an expert recruiter. Create... \n", "2 Assume the role of an expert recruiter. Create... \n", "3 Assume the role of an expert recruiter. Create... \n", "4 Assume the role of an expert recruiter. Create... \n", "\n", " output_cover_letter \\\n", "0 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "1 Dear Hiring Manager,\\n\\nI am excited to presen... \n", "2 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "3 Dear Hiring Manager,\\n\\nI am thrilled to bring... \n", "4 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "\n", " prompt_skill_gap_analysis \\\n", "0 Assume the role of an experienced career coach... \n", "1 Assume the role of an experienced career coach... \n", "2 Assume the role of an experienced career coach... \n", "3 Assume the role of an experienced career coach... \n", "4 Assume the role of an experienced career coach... \n", "\n", " output_skill_gap_analysis \n", "0 - **Skill Gap: Proficiency in Advanced Data An... \n", "1 - **Skill Gap: Data Infrastructure and Modern ... \n", "2 - **Skill Gap: Advanced Distributed Data Syste... \n", "3 - Skill Gap: Distributed Systems Design and Im... \n", "4 - Skill Gap: Cloud-Based Architectures\\nBrief ... " ] }, "execution_count": 144, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 145, "metadata": {}, "outputs": [], "source": [ "df.to_csv(\"v2_w_o_feedback.csv\")" ] }, { "cell_type": "code", "execution_count": 154, "metadata": {}, "outputs": [], "source": [ "from llama_index.llms import OpenAI\n", "\n", "llm_text = OpenAI() \n" ] }, { "cell_type": "code", "execution_count": 155, "metadata": {}, "outputs": [], "source": [ "class OpenAI_Provider:\n", " def load_prompt(filename):\n", " try:\n", " with open(filename, \"r\") as file:\n", " return file.read()\n", " except Exception as e:\n", " return f\"Error loading prompt: {e}\"\n", "\n", " def evaluate_cover_letter(self, input: str, output: str) -> float:\n", " # Load the prompt for evaluating cover letters\n", " prompt = load_prompt(\"prompts/evaluate_cover_letter_prompt.txt\")\n", " formatted_prompt = prompt.format(input=input, output=output)\n", "\n", " # Get the response from Gemini model\n", " response = llm_text.complete(formatted_prompt)\n", " # Interpret and return the response as a score\n", " return self.interpret_response(response.text)\n", "\n", " def evaluate_skills_gap(self, input: str, output: str) -> float:\n", " # Load the prompt for evaluating skills gap\n", " prompt = load_prompt(\"prompts/evaluate_skills_gap_prompt.txt\")\n", " formatted_prompt = prompt.format(input=input, output=output)\n", "\n", " # Get the response from Gemini model\n", " response = llm_text.complete(formatted_prompt)\n", " # Interpret and return the response as a score\n", " return self.interpret_response(response.text)\n", "\n", " def evaluate_interview_questions(self, input: str, output: str) -> float:\n", " # Load the prompt for evaluating interview questions\n", " prompt = load_prompt(\"prompts/evaluate_interview_questions_prompt.txt\")\n", " formatted_prompt = prompt.format(input=input, output=output)\n", "\n", " # Get the response from Gemini model\n", " response = llm_text.complete(formatted_prompt)\n", " # Interpret and return the response as a score\n", " return self.interpret_response(response.text)\n", "\n", " def interpret_response(self, response_text: str) -> float:\n", " try:\n", " # Parse the response text as JSON and extract the score\n", " response_json = json.loads(response_text)\n", " score = response_json.get(\"score\", np.nan)\n", " return int(score) # Ensure the score is an integer\n", " except (json.JSONDecodeError, ValueError):\n", " return np.nan\n" ] }, { "cell_type": "code", "execution_count": 156, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "27it [00:50, 1.88s/it]\n" ] } ], "source": [ "openai_provider_custom = OpenAI_Provider()\n", "\n", "# Assuming df is already defined and populated with the necessary columns\n", "# Now adding new columns for scores\n", "df['score_interview_questions'] = np.nan\n", "df['score_cover_letter'] = np.nan\n", "df['score_skill_gap_analysis'] = np.nan\n", "\n", "# Populate new score columns using the specific prompt and output columns\n", "for index, row in tqdm(df.iterrows()):\n", " # Evaluate and score each output against the specific prompt\n", " df.at[index, 'score_interview_questions'] = openai_provider_custom.evaluate_interview_questions(\n", " input=row['prompt_interview_questions'],\n", " output=row['output_interview_questions']\n", " )\n", " \n", " df.at[index, 'score_cover_letter'] = openai_provider_custom.evaluate_cover_letter(\n", " input=row['prompt_cover_letter'],\n", " output=row['output_cover_letter']\n", " )\n", " \n", " df.at[index, 'score_skill_gap_analysis'] = openai_provider_custom.evaluate_skills_gap(\n", " input=row['prompt_skill_gap_analysis'],\n", " output=row['output_skill_gap_analysis']\n", " )" ] }, { "cell_type": "code", "execution_count": 157, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inputprompt_interview_questionsoutput_interview_questionsprompt_cover_letteroutput_cover_letterprompt_skill_gap_analysisoutput_skill_gap_analysisscore_interview_questionsscore_cover_letterscore_skill_gap_analysis
0```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** In your role at Phil...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am excited to submit...Assume the role of an experienced career coach...**Skill Gap 1: Proficiency in Java, Python, or...9.09.08.0
1```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\nDuring your interns...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am excited to submit...Assume the role of an experienced career coach...**Skill Gap 1: Absence of Experience in Data I...9.08.08.0
2```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....Technical Question 1: Elaborate on a specific ...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nWith great excitement,...Assume the role of an experienced career coach...**Skill Gap 1: Advanced Data Analytics Tools**...9.08.08.0
3```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....Technical Question 1: How did you optimize mac...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n* **Expertise in Java/Pytho...9.08.09.0
4```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\nIn your role as an ...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gap 1:** Distributed Data Systems\\n**B...9.08.08.0
5```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n\\nTell me about a c...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI enthusiastically pre...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n* **Advanced Distributed Sy...9.09.08.0
6```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n\\nYou mentioned wor...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gap: Distributed Data Systems Experien...9.08.08.0
7```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** At Google, you imple...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gap 1: Cloud-Based Architectures**\\nBr...9.08.08.0
8```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n\\nDescribe your exp...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Distributed Data System...9.08.08.0
9```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** During your tenure a...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gap 1: Data Infrastructure Experience*...9.09.08.0
10```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....1. **Technical Question:** Elaborate on your e...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am excited to presen...Assume the role of an experienced career coach...**Skill Gap: Data Infrastructure**\\nBrief Desc...9.09.08.0
11```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** Can you elaborate on...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Advanced Data Analysis*...9.08.09.0
12```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n\\n* Elaborate on th...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gap 1: Distributed Data Systems**\\nBri...9.09.09.0
13```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** While working at Tok...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI recommend [Candidate...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n* Distributed Data Systems:...9.08.09.0
14```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....Technical Question 1: Your work at Zulily incl...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gap: Expertise in Java/Python/Go**\\nBr...9.08.08.0
15```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1**: You led production p...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to enthus...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Distributed Data System...9.08.09.0
16```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....Technical Question 1: During your time at Digi...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Knowledge of Distribute...9.09.09.0
17```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** Please describe your...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Advanced Programming La...9.08.08.0
18```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n\\nDescribe your exp...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps**:\\n\\n1. **Strong Proficiency in ...9.08.08.0
19```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....### Technical Questions:\\n1. **Machine Learnin...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Distributed Data System...9.08.08.0
20```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1: Proficiency in Data Ex...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Distributed Data System...9.08.08.0
21```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\nDescribe the proces...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am excited to presen...Assume the role of an experienced career coach...**Skill Gap 1:** Advanced Data Infrastructure ...9.08.08.0
22```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....Technical Question 1:\\nDuring your time at Goo...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to submit...Assume the role of an experienced career coach...**Skill Gap 1: Advanced Distributed Systems Ex...9.09.08.0
23```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:** Can you describe the...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI enthusiastically sub...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Experience with Java/Py...9.09.08.0
24{\\n \"Education\": [\\n {\\n \"Institutio...Assume the role of an experienced interviewer....**Technical Question 1: Weighted SVM Applicati...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am writing to expres...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Expertise in Java/Pytho...9.08.08.0
25```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n\\nWhile working at ...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nFor the Software Engin...Assume the role of an experienced career coach...**Skill Gaps:**\\n\\n- **Modern Cloud-Based Arch...9.09.09.0
26```json\\n{\\n \"Education\": [\\n {\\n \"I...Assume the role of an experienced interviewer....**Technical Question 1:**\\n- In your tenure as...Assume the role of an expert recruiter. Create...Dear Hiring Manager,\\n\\nI am excited to presen...Assume the role of an experienced career coach...Skill Gap: Distributed Data Systems\\nBrief Des...9.08.09.0
\n", "
" ], "text/plain": [ " input \\\n", "0 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "1 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "2 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "3 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "4 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "5 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "6 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "7 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "8 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "9 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "10 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "11 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "12 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "13 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "14 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "15 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "16 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "17 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "18 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "19 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "20 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "21 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "22 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "23 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "24 {\\n \"Education\": [\\n {\\n \"Institutio... \n", "25 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "26 ```json\\n{\\n \"Education\": [\\n {\\n \"I... \n", "\n", " prompt_interview_questions \\\n", "0 Assume the role of an experienced interviewer.... \n", "1 Assume the role of an experienced interviewer.... \n", "2 Assume the role of an experienced interviewer.... \n", "3 Assume the role of an experienced interviewer.... \n", "4 Assume the role of an experienced interviewer.... \n", "5 Assume the role of an experienced interviewer.... \n", "6 Assume the role of an experienced interviewer.... \n", "7 Assume the role of an experienced interviewer.... \n", "8 Assume the role of an experienced interviewer.... \n", "9 Assume the role of an experienced interviewer.... \n", "10 Assume the role of an experienced interviewer.... \n", "11 Assume the role of an experienced interviewer.... \n", "12 Assume the role of an experienced interviewer.... \n", "13 Assume the role of an experienced interviewer.... \n", "14 Assume the role of an experienced interviewer.... \n", "15 Assume the role of an experienced interviewer.... \n", "16 Assume the role of an experienced interviewer.... \n", "17 Assume the role of an experienced interviewer.... \n", "18 Assume the role of an experienced interviewer.... \n", "19 Assume the role of an experienced interviewer.... \n", "20 Assume the role of an experienced interviewer.... \n", "21 Assume the role of an experienced interviewer.... \n", "22 Assume the role of an experienced interviewer.... \n", "23 Assume the role of an experienced interviewer.... \n", "24 Assume the role of an experienced interviewer.... \n", "25 Assume the role of an experienced interviewer.... \n", "26 Assume the role of an experienced interviewer.... \n", "\n", " output_interview_questions \\\n", "0 **Technical Question 1:** In your role at Phil... \n", "1 **Technical Question 1:**\\nDuring your interns... \n", "2 Technical Question 1: Elaborate on a specific ... \n", "3 Technical Question 1: How did you optimize mac... \n", "4 **Technical Question 1:**\\nIn your role as an ... \n", "5 **Technical Question 1:**\\n\\nTell me about a c... \n", "6 **Technical Question 1:**\\n\\nYou mentioned wor... \n", "7 **Technical Question 1:** At Google, you imple... \n", "8 **Technical Question 1:**\\n\\nDescribe your exp... \n", "9 **Technical Question 1:** During your tenure a... \n", "10 1. **Technical Question:** Elaborate on your e... \n", "11 **Technical Question 1:** Can you elaborate on... \n", "12 **Technical Question 1:**\\n\\n* Elaborate on th... \n", "13 **Technical Question 1:** While working at Tok... \n", "14 Technical Question 1: Your work at Zulily incl... \n", "15 **Technical Question 1**: You led production p... \n", "16 Technical Question 1: During your time at Digi... \n", "17 **Technical Question 1:** Please describe your... \n", "18 **Technical Question 1:**\\n\\nDescribe your exp... \n", "19 ### Technical Questions:\\n1. **Machine Learnin... \n", "20 **Technical Question 1: Proficiency in Data Ex... \n", "21 **Technical Question 1:**\\nDescribe the proces... \n", "22 Technical Question 1:\\nDuring your time at Goo... \n", "23 **Technical Question 1:** Can you describe the... \n", "24 **Technical Question 1: Weighted SVM Applicati... \n", "25 **Technical Question 1:**\\n\\nWhile working at ... \n", "26 **Technical Question 1:**\\n- In your tenure as... \n", "\n", " prompt_cover_letter \\\n", "0 Assume the role of an expert recruiter. Create... \n", "1 Assume the role of an expert recruiter. Create... \n", "2 Assume the role of an expert recruiter. Create... \n", "3 Assume the role of an expert recruiter. Create... \n", "4 Assume the role of an expert recruiter. Create... \n", "5 Assume the role of an expert recruiter. Create... \n", "6 Assume the role of an expert recruiter. Create... \n", "7 Assume the role of an expert recruiter. Create... \n", "8 Assume the role of an expert recruiter. Create... \n", "9 Assume the role of an expert recruiter. Create... \n", "10 Assume the role of an expert recruiter. Create... \n", "11 Assume the role of an expert recruiter. Create... \n", "12 Assume the role of an expert recruiter. Create... \n", "13 Assume the role of an expert recruiter. Create... \n", "14 Assume the role of an expert recruiter. Create... \n", "15 Assume the role of an expert recruiter. Create... \n", "16 Assume the role of an expert recruiter. Create... \n", "17 Assume the role of an expert recruiter. Create... \n", "18 Assume the role of an expert recruiter. Create... \n", "19 Assume the role of an expert recruiter. Create... \n", "20 Assume the role of an expert recruiter. Create... \n", "21 Assume the role of an expert recruiter. Create... \n", "22 Assume the role of an expert recruiter. Create... \n", "23 Assume the role of an expert recruiter. Create... \n", "24 Assume the role of an expert recruiter. Create... \n", "25 Assume the role of an expert recruiter. Create... \n", "26 Assume the role of an expert recruiter. Create... \n", "\n", " output_cover_letter \\\n", "0 Dear Hiring Manager,\\n\\nI am excited to submit... \n", "1 Dear Hiring Manager,\\n\\nI am excited to submit... \n", "2 Dear Hiring Manager,\\n\\nWith great excitement,... \n", "3 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "4 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "5 Dear Hiring Manager,\\n\\nI enthusiastically pre... \n", "6 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "7 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "8 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "9 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "10 Dear Hiring Manager,\\n\\nI am excited to presen... \n", "11 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "12 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "13 Dear Hiring Manager,\\n\\nI recommend [Candidate... \n", "14 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "15 Dear Hiring Manager,\\n\\nI am writing to enthus... \n", "16 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "17 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "18 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "19 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "20 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "21 Dear Hiring Manager,\\n\\nI am excited to presen... \n", "22 Dear Hiring Manager,\\n\\nI am writing to submit... \n", "23 Dear Hiring Manager,\\n\\nI enthusiastically sub... \n", "24 Dear Hiring Manager,\\n\\nI am writing to expres... \n", "25 Dear Hiring Manager,\\n\\nFor the Software Engin... \n", "26 Dear Hiring Manager,\\n\\nI am excited to presen... \n", "\n", " prompt_skill_gap_analysis \\\n", "0 Assume the role of an experienced career coach... \n", "1 Assume the role of an experienced career coach... \n", "2 Assume the role of an experienced career coach... \n", "3 Assume the role of an experienced career coach... \n", "4 Assume the role of an experienced career coach... \n", "5 Assume the role of an experienced career coach... \n", "6 Assume the role of an experienced career coach... \n", "7 Assume the role of an experienced career coach... \n", "8 Assume the role of an experienced career coach... \n", "9 Assume the role of an experienced career coach... \n", "10 Assume the role of an experienced career coach... \n", "11 Assume the role of an experienced career coach... \n", "12 Assume the role of an experienced career coach... \n", "13 Assume the role of an experienced career coach... \n", "14 Assume the role of an experienced career coach... \n", "15 Assume the role of an experienced career coach... \n", "16 Assume the role of an experienced career coach... \n", "17 Assume the role of an experienced career coach... \n", "18 Assume the role of an experienced career coach... \n", "19 Assume the role of an experienced career coach... \n", "20 Assume the role of an experienced career coach... \n", "21 Assume the role of an experienced career coach... \n", "22 Assume the role of an experienced career coach... \n", "23 Assume the role of an experienced career coach... \n", "24 Assume the role of an experienced career coach... \n", "25 Assume the role of an experienced career coach... \n", "26 Assume the role of an experienced career coach... \n", "\n", " output_skill_gap_analysis \\\n", "0 **Skill Gap 1: Proficiency in Java, Python, or... \n", "1 **Skill Gap 1: Absence of Experience in Data I... \n", "2 **Skill Gap 1: Advanced Data Analytics Tools**... \n", "3 **Skill Gaps:**\\n\\n* **Expertise in Java/Pytho... \n", "4 **Skill Gap 1:** Distributed Data Systems\\n**B... \n", "5 **Skill Gaps:**\\n\\n* **Advanced Distributed Sy... \n", "6 **Skill Gap: Distributed Data Systems Experien... \n", "7 **Skill Gap 1: Cloud-Based Architectures**\\nBr... \n", "8 **Skill Gaps:**\\n\\n- **Distributed Data System... \n", "9 **Skill Gap 1: Data Infrastructure Experience*... \n", "10 **Skill Gap: Data Infrastructure**\\nBrief Desc... \n", "11 **Skill Gaps:**\\n\\n- **Advanced Data Analysis*... \n", "12 **Skill Gap 1: Distributed Data Systems**\\nBri... \n", "13 **Skill Gaps:**\\n\\n* Distributed Data Systems:... \n", "14 **Skill Gap: Expertise in Java/Python/Go**\\nBr... \n", "15 **Skill Gaps:**\\n\\n- **Distributed Data System... \n", "16 **Skill Gaps:**\\n\\n- **Knowledge of Distribute... \n", "17 **Skill Gaps:**\\n\\n- **Advanced Programming La... \n", "18 **Skill Gaps**:\\n\\n1. **Strong Proficiency in ... \n", "19 **Skill Gaps:**\\n\\n- **Distributed Data System... \n", "20 **Skill Gaps:**\\n\\n- **Distributed Data System... \n", "21 **Skill Gap 1:** Advanced Data Infrastructure ... \n", "22 **Skill Gap 1: Advanced Distributed Systems Ex... \n", "23 **Skill Gaps:**\\n\\n- **Experience with Java/Py... \n", "24 **Skill Gaps:**\\n\\n- **Expertise in Java/Pytho... \n", "25 **Skill Gaps:**\\n\\n- **Modern Cloud-Based Arch... \n", "26 Skill Gap: Distributed Data Systems\\nBrief Des... \n", "\n", " score_interview_questions score_cover_letter score_skill_gap_analysis \n", "0 9.0 9.0 8.0 \n", "1 9.0 8.0 8.0 \n", "2 9.0 8.0 8.0 \n", "3 9.0 8.0 9.0 \n", "4 9.0 8.0 8.0 \n", "5 9.0 9.0 8.0 \n", "6 9.0 8.0 8.0 \n", "7 9.0 8.0 8.0 \n", "8 9.0 8.0 8.0 \n", "9 9.0 9.0 8.0 \n", "10 9.0 9.0 8.0 \n", "11 9.0 8.0 9.0 \n", "12 9.0 9.0 9.0 \n", "13 9.0 8.0 9.0 \n", "14 9.0 8.0 8.0 \n", "15 9.0 8.0 9.0 \n", "16 9.0 9.0 9.0 \n", "17 9.0 8.0 8.0 \n", "18 9.0 8.0 8.0 \n", "19 9.0 8.0 8.0 \n", "20 9.0 8.0 8.0 \n", "21 9.0 8.0 8.0 \n", "22 9.0 9.0 8.0 \n", "23 9.0 9.0 8.0 \n", "24 9.0 8.0 8.0 \n", "25 9.0 9.0 9.0 \n", "26 9.0 8.0 9.0 " ] }, "execution_count": 157, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 158, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "score_interview_questions 9.000000\n", "score_cover_letter 8.333333\n", "score_skill_gap_analysis 8.296296\n", "dtype: float64" ] }, "execution_count": 158, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean_values = df[[\"score_interview_questions\",\"score_cover_letter\",\"score_skill_gap_analysis\"]].mean()\n", "mean_values" ] }, { "cell_type": "code", "execution_count": 151, "metadata": {}, "outputs": [], "source": [ "#df.to_csv(\"results_v2.csv\")" ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [], "source": [ "df.to_csv(\"analysis.csv\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.9" } }, "nbformat": 4, "nbformat_minor": 2 }