From 0e995788e002e29ca75ce3e1b535f741d3f28308 Mon Sep 17 00:00:00 2001 From: Sebastian Egli Date: Fri, 29 Aug 2025 10:59:14 +0200 Subject: [PATCH] add link to job/company in email --- Dockerfile | 30 +++++++++++++++++------------- job_suggestor.py | 9 ++++++--- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index bb7b8bd..9cc1bf8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,23 @@ -# 1. Use a lightweight Python image -FROM python:3.12-slim +FROM python:3.11-slim -# 2. Environment settings -ENV PYTHONUNBUFFERED=1 -ENV PIP_NO_CACHE_DIR=1 - -# 3. Set working directory inside the container +# Set working directory WORKDIR /app -# 4. Copy and install dependencies first (better caching) +# Install dependencies COPY requirements.txt . -RUN pip install -r requirements.txt +RUN pip install --no-cache-dir -r requirements.txt -# 5. Copy all your app files into the container -COPY . . +# Copy project files +COPY job_suggestor.py . +COPY cv_sebastian_egli.txt . -# 6. Set the default command to run your script -ENTRYPOINT ["python", "job_suggestor.py"] \ No newline at end of file +# already_suggested_companies.txt will be mounted as a volume, so we don't COPY it +# but let's make sure the file exists in container +RUN touch already_suggested_companies.txt + +# Environment variables (to be passed at runtime) +ENV GEMINI_API_KEY="" +ENV GMAIL_PW="" + +# Run script +CMD ["python", "job_suggestor.py"] \ No newline at end of file diff --git a/job_suggestor.py b/job_suggestor.py index b989aa8..11b2b44 100644 --- a/job_suggestor.py +++ b/job_suggestor.py @@ -15,6 +15,7 @@ class JobSuggestion(BaseModel): company_description: str job_title: str application_text: str + company_url: str # Load CV from file with open("cv_sebastian_egli.txt", "r", encoding="utf-8") as f: @@ -34,10 +35,11 @@ Schlage mir genau ein Unternehmen in der Nähe von Marburg vor, das noch nicht i und für eine Initiativbewerbung besonders gut zu meinem Profil passt. Erkläre in maximal 150 Wörtern prägnant, warum dieses Unternehmen eine besonders gute Wahl für mich wäre. -Formuliere die Antwort als kurze, professionelle Email mit dem Titel: 'Neuer Jobvorschlag'. +Formuliere die Antwort als kurze Email mit dem Titel: 'Neuer Jobvorschlag'. Begründe die Eignung anhand meiner Qualifikationen und Interessen. Füge außerdem einen einzelnen Satz hinzu, der direkt in einem Bewerbungsschreiben genutzt werden könnte, -um die Übereinstimmung zwischen mir und dem Unternehmen hervorzuheben. +um die Übereinstimmung zwischen mir und dem Unternehmen hervorzuheben. +Füge zum Schluss einen Link zu der Firmenwebsite hinzu. Liefere nur die Email, keine zusätzliche Erklärung.""",already_suggested_companies,cv] else: @@ -46,10 +48,11 @@ Schlage mir genau eine aktuell offene Stellenausschreibung in der Nähe von Marb und die besonders gut zu meinem Profil passt. Erkläre in maximal 150 Wörtern prägnant, warum diese Stelle eine besonders gute Wahl für mich wäre. -Formuliere die Antwort als kurze, professionelle Email mit dem Titel: 'Neuer Jobvorschlag'. +Formuliere die Antwort als kurze Email mit dem Titel: 'Neuer Jobvorschlag'. Begründe die Eignung anhand meiner Qualifikationen und Interessen. Füge außerdem einen einzelnen Satz hinzu, der direkt in einem Bewerbungsschreiben genutzt werden könnte, um die Übereinstimmung zwischen mir und der ausgeschriebenen Stelle hervorzuheben. +Füge zum Schluss einen Link zu der Stellenausschreibung oder zum Unternehmen hinzu. Liefere nur die Email, keine zusätzliche Erklärung.""",already_suggested_companies,cv]