Retour aux projets

Python · Automatisation avec l'IA

Un pipeline d'IA qui classe les offres et prépare les candidatures

Un flux Python qui recueille des offres d'emploi à distance, retire les doublons, évalue la correspondance avec plusieurs fournisseurs d'IA, prépare des documents adaptés et transmet les meilleures offres dans Telegram.

Data EngineeringApplied AI
Flux planifié historique
236exécutions historiques
220exécutions réussies
142tests lors de la dernière exécution
3groupes de fournisseurs d'IA

Le problème

Ce qui devait changer

Chercher des offres pertinentes exige de consulter plusieurs sources, revoir les mêmes annonces et préparer sans cesse des documents similaires. Je voulais un seul flux qui gère ces étapes et conserve un historique clair de chaque résultat.

Mon approche

Comment je l'ai abordé

Le flux applique des règles simples avant d'appeler un modèle d'IA, enregistre chaque étape dans Supabase et essaie un autre fournisseur lorsque le premier est indisponible.

Flux du système

Comment les éléments se connectent

  1. 01Sources d'emploi
  2. 02Collecte asynchrone + normalisation
  3. 03Dédoublonnage Supabase
  4. 04Préfiltre déterministe
  5. 05Évaluation + adaptation LLM
  6. 06DOCX + envoi Telegram

Ce que j'ai créé

Ce qui est inclus

  • Adaptateurs asynchrones pour plusieurs sources avec dédoublonnage dans le lot et la base.
  • Préfiltrage par règles avant l'évaluation LLM pour limiter les coûts et le bruit.
  • Chaîne de repli Gemini, Groq et OpenRouter avec suivi des limites d'utilisation.
  • Télémétrie des jetons, de la latence, des réussites et des erreurs pour chaque tentative.
  • CV et lettres adaptés en DOCX avec écritures atomiques.
  • Envoi dans Telegram et état persistant pour éviter les avis répétés.

Décisions clés

Les choix qui ont façonné le projet

01

Utiliser des règles avant l'IA

Des règles simples éliminent les incompatibilités évidentes avant tout appel au modèle. Cette étape réduit les coûts et reste facile à expliquer.

02

Consigner chaque solution de repli

Les changements de fournisseur, limites d'utilisation, temps de réponse et jetons sont enregistrés plutôt que cachés dans une boucle de relance.

03

Éviter les affirmations inventées

Les éléments proposés sont comparés au profil structuré; tout résultat non justifié revient à une sélection déterministe.

Résultat

Ce que j'ai livré

Ce projet démontre un flux complet d'automatisation avec collecte, dédoublonnage, supervision des modèles, génération de documents et livraison.

Prochaine amélioration

Ce que je ferais ensuite

J'ajouterais un jeu d'évaluation fixe, réactiverais la planification et créerais une page de suivi des sources, de la fiabilité, des coûts et des résultats.

Outils et méthodes

PythonSupabaseGitHub ActionsGeminiGroqOpenRouterTelegrampython-docx

Étude de cas suivante

Cycle de vie des batteries

Un rapport Power BI interactif qui aide les équipes d'exploitation à évaluer la durée de vie des batteries, comparer la consommation aux moyennes historiques, examiner les appareils et planifier la maintenance par emplacement.

Continuer l'exploration