AI Rekrutacja CLI

Python 566 PLN
Praca 1 z 9
AI Recruiting CLI

Konsolowe narzędzie Python dla agencji rekrutacyjnej. Automatyzuje cały cykl przetwarzania ofert pracy: od surowego pliku tekstowego pracodawcy — do wiersza w Google Sheets.

Problem

Agencja codziennie otrzymuje od pracodawców pliki z ofertami pracy w dowolnych formatach — TXT, CSV, DOCX. Każda firma ma swój układ, język (ukraiński / polski / rosyjski) i swój sposób dzielenia ofert w pliku. Operatorzy ręcznie przenosili dane do tabeli — wolno i z błędami.

Rozwiązanie

Pipeline składający się z 6 etapów z interaktywnym potwierdzeniem operatora na każdym kluczowym kroku:

Plik wejściowy → Podział na bloki → Czyszczenie tekstu → Gemini LLM → Excel → Google Sheets

Parsowanie — rozpoznaje 6+ formatów dzielenia ofert: puste linie, tab-digest w pierwszej linii. Usuwa duplikaty w różnych językach (firmy wysyłają jedną ofertę w 3–4 językach jednocześnie).

Czyszczenie — wycina linki, telefony, e-maile i szablonowe tokeny przed wysłaniem do LLM, zmniejszając koszt zapytania.

Structured Output — Gemini wypełnia 13 pól przez schemat Pydantic i response_schema. Mapowanie odpowiedzi na obiekty — według vacancy_id z tagu XML, a nie według indeksu (ochrona przed utratą przy częściowej odpowiedzi wsadu). Trzy poziomy parsowania: response.parsed → model_validate_json() → JSON fallback.

Deduplikacja — SHA-256 dla dokładnych dopasowań + MinHash (próg 0.85) dla nieprecyzyjnych, z przechowywaniem w SQLite.

Excel — zapisuje wynik w .xlsx z timestamp, operator może edytować ręcznie przed załadowaniem.

Google Sheets — dopisywanie przez gspread (OAuth). Ładowanie tylko po wyraźnym potwierdzeniu operatora (y/n).

Technologie

LLM: google-genai — Gemini Flash
Structured Output: pydantic v2 + response_schema
Konsola/UI: rich
Google Sheets: gspread + google-auth (OAuth)
Excel: openpyxl
Deduplication: datasketch MinHash + sqlite3
Konfiguracja: pyyaml
Klucze API: keyring (Windows Credential Manager)
Logi: loguru
Retry: tenacity

Przy pierwszym uruchomieniu kreator pyta o klucz API Gemini i zapisuje go w Windows Credential Manager przez keyring — klucz nie jest przechowywany w plikach projektu.

Interesujące szczegóły

thinking_budget=1024 — w Gemini włączony jest tryb myślenia dla zwiększenia dokładności strukturalnego wyjścia.
Batching — oferty są wysyłane do LLM grupami (tagi XML vacancy id="...") , mapowanie po id chroni przed utratą oferty przy niepełnej odpowiedzi.
Śledzenie kosztów — liczy tokeny i USD za sesję, ostrzega przy przekroczeniu progu z konfiguracji.
Portable — kompilowane do .exe przez PyInstaller do przekazania operatorowi bez środowiska Python.

#python #automation #AI #LLM #Gemini #GoogleSheets #recruiting #CLI #pydantic #opensource
Szczegóły
  • Dodana:
50

Freelancer

  • Zleceń 6
  • Ocena -
  • Ranking 620
Zarejestruj się

Jeśli masz konto, zaloguj się

Wskaźniki

  • Ostatnia wizyta: 4 dni 22 godziny temu