Comment j'ai construit mon propre chatbot sans expérience en codage : leçons apprises
J'ai construit un chatbot fonctionnel avec zéro connaissance en codage en 5 mois en utilisant l'API GPT et ChatGPT 4 — voici comment je l'ai fait et ce que j'ai appris en tant que débutant complet.
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.
Depuis la sortie de chatGPT l'année dernière, je suis fasciné par l'IA générative et je voulais explorer la construction de mon propre chatbot en utilisant l'API disponible. En tant que débutant complet sans aucune expérience en programmation, c'était un objectif ambitieux. Cependant, j'étais déterminé à me pousser pour acquérir une expérience pratique avec les systèmes IA. Ma motivation était d'aller au-delà de l'utilisation de ces outils et de commencer à développer une compréhension plus profonde de la façon dont ils sont construits. J'ai décidé de tirer parti de mon contenu existant en créant un chatbot capable de répondre à des questions sur les articles de mon blog. Construire ce chatbot de toutes pièces a été une expérience d'apprentissage inestimable, même s'il lui reste encore un long chemin à parcourir. Dans cet article, je vais partager certaines des leçons clés que j'ai apprises jusqu'à présent dans ce parcours en tant que novice en codage.
Quels étaient donc mes défis ?
- Pour commencer, je ne savais pas programmer. Je ne savais pas grand-chose (voire rien) sur HTML (au-delà de l'utilisation de
<h1>ou<h2>), encore moins sur Python ou tout autre langage de programmation. - Bien sûr, je ne savais pas comment déployer une application dans le cloud, je n'avais jamais entendu parler de Docker, Cloud Run, etc. auparavant.
- Je ne pouvais même pas migrer ce site web de Bluehost vers GCP parce que je ne connaissais pas MySQL, les instances virtuelles, etc.
- Je ne connaissais ni SSH, ni clé publique, ni clé privée ni rien de tout ça T.T
- Je n'avais pas non plus de background en machine learning ou en mathématiques avancées.
- Et je ne suis plus tout jeune :| J'ai 40 ans, avec un travail à temps plein.
Mais après environ 5 mois, voici la version 0.1 du chatbot que j'ai construit, en utilisant l'API GPT d'OpenAI et beaucoup d'aide de ChatGPT 4. Je ne plaisante pas quand je dis version 0.1 parce qu'il est encore loin (très loin) de ce que j'espérais mais bon, il "fonctionne" (en quelque sorte). Ce qu'il peut faire :
- Si tu poses au chatbot une question sur des sujets précédents que j'ai écrits, le chatbot peut synthétiser le contenu à travers plusieurs articles et te fournir une réponse.
- Ce point est important pour moi parce qu'auparavant j'avais écrit sur l'implémentation de solutions clé en main mais le problème courant est que ces chatbots ne synthétisent pas le contenu entre les articles. Le chatbot "ressemble" davantage à une fonction de recherche qu'à un chatbot.
- Il est conçu pour répondre uniquement aux questions sur mes articles de blog, donc si tu lui poses des questions sur d'autres sujets, il dira probablement non.
- Ses connaissances comprennent tous les articles que j'ai publiés au cours des 17 dernières années, jusqu'à la fin de septembre 2023. C'est environ 500 articles.
Il y a tellement de choses que le chatbot ne peut PAS encore faire, comme :
- Il ne peut pas rappeler avec précision un chiffre spécifique dans un article que j'ai écrit.
- Il ne peut pas répondre avec précision à des questions sur les dates de publication.
- Je suis sûr qu'il a de nombreux problèmes de sécurité T.T (triste, triste, triste)
- et bien d'autres encore
Mise à jour Février 2024 :
La version 2.1 du chatbot est disponible et tu peux consulter l'article à ce sujet "Chatbot v2.10 dévoilé : élever l'expérience utilisateur avec une vitesse, une évolutivité et une simplicité améliorées."
Alors qu'ai-je appris au cours de cette première phase de ce parcours ?
1. ChatGPT 4 peut accomplir la plupart des tâches de codage basiques/intermédiaires
si tu sais ce que tu cherches et que tu es spécifique dans tes prompts/partage de contexte.
La clé ici est de savoir quoi demander à la machine de faire. Il peut faire "presque toutes" les tâches de codage données du moment que les tâches sont suffisamment spécifiques. Je dis "presque toutes" intentionnellement parce qu'il échoue répétitivement à suivre certains exemples donnés.
Le code que génère chatGPT 4 est souvent assez modulaire pour pouvoir être réutilisé plus tard. La machine inclut souvent des commentaires spécifiques tout au long du code aussi.
2. Suivre des cours/leçons fondamentaux de codage/IT
Si tu étais dans ma situation, tu ne saurais pas quoi demander sur ce que tu ne sais pas. Quelques façons de surmonter ça :
- Explique l'objectif général du projet à chatGPT et demande-lui de te donner un aperçu de toutes les étapes. Cela te donnera approximativement une idée des domaines sur lesquels tu devras en apprendre davantage
- Si tu suis aveuglément ce que chatGPT te dit de faire, ça peut ne pas avoir de sens. (J'ai essayé ça :P)
- Ces cours fondamentaux me sont super utiles. Ils me donnent des connaissances larges (mais pas profondes) pour que je sache comment différentes pièces du puzzle sont censées s'assembler.
3. Suis ces cours GRATUITS et courts sur la construction de systèmes avec l'API ChatGPT
Deux cours sur l'API chatGPT te feront gagner beaucoup de temps :
Bien que ces cours soient pour les débutants, quand je les ai découverts il y a quelques mois, je n'avais pas assez de connaissances fondamentales pour même suivre ce qui était dit. Donc j'ai arrêté de les regarder après environ 10 minutes. Puis après avoir essayé de travailler avec l'API OpenAI et différents prompts pendant un moment, bloqué, je me suis souvenu de ces cours. En gros, ils m'ont donné toutes les réponses dont j'avais besoin pour construire cette version 0.1
Le cours d'ingénierie des prompts est particulièrement utile parce qu'il me montre comment demander à chatGPT de produire d'une certaine façon. Par exemple, je n'aurais pas pensé à ce type de message système sans regarder le cours :
"Assure-toi de poser à l'utilisateur des questions de suivi pertinentes."
Le format de puces compatible HTML et les sauts de ligne aident à rendre les réponses beaucoup plus faciles à lire pour les utilisateurs du chatbot quand les réponses sont longues.
4. Lis la documentation OpenAI réelle toi-même
Je suis paresseux (:D) donc au début je n'ai pas pris la peine de lire la documentation d'OpenAI. J'ai simplement copié et collé la documentation dans chatGPT et lui ai demandé de l'utiliser comme sources de référence et de me guider avec des codes réels. Ça n'a pas très bien fonctionné et j'ai perdu beaucoup de temps avant de décider de lire la documentation moi-même et de formuler des demandes plus ciblées à chatGPT.
5. ChatGPT se perd facilement quand la conversation est trop longue ou quand tu t'arrêtes après quelques heures
Je suppose que je ne devrais pas être surpris par ça parce que similairement à un humain, chatGPT se perd facilement quand la conversation devient trop longue. Qu'est-ce que je veux dire par là ?
- Il commence à recommander des codes qui n'ont aucun sens
- Ou il ne peut pas rappeler un autre morceau de code/conseil qu'il m'a récemment donné
Aussi quand tu cesses de travailler avec lui pendant quelques heures (ou une nuit) et que tu reviens, même après avoir demandé à chatGPT de lire l'intégralité de l'historique de la conversation et de confirmer qu'il l'a fait, similairement à un humain, je dois lui fournir beaucoup plus de contexte récent et de base de code à nouveau. Sinon, il semble complètement "oublier" de nombreux détails qu'il m'avait dits avant.
6. L'API GPT 4 est coûteuse à utiliser, alors essaie GPT 3.5 autant que possible
Par exemple, j'ai gâché 20 $ en utilisant l'API GPT 4 pour une tâche de résumé que GPT 3.5 peut bien faire. Assure-toi également de tester le code sur quelques fichiers d'abord avant de le "lâcher" sur des centaines de fichiers parce que les coûts de l'API GPT peuvent s'accumuler rapidement.
7. L'OpenAI Cookbook est ton ami
Encore une fois, j'ai commis l'erreur de ne pas prendre la peine (ou plus précisément de ne pas savoir) de consulter le sample cookbook d'OpenAI au préalable. Là-dedans, tu peux trouver :
- Comment compter les tokens avec tiktoken : c'est important parce que si tu demandes simplement à chatGPT de faire ça, il s'appuiera sur d'anciennes méthodologies pour GPT 3 et non l'approche la plus récente
- Répondre aux questions en utilisant la recherche basée sur les embeddings : j'utilise essentiellement la même approche pour construire la version 0.1 du chatbot.
8. La longueur de la fenêtre de contexte est délicate à gérer pour les débutants
Différents modèles GPT ont différentes limites maximales de tokens et modifier le code pour s'assurer de rester dans la limite de tokens n'est pas facile pour les novices (comme moi). J'ai dû passer beaucoup de temps sur cette partie parce que j'ai de nombreux articles de blog qui sont très très longs.
De plus pour le chatbot, je veux qu'il synthétise le contenu à travers plusieurs articles avant de donner une réponse, j'ai donc souvent atteint la limite de tokens.
9. Contrôle de version, contrôle de version et contrôle de version
C'est probablement super intuitif pour les experts mais pour les novices en codage comme moi, j'ai dû l'apprendre à la dure. Et j'ai aussi dû apprendre la bonne fréquence de commit git qui fonctionne pour ce projet, puisque je suis le seul contributeur/codeur.
Conclusion
En résumé, ce parcours de construction de chatbot en tant que débutant m'a appris l'importance d'apprendre les fondamentaux, de tirer parti de ChatGPT pour des tâches ciblées, d'étudier la documentation de l'API, et d'utiliser le contrôle de version. Bien qu'il reste encore beaucoup de place à l'amélioration, j'ai maintenant un prototype de base qui peut synthétiser des informations à travers mes articles de blog pour répondre à des questions. À l'avenir, mes priorités sont d'élargir la base de connaissances du chatbot pour couvrir le nouveau contenu, d'améliorer sa capacité à récupérer des détails précis dans les articles, et d'optimiser ses réponses pour rester dans les limites de tokens. Je prévois également de continuer à améliorer mes compétences dans des domaines comme l'ingénierie des prompts et le déploiement cloud.
C'est tout de ma part. Je continuerai à faire des mises à jour sur les leçons apprises et à partager quand la nouvelle version sera disponible.
As-tu essayé de construire quelque chose avec l'API OpenAI en tant que non-développeur ? J'adorerais savoir ce qui t'a le plus bloqué — pour moi c'était définitivement les limites de la fenêtre de contexte et le contrôle de version :P
Une semaine après
Après un sprint d'une semaine, j'ai complété des mises à jour supplémentaires du chatbot. Pour en lire davantage, va ici "Faire évoluer mon chatbot : un sprint d'une semaine pour des interactions plus intelligentes."
Cordialement,
Chandler





