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 :

  1. Un compte Mistral.
  2. 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 | bash

Assurez-vous que la CLI figure dans votre PATH. Ouvrez un nouveau terminal et vérifiez l'installation :

mistral --version

L'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-workflow

Cette 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 dev

Cette 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.

  1. Ouvrez la Console Mistral et accédez à l'espace de travail où vous avez créé votre clé API.
  2. Cliquez sur Workflows dans la barre latérale.
  3. Sélectionnez hello-world.
  4. Lancez le workflow à l'aide du bouton Démarrer le workflow et de l'entrée {"name": <your_name>}.
  5. Retrouvez votre exécution dans l'onglet Exécutions.
  6. 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.