Votre premier workflow
Ce guide vous explique comment créer un workflow qui exécute une seule activité.
Prérequis
Prérequis
Pour suivre ce guide de démarrage, il vous faut :
- Un compte Mistral.
- Python 3.12 ou version ultérieure installé sur votre machine.
- uv installé dans votre environnement (
uvxest inclus avecuv).
Initialisez votre projet
Initialisez votre projet
Lancez la commande uvx suivante dans votre terminal :
uvx mistralai-workflows-cli setupCela crée la structure d’un projet Python prêt à l’emploi, avec le SDK Workflows déjà configuré, un exemple minimal de workflow et des commandes utilitaires pour lancer votre worker et démarrer des exécutions.
La commande vous invite à générer une clé API Mistral dans la Console Mistral. Suivez les instructions pour générer la clé API, puis fournissez-la à la commande quand demandé. Les clés API ne sont accessibles qu’une seule fois.
Ouvrez le répertoire du projet dans votre IDE préféré. Le nom par défaut est my-workflow, mais il correspond à ce que vous avez renseigné lors de l’étape de configuration.
Étape 1 : Définissez votre workflow et votre worker
Étape 1 : Définissez votre workflow et votre worker
Accédez à src/workflows/hello.py pour voir un exemple de workflow. Ce fichier contient le code suivant :
"""Exemple minimal de workflow — modifiez ce fichier ou créez-en de nouveaux."""
from pydantic import BaseModel
import mistralai.workflows as workflows
class HelloInput(BaseModel):
name: str = "World"
@workflows.activity()
async def greet(name: str) -> str:
"""Une activité simple qui renvoie un message de bienvenue."""
return f"Hello, {name}! Welcome to Mistral Workflows."
@workflows.workflow.define(
name="hello-world",
workflow_display_name="Hello World",
workflow_description="A minimal hello-world workflow.",
)
class HelloWorkflow:
@workflows.workflow.entrypoint
async def run(self, input: HelloInput) -> str:
return await greet(input.name)
Ce code définit un workflow Mistral qui reçoit un name en entrée et renvoie un message de bienvenue.
Ouvrez src/discover.py. Concentrez-vous sur l’extrait suivant :
await workflows.run_worker(discovered)Ce code découvre automatiquement tous les workflows dans le dossier src/workflows, puis les surveille grâce à la fonction run_worker de Mistral Workflows.
Étape 2 : Démarrez votre worker avec le workflow hello-world
Étape 2 : Démarrez votre worker avec le workflow hello-world
Depuis la racine de votre projet, lancez la commande suivante dans votre terminal pour démarrer le worker :
make start-workerCette commande démarre le worker, se connecte à l’API Mistral et enregistre votre workflow pour qu’il puisse attendre des tâches.
Pour plus d’informations sur cette commande, consultez le Makefile.
Pour voir le workflow en cours d’exécution, vous devez déclencher l’exécution via l’une des méthodes décrites à l’étape suivante.
Étape 3 : Déclenchez l’exécution de votre workflow
Étape 3 : Déclenchez l’exécution de votre workflow
Vous pouvez déclencher votre workflow via la Console Mistral, le SDK Python Mistral ou l’API Mistral.
Le projet my-workflow inclut également une commande Makefile pour déclencher facilement l’exécution de workflows.
- Ouvrez la Console Mistral et rendez-vous dans l’espace de travail où vous avez créé votre clé API.
- Cliquez sur Workflows dans la barre latérale.
- Sélectionnez hello-world.
- Lancez le workflow avec le bouton Start Workflow et l’entrée
{"name": <your_name>}. - Retrouvez votre exécution dans l’onglet Executions.
- Vérifiez la sortie du workflow :
{
"result": "Hello, <your_name>! Welcome to Mistral Workflows."
}Une fois vos tests terminés, appuyez sur Ctrl+C pour arrêter le worker.
Prochaines étapes
Prochaines étapes
Vous avez créé et exécuté votre premier workflow. Pour explorer des modèles complets de bout en bout, consultez les Exemples Cookbook. Pour approfondir les concepts de workflow, lisez Concepts fondamentaux – Workflows. Pour les schémas d’évolution et l’exécution simultanée de plusieurs workers, consultez Concepts fondamentaux – Monter en charge avec plusieurs workers.