Faire évoluer mon chatbot : un sprint d'une semaine pour des interactions plus intelligentes
J'ai reconstruit mon chatbot en une semaine, passant de simples résumés d'articles à une recherche en texte intégral avec découpage, sécurité et métadonnées — voici ce que j'ai appris sur l'équilibre entre puissance IA et coût.
Mise à jour (2026) : Ce chatbot a évolué pour devenir Sydney ! Après de nombreuses itérations, Sydney vit maintenant à /ask/ et se concentre sur le contenu du blog et les produits.
Quand j'ai lancé pour la première fois la version 0.1 de mon chatbot DIY la semaine dernière, mon objectif était de créer un agent conversationnel capable de synthétiser des informations à travers mes articles de blog pour répondre à des questions. Bien que la v0.1 représentait un grand premier pas en tant que novice en codage, elle avait des limitations significatives. La base de connaissances ne comprenait que des résumés de mes articles, et le chatbot avait du mal à récupérer des détails spécifiques comme les chiffres ou les dates avec précision. Ma motivation a été d'améliorer progressivement les capacités du chatbot par l'apprentissage pratique. Cet article fournit une mise à jour après une semaine d'optimisations. Mon focus a été d'élargir la base de connaissances pour inclure le contenu complet des articles, de renforcer les mesures de sécurité et d'optimiser le modèle IA pour un meilleur rapport coût-efficacité. Bien que le chatbot ait encore un long chemin à parcourir, ces améliorations initiales représentent des progrès prometteurs.
Voici ce qui a été fait depuis la dernière version :
1. Fonctionnalité
Le chatbot inclut tous les derniers articles jusqu'à fin octobre 2023
J'ai publié six articles de blog en octobre, tous maintenant inclus dans la base de connaissances du chatbot. Par exemple, tu peux poser des questions comme : "Dis-moi les points clés sur Coursera que Chandler a écrits" et le chatbot peut fournir une réponse basée sur les articles que j'ai écrits en octobre 2023.
La base de connaissances inclut l'article de blog complet vs juste le résumé
Pour la première version, en raison de mon manque de connaissances/expérience dans la gestion de la limitation de la longueur de fenêtre de contexte de l'API OpenAI, j'avais dû générer le résumé de chaque article de blog et les embedder en utilisant l'endpoint de l'API d'embedding d'OpenAI. Je ne savais pas comment découper l'article complet en sections plus petites et embedder chacune tout en gardant le contexte intact (c.-à-d. les métadonnées, l'URL, le titre, etc.).
La première itération du découpage a été faite cette semaine. La base de connaissances du chatbot a maintenant l'article complet vs juste le résumé. Il y a encore de la place pour amélioration au fur et à mesure que je continue à affiner la limite de découpage idéale et l'approche pour les longs articles. À ce stade, je divise les longs articles en sections plus petites de pas plus de 800 tokens de longueur et j'utilise le "paragraphe" comme point de rupture naturel.
De cette façon, dans la prochaine version, il peut répondre plus facilement à des questions sur des chiffres spécifiques écrits.
La date de publication, le titre et l'URL de l'article de blog sont inclus
Après que l'utilisateur entre une question, pendant le processus de récupération, le titre de l'article de blog, la date de publication et l'URL sont également fournis au chatbot. Le chatbot peut donc maintenant fournir l'URL spécifique ou les dates de publication aux utilisateurs si demandé.
Cela aidera à la validation au cas où les utilisateurs souhaitent vérifier ou lire l'article complet.
2. Sécurité
Des mesures de sécurité très basiques sont implémentées comme :
- Validation des entrées avant qu'elles ne soient envoyées à l'API
- Fonction de limiteur de débit basique c.-à-d. combien de questions tu peux poser par minute au chatbot
- Les requêtes et les réponses du chatbot sont validées avec l'API de modération d'OpenAI
3. GPT-4 vs GPT-3.5
Je vais continuer à utiliser le modèle GPT-3.5 pour le chatbot en raison du coût. Les réponses de GPT-4 sont bien meilleures que GPT-3.5. Cependant, parce que je n'ai pas encore trouvé la meilleure façon de travailler avec la longueur de la fenêtre de contexte tout en maintenant l'historique de la conversation, pour les questions complexes que le chatbot doit examiner à travers plusieurs articles, le coût par réponse est élevé comme 0,15 $ ou 0,2 $ par réponse avec GPT-4. Je ne peux pas me permettre ça pour l'instant pour ce projet hobby. T.T
C'est tout pour l'instant. Si tu veux essayer le chatbot, le voici à nouveau. Voici le lien vers mon précédent article sur le chatbot. Passe un bon week-end.
Si tu as construit ton propre chatbot ou travaillé avec des embeddings et du découpage, je suis curieux — quelle taille de chunk et quelle approche ont le mieux fonctionné pour toi ? J'expérimente encore :)
Prochaine étape dans le parcours chatbot : Quelques mois plus tard, j'ai reconstruit l'intégralité du chatbot de zéro en utilisant LangChain et FAISS — Comment je suis sorti des sables mouvants du code avec un agent IA.
Cordialement,
Chandler
P.S. : Le nouveau cours sur Generative AI for Everyone, enseigné par Andrew Ng, ne déçoit pas. C'est un cours Gratuit, qui te donnera des connaissances générales sur l'IA générative, comment les logiciels ou applications web Gen AI typiques sont construits, etc. C'est aussi assez court donc tu peux regarder toutes les vidéos en un week-end.





