Comment créer une IA qui rôtit vos habitudes de dépenses (projet de week-end de 3 heures)

DEV - 19/01
Construire un torréfacteur financier IA que les gens veulent réellement utiliser Laissez-moi vous montrer comment construire le...

Construire un torréfacteur financier IA que les gens veulent réellement utiliser

Laissez-moi vous montrer comment créer le conseiller financier le plus brutalement honnête que vous ayez jamais rencontré : une IA qui ne se soucie pas de vos sentiments.

J'aime construire des choses que les gens utilisent réellement. C'est pourquoi je voulais créer un projet de didacticiel qui enseignerait aux développeurs comment créer des applications d'IA que les gens aiment réellement utiliser. Car soyons honnêtes, la plupart des tutoriels d’IA sont des calculatrices et des chatbots ennuyeux.

Le projet ? Finance Roaster : les utilisateurs téléchargent leur relevé bancaire et se font torréfier par GPT-4 avec un humour sauvage et plein d'esprit.

Ce tutoriel vous apprendra :

Comment traiter les relevés bancaires CSV et PDF

Comment concevoir des invites d'IA pour l'humour et la personnalité

Comment créer une UI/UX partageable et digne d'un virus

Comment créer une application IA en moins de 100 lignes de Python

À la fin de ce guide, vous disposerez d'une application entièrement fonctionnelle que vous pourrez déployer ce week-end.

La psychologie : pourquoi ce concept de projet fonctionne

Avant de plonger dans le code, expliquons pourquoi cela constitue un si bon projet de didacticiel.

Les applications de budgétisation traditionnelles sont ennuyeuses. Ils vous montrent des diagrammes circulaires et vous disent de « réduire les dépenses discrétionnaires ». Pas vraiment digne d’être partagé.

Mais une IA qui dit : « 87 $ chez Foods Co pour du chou frisé biologique ? Votre portefeuille est aussi flétri que ce chou frisé le sera dans trois jours » ? C'est mémorable. C’est le genre de fonctionnalité qui donne envie aux gens de tester votre application.

Trois principes qui rendent ce projet intéressant :

L'humour rend les tâches ennuyeuses amusantes - Les gens évitent de vérifier leurs finances parce que c'est pénible. L’ajout d’humour change cette dynamique.

Hautement partageable : lorsque vous créez quelque chose d'amusant, les gens veulent naturellement le montrer à leurs amis. Cela vous apprend les mécanismes de la viralité.

Apprentissage pratique - Vous apprendrez le téléchargement de fichiers, l'ingénierie des invites d'IA et la création d'interfaces utilisateur claires, toutes des compétences transférables.

La pile technologique (parfaite pour l'apprentissage)

J'ai délibérément choisi une pile simple que les débutants peuvent comprendre tout en étant prête pour la production.

Ce que nous utiliserons :

Backend : Flask (Python) - 100 lignes de code

Moteur AI : GPT-4o-mini d'OpenAI (0,15 $ par million de jetons)

Traitement des fichiers : Pandas pour CSV, pdfplumber pour les relevés PDF

Frontend : page HTML unique avec Tailwind CSS

Coût par demande : ~0,01 $

Pourquoi cette pile est parfaite pour apprendre :

Aucune complexité de déploiement (fonctionne localement ou sur un seul serveur)

Temps de réponse inférieurs à 3 secondes

Vous apprend la gestion des fichiers, l'intégration de l'IA et la conception d'une interface utilisateur moderne

Facilement extensible (ajoutez des fonctionnalités à mesure que vous en apprenez davantage)

Partie 1 : Faire comprendre à l'IA l'argent (la partie facile)

Premier défi : Comment apprendre à une IA à rôtir les dépenses de quelqu'un ?

Étape 1 : Extraire les données de transaction

La plupart des banques exportent les relevés au format CSV ou PDF. Voici la logique d'extraction :

importer des pandas en tant que pd importer pdfplombier depuis openai importer OpenAI def process_csv(file): """Extraire le résumé des dépenses du relevé bancaire CSV""" df = pd.read_csv(file) # Trouver la colonne de montant (les banques utilisent des noms différents) montant_col = next( (col pour col dans df.columns le cas échéant (kw dans col.lower() pour kw dans ['montant', 'débit', 'spent'])), df.columns[-1] # Dernière colonne par défaut) # Convertir en numérique, gérer les symboles monétaires df[amount_col] = pd.to_numeric( df[amount_col].astype(str).str.replace('$', '').str.replace(',', ''), erreurs='coerce' ) # Calculer le résumé total_spent = df[montant_col].abs().sum() top_expenses = df.nlargest(5, montant_col) return { 'total_spent' : f"${total_spent:,.2f}", 'top_expenses' : top_expenses.to_dict('records') }
Entrer en mode plein écran Quitter le mode plein écran

La gestion des PDF est plus délicate car les banques formatent les relevés différemment. Solution? Utilisez pdfplumber pour l'extraction de texte, puis laissez GPT-4 l'analyser :

def extract_transactions_from_pdf(pdf_text): """Utiliser l'IA comme analyseur de secours pour les PDF complexes""" réponse = client.chat.completions.create( model="gpt-4o-mini", messages=[{ "role": "system", "content": "Extraire les transactions : Date | Description | Montant" }, { "role": "user", "content": pdf_text[:4000] # Limiter le...
[Courte citation de 8% de l'article original]
Loading...