Guide de démarrage : construire votre premier workflow
Ce guide vous accompagne dans la création d'un workflow qui exécute une seule activité.
Prérequis
Prérequis
Pour suivre ce guide de démarrage, vous avez besoin de :
- Un compte Mistral.
- uv installé dans votre environnement.
Créer la structure de votre projet
Créer la structure de votre projet
Installez la CLI Mistral :
curl -fsSL https://mistral.ai/cli/install.sh | bashAssurez-vous que la CLI figure dans votre PATH. Ouvrez un nouveau terminal et vérifiez l'installation :
mistral --versionL'exécution du worker en local nécessite Bun, dont le programme d'installation propose l'installation. Voir Installer la CLI Mistral.
Créez ensuite un projet avec mistral workflows init :
mistral workflows init my-workflow
cd my-workflowCette commande crée la structure d'un projet Python prêt à l'emploi, avec le SDK Workflows déjà configuré, et vous demande votre clé API Mistral.
Ouvrez le répertoire du projet dans l'IDE de votre choix. Le nom par défaut est my-workflow, mais il correspond au nom que vous avez saisi lors de la configuration.
Étape 1 : définir votre workflow et votre worker
Étape 1 : définir votre workflow et votre worker
Créez le fichier apps/worker/src/worker/workflows/hello.py avec le code suivant :
from pydantic import BaseModel
import mistralai.workflows as workflows
class HelloInput(BaseModel):
name: str = "World"
@workflows.activity()
async def greet(name: str) -> str:
"""A simple activity that returns a greeting."""
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 prend un name en entrée et renvoie un message d'accueil.
Ouvrez apps/worker/src/worker/entrypoints/worker.py. Concentrez-vous sur l'extrait de code suivant :
workflow_classes = workflows.discover_all_workflows_in_package("worker.workflows")
await workflows_client.run_worker(workflow_classes)Ce code détecte les classes de workflow dans le répertoire apps/worker/src/worker/workflows et les transmet à run_worker(), qui les enregistre et démarre le worker.
Étape 2 : exécuter votre worker avec le workflow hello-world
Étape 2 : exécuter votre worker avec le workflow hello-world
Depuis la racine du répertoire de votre projet, exécutez mistral apps dev dans votre terminal pour démarrer le worker :
mistral apps devCette commande démarre le worker, se connecte à l'API Mistral et enregistre votre workflow afin qu'il puisse attendre des tâches. Pour voir le workflow en cours d'exécution, vous devez déclencher une exécution à l'aide de l'une des méthodes décrites à l'étape suivante.
Étape 3 : déclencher l'exécution de votre workflow
Étape 3 : déclencher l'exécution de votre workflow
Vous pouvez déclencher votre workflow à l'aide de la Console Mistral, du SDK Python de Mistral ou de l'API Mistral.
- Ouvrez la Console Mistral et accédez à 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 à l'aide du bouton Démarrer le workflow et de l'entrée
{"name": <your_name>}. - Retrouvez votre exécution dans l'onglet Exécutions.
- 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.
Aller plus loin
Aller plus loin
Vous avez créé et exécuté votre premier workflow. Pour en savoir plus sur les concepts liés aux workflows, consultez Concepts fondamentaux - Workflows. Pour découvrir les schémas de mise à l'échelle et l'exécution de plusieurs workers, consultez Mise à l'échelle horizontale.