AIHawk-FOSS / Auto_Jobs_Applier_AI_Agent

Auto_Jobs_Applier_AI_Agent by AIHawk is an AI Agent that automates the jobs application process. Utilizing artificial intelligence, it enables users to apply for multiple jobs in an automated and personalized way.
GNU Affero General Public License v3.0
22.64k stars 3.36k forks source link

[BUG]: Prompts for Style & perform Open AI API calls even if resume flag is not used. #820

Open Tgenz1213 opened 2 weeks ago

Tgenz1213 commented 2 weeks ago

Feature summary

The resume upload feature is unnecessary for every single application

Feature description

Users should be able to apply to jobs without uploading their resume every single time. The --resume flag without arg should enable the auto generate resume feature, and adding an argument allows the user to choose their resume path.

Motivation

It's unnecessary and sometimes the bot uploads a cover letter over my resume

Alternatives considered

Lazy approach would be to add a --disable-resume flag, but that's not as good as doing it the right way.

Additional context

Everyone that saw a cover letter instead of resume has rejected me...

Update:

The above can be deferred until GUI is implemented.

Situation

Default behavior allows users to run app without using correct LLM for autogenerating resumes. A TypeError is thrown much later (after minutes of bot scrolling and navigating jobs), which may not be seen if logs are not monitored closely.

Expectation

Default behavior should change to exit early when wrong LLM is specified in config.

For example, if using Ollama, app should not log into LinkedIn and should exit with a fatal error.

Value

  1. Clearly defines behavior of the app and expectations of the user
  2. Faster response to wrong config
  3. Faster debugging
surapuramakhil commented 2 weeks ago

@Tgenz1213 its current behavior. this is how it works if you don't pass --resume args it will enable resume generator.

Tgenz1213 commented 2 weeks ago

@surapuramakhil No, current behavior is auto-generate resume is always enabled. There should be an option to disable the upload feature. If I want to upload the same resume, I should be able to. Sometimes users won't have time to test different models and want to do something that just works without hurting their chances. We can't control the models and ensure that they upload a decent resume every time.

surapuramakhil commented 2 weeks ago

this is in ReadMe

Using a Specific Resume: If you want to use a specific PDF resume for all applications, place your resume PDF in the data_folder directory and run the bot with the --resume option:

python main.py --resume /path/to/your/resume.pdf

Tgenz1213 commented 2 weeks ago

@surapuramakhil I'm not sure what else to tell you, but please try it out yourself. The feature is always on. python main.py and python main.py --resume do the same exact thing.

image

image

surapuramakhil commented 2 weeks ago

its a dummy prompt - it won't do anything. i guess there was a PR raised for not prompt. if resume is passed.

surapuramakhil commented 2 weeks ago

@Tgenz1213 you can update this as bug

49Simon commented 1 week ago

Just to make sure @Tgenz1213:

I'm curious, what is the bug in this issue?

Tgenz1213 commented 1 week ago

@49Simon there's no bug at the moment. I created this as a feature request to change the behavior to:

  1. Default: no resume upload (use last uploaded resume that's already in LinkedIn)
  2. --resume: enable resume generation
  3. --resume "path": upload user resume once

@surapuramakhil said my suggested changes are the current behavior and changed issue this to a bug.

My newest complaint is that the default behavior assumes user is using OpenAI and doesn't handle it properly when they aren't. The observed default behavior without OpenAI is:

  1. Program starts even though the wrong LLM model is being used.
  2. It uses the last uploaded resume (in the way I desire, but this is apparently wrong).
Tgenz1213 commented 1 week ago

Actually, the bug is calling the resume generator with anything besides "openai" and causing a TypeError

49Simon commented 1 week ago

My newest complaint is that the default behavior assumes user is using OpenAI and doesn't handle it properly when they aren't. The observed default behavior without OpenAI is:

  1. Program starts even though the wrong LLM model is being used.
  2. It uses the last uploaded resume (in the way I desire, but this is apparently wrong).

When not using OpenAI, the current behavior is:

  1. Without passing your own resume: If you dont pass any resume, it will try to generate resume, but since custom resume generation is only supported for OpenAI, it will throw an error and end up not applying to any job.
  2. Passing your own resume: The workaround for the above case has been to pass your own resume file and it will be used for all job applications.
Tgenz1213 commented 1 week ago

Users shouldn't need workarounds. The case should be caught early and not sift through jobs if it's expected to not apply. So should the behavior be exit early or use resume?

surapuramakhil commented 1 week ago

@49Simon there's no bug at the moment. I created this as a feature request to change the behavior to:

  1. Default: no resume upload (use last uploaded resume that's already in LinkedIn)
  2. --resume: enable resume generation
  3. --resume "path": upload user resume once

@surapuramakhil said my suggested changes are the current behavior and changed issue this to a bug.

My newest complaint is that the default behavior assumes user is using OpenAI and doesn't handle it properly when they aren't. The observed default behavior without OpenAI is:

  1. Program starts even though the wrong LLM model is being used.
  2. It uses the last uploaded resume (in the way I desire, but this is apparently wrong).

@Tgenz1213 if this is the case, kindly update ticket as feature. unless you explicitly said "behavior 1,2,3" I guess it's tough to grasp what you mean"

49Simon commented 1 week ago

As I previously commented in (3.) if its not going to apply it should exit early and ask users to pass their resume file.

surapuramakhil commented 1 week ago

Users shouldn't need workarounds. The case should be caught early and not sift through jobs if it's expected to not apply. So should the behavior be exit early or use resume?

@Tgenz1213 describe expected behavior

Tgenz1213 commented 1 week ago

@surapuramakhil two requests now:

  1. Change behavior to exit early - if conditions aren't at the beginning of the run, don't confuse. It takes too long to test.
  2. My original suggestion still stands but maybe could be deferred until there's a GUI so users can review resumes before they're uploaded. I certainly don't trust the AI to make a perfect catered resume every time. When I was playing with main, it was uploading cover letters as resumes even though it named them CV.

I think it's more important (and easy/faster) to do 1. My original behavior change fits a design where catered resumes are not absolutely necessary for a "job applier" but are rather a "nice option." But still, belay my original request - let's focus on making it easier to understand for us and users. So when we refactor, we can stay on the same page and collectively avoid regressions.

Tgenz1213 commented 1 week ago

As I previously commented in (3.) if its not going to apply it should exit early and ask users to pass their resume file.

I expect it to do that when there's no --resume flag. "python main.py" will run as if nothing is wrong then throw an unhandled error and keep going. I would expect it to stop early and say "Non-OpenAI model detected - please use OpenAI or upload your own resume."

Tgenz1213 commented 1 week ago

If I'm still not clear, I can make a quick video walking through what I'm talking about and why I think it can be improved.

surapuramakhil commented 1 week ago

@Tgenz1213 can you share value add (benefit from this change). can you update this properly (adding everything) https://github.com/AIHawk-FOSS/Auto_Jobs_Applier_AI_Agent/issues/820#issue-2651368888 I don't think anyone would read entire conversation to understand what feature is about.

Tgenz1213 commented 1 week ago

@Tgenz1213 can you share value add (benefit from this change). can you update this properly (adding everything) https://github.com/AIHawk-FOSS/Auto_Jobs_Applier_AI_Agent/issues/820#issue-2651368888 I don't think anyone would read entire conversation to understand what feature is about.

I updated it. Please let me know if it's good.

github-actions[bot] commented 3 days ago

This issue has been marked as stale due to inactivity. Please comment or update if this is still relevant.