Course

Construire un chatbot métier de A à Z

Construire, tester et mettre en ligne Alti, l'assistant d'une salle de sport fictive : cadrage, prompt système, mémoire, connaissances métier, page web en streaming, journal, satisfaction et Cloud Run.

Beginner 9 lessons 4h
Start the course
Progress 0% · 0/9

This content is not translated yet. Showing the original version.

Un chatbot « métier », c'est un assistant qui connaît une entreprise, répond à ses clients, avec son ton, et sait dire « je ne sais pas ». Pas besoin d'agent, de base vectorielle ni de framework : un bon prompt système, une mémoire courte, une fiche de connaissances et une petite API web suffisent pour la grande majorité des cas.

Fil rouge : Alti, l'assistant en ligne de la Salle Altitude, une salle de sport fictive. Il répond sur les horaires, les tarifs, les cours et le règlement, refuse les conseils médicaux, ne prend jamais d'IBAN, et chaque réponse est journalisée et notée par l'utilisateur.

Pour qui ?

  • Vous débutez avec les LLM (grands modèles de langage, comme Gemini) et vous savez lancer un script Python.
  • Vous voulez livrer un assistant concret à une équipe (support client, accueil, assistant interne), pas une démo.
  • Aucune connaissance préalable de FastAPI, de JavaScript ou de Google Cloud n'est nécessaire : tout est expliqué.

Ce que l'on construit

flowchart LR
  U["Navigateur : index.html"] -->|"POST /chat (JSON)"| A["API FastAPI : app.py"]
  A --> C["chatbot.py"]
  C --> P["Prompt système + fiche connaissances.md"]
  C --> M["Mémoire : 10 derniers messages"]
  C -->|"streaming"| G["Gemini (gemini-3.5-flash)"]
  G -->|"morceaux de texte"| A -->|"flux texte"| U
  C --> J["journal.jsonl : échanges et avis"]
  J --> S["GET /stats : satisfaction, latence"]

Prérequis

  • Python 3.10 ou plus récent.
  • Une clé d'API Gemini gratuite, créée dans Google AI Studio, à placer dans un fichier .env (modèle : files/.env.example).
  • Pour le module 4 seulement : un projet Google Cloud avec la facturation activée (la lecture suffit sinon).

Programme

ModuleLeçonsDurée indicative
1. Cadrer et écrire le promptFiche de cadrage (périmètre, ton, refus) ; prompt système et premier échange1h
2. Mémoire et connaissancesMémoire de conversation ; connaissances métier dans le contexte50 min
3. Interface et mesureAPI FastAPI en streaming ; page HTML/JS ; journal et satisfaction1h20
4. Production et projet finalCloud Run expliqué (et testé) ; projet final : votre propre chatbot50 min

Le code du lab

Tout est dans files/ : chatbot.py (la logique), app.py (l'API), index.html (la page), connaissances.md (la fiche métier), console.py (discuter dans le terminal), test_chatbot.py (8 tests sans clé), test_http_reel.py (vrai serveur, vrai modèle) et un Dockerfile.

terminal
cd files
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env            # puis mettez votre vraie clé dans .env
pytest -q test_chatbot.py       # sans clé, en moins d'une seconde
uvicorn app:app --reload        # puis ouvrez http://localhost:8000

En local ou sur GCP ?

En localSur Google Cloud (module 4)
ModèleAPI Gemini avec GOOGLE_API_KEYAPI Gemini, ou Vertex AI sans clé (compte de service)
Serveuruvicorn sur votre machineCloud Run : conteneur, HTTPS, mise à l'échelle automatique
Journalfichier journal.jsonlCloud Logging (sortie standard en JSON)
Coûtgratuit dans les limites du palier gratuitfacturé à l'usage, proche de zéro au repos

Le code a été exécuté et testé le 2026-10-15 : tests sans clé, conversation réelle par HTTP, conteneur Docker et déploiement Cloud Run (puis suppression).

Resources

Download all (.zip)

References