09 - Exécution locale complète
Cette page explique comment lancer toute la pile en local, sans Google Cloud.
Résultat attendu
matos-backendtourne en local,- l'agent parle au backend local,
- le bridge expose
/chatet/healthen local, - le frontend web permet de tester le flux complet.
Prérequis pour l'agent
Avant de lancer l'agent, vérifiez que vos variables d'environnement sont bien définies.
Au minimum, configurez :
export BACKEND_URL="http://localhost:8081"
export GOOGLE_API_KEY="votre-cle-gemini"
Pour obtenir votre clé Gemini, connectez-vous sur Google AI Studio puis générez une nouvelle clé API.
Vous pouvez aussi placer ces valeurs dans agent/.env si vous préférez ne pas les exporter à chaque terminal.
0. Cloner le dépôt
Si vous partez de zéro en local, commencez par cloner le repo :
git clone https://github.com/marcellintacite/ai-agent-with-adk
cd ai-agent-with-adk
1. Démarrer le backend Matos
Dans un premier terminal :
cd /Users/aksantibahiga/Documents/build_with_ai_workshop/matos-backend
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
export PORT=8081
python -m uvicorn src.main:app --host 0.0.0.0 --port 8081
Le backend sera disponible sur http://localhost:8081.
Si vous voyez encore une erreur du type No module named 'structlog', vérifiez que vous utilisez bien le Python du venv :
which python
which uvicorn
python -m pip show structlog
Si which uvicorn pointe vers le Python système, lancez toujours python -m uvicorn comme ci-dessus.
2. Démarrer l'agent
Dans un deuxième terminal :
cd /Users/aksantibahiga/Documents/build_with_ai_workshop/agent
source .venv/bin/activate
export BACKEND_URL="http://localhost:8081"
cd matos
adk run .
L'agent utilise alors le backend local pour rechercher des produits et enregistrer les prospects.
Si adk run . prend du temps au premier démarrage, laissez-le finir ses imports. Si vous appuyez sur Ctrl + C pendant cette phase, vous pouvez voir un KeyboardInterrupt comme dans votre capture, ce qui signifie simplement que vous avez interrompu le lancement avant la fin.
3. Démarrer le bridge
Dans un troisième terminal :
cd /Users/aksantibahiga/Documents/build_with_ai_workshop/backend
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
export BACKEND_URL="http://localhost:8081"
export ADK_SERVICE_URL="http://localhost:8000"
export ADK_APP_NAME="matos"
python -m uvicorn src.main:app --host 0.0.0.0 --port 8000
Le bridge expose POST /chat et GET /health.
Si vous obtenez cette erreur au démarrage du bridge : TypeError: unsupported operand type(s) for |: 'type' and 'NoneType', voici la solution :
- Utiliser Python 3.10 ou plus récent pour le venv du bridge.
- Vérifiez avec
python --versiondans le venv. - Si la version est trop ancienne, recréez le venv avec un Python plus récent, puis réinstallez les dépendances.
- Vérifiez avec
4. Démarrer le frontend
Dans un quatrième terminal :
cd /Users/aksantibahiga/Documents/build_with_ai_workshop/frontend
python3 -m http.server 5174
Ouvrez ensuite http://localhost:5174, puis utilisez http://localhost:8000 comme URL du bridge.
5. Ordre recommandé
- Lancez d'abord le backend local.
- Lancez ensuite l'agent.
- Lancez le bridge.
- Ouvrez le frontend dans le navigateur.
Vous obtenez ainsi une chaîne complète locale : frontend -> bridge -> agent -> backend.
6. Prompts de test
Essayez ces messages dans le frontend ou via le bridge :
Bonjour, je cherche un laptopniko na tafuta machine ya 16go RAMJe veux ce modèle, je m'appelle Amina, email amina@example.com
7. Vérification rapide
Si quelque chose ne répond pas :
curl -fsS http://localhost:8081/health
curl -fsS http://localhost:8000/health
Si le backend ne démarre toujours pas, relancez son venv et réinstallez les dépendances avec python -m pip install -r requirements.txt.