Spaces:
Paused
Testing Guide for Job Application AI Agent
This guide will help you test the Job Application AI Agent, particularly the batch CV generation functionality that creates multiple tailored CVs based on different job listings.
Setup
Install the application:
# On Unix-based systems (macOS, Linux) ./install.sh # On Windows install.batActivate the virtual environment:
# On Unix-based systems (macOS, Linux) source venv/bin/activate # On Windows venv\Scripts\activate.bat
Testing Batch CV Generation
Method 1: Using the Test Script (Quickest method)
We've included a test script that automates the entire process:
./test_batch_processing.py --cv path/to/your/cv_template.docx
This script will:
- Scrape job listings for "Software Engineer" in "Berlin" (default)
- Fetch job descriptions for each job
- Save the jobs to an Excel file
- Generate tailored CVs for each job
- Save the CVs to the output directory
You can customize the script with these options:
--keyword "Data Scientist"- Change the job title to search for--location "Remote"- Change the location to search in--max-jobs 10- Change the maximum number of jobs to scrape--output-dir "/custom/path"- Specify a custom output directory
Method 2: Using the Web Interface (Recommended for beginners)
Start the web interface:
job-apply-ai webOpen the web application:
- Open your browser and go to: http://localhost:5000
Upload your CV template:
- Click on "Upload CV" button
- Select your CV template file (must be a .docx file)
- Click "Upload"
Search for jobs:
- Enter a job title (e.g., "Software Engineer")
- Enter a location (e.g., "Berlin" or "Remote")
- Set the maximum number of jobs (e.g., 5)
- Click "Search"
Generate CVs for all jobs:
- On the search results page, click "Tailor CV for All Jobs"
- Wait for the process to complete
- You'll see a list of all generated CVs
- Click "Download All CVs (ZIP)" to download all tailored CVs as a zip file
Check the generated CVs:
- Extract the downloaded zip file
- Open each CV to verify that the skills section has been tailored for each job
- Note that each CV filename includes the date, company name, and job title
Method 3: Using the Command Line
Scrape job listings:
job-apply-ai scrape --keyword "Software Engineer" --location "Berlin" --max-jobs 5This will save job listings to the
job_apply_ai/outputs/jobsdirectory.Generate tailored CVs for all jobs:
job-apply-ai batch --cv path/to/your/cv_template.docx --jobs-file job_apply_ai/outputs/jobs/linkedin_jobs_YYYY-MM-DD.xlsxReplace
path/to/your/cv_template.docxwith the path to your CV template andYYYY-MM-DDwith the current date.Check the generated CVs:
- Go to the
job_apply_ai/outputs/cvsdirectory - You'll find multiple CV files, each named with the date, company name, and job title
- Open each CV to verify that the skills section has been tailored for each job
- Go to the
Testing Individual CV Generation
If you want to test generating a CV for a single job:
View job details:
- In the web interface, click on "View Details" for a specific job
- Review the job description
Generate a CV for that job:
- Click "Tailor CV for This Job"
- Wait for the process to complete
- Click "Download Tailored CV" to download the CV
Folder Structure
The application uses the following folder structure for outputs:
job_apply_ai/outputs/jobs: Contains Excel files with job listingsjob_apply_ai/outputs/cvs: Contains generated CV files
Each CV is named using the format: CV_YYYY-MM-DD_CompanyName_JobTitle.docx
Troubleshooting
If you encounter any issues:
- Check the console output for error messages
- Verify that your CV template has a skills section (the application looks for headings like "skills", "technical skills", "core competencies", or "expertise")
- Make sure job descriptions are being fetched correctly (view job details in the web interface)
- Check file permissions if you're having trouble saving files
Advanced Testing
For advanced testing, you can modify the skills categories in job_apply_ai/cv_modifier/cv_analyzer.py to match your specific skills and expertise.
You can also test with different CV templates to see how the application handles different formats.