Référence du flux de travail YAML
Guide complet pour écrire des flux de travail YAML dans Sim
Les flux de travail YAML offrent un moyen puissant de définir, versionner et partager des configurations de flux de travail dans Sim. Ce guide de référence couvre la syntaxe YAML complÚte, les schémas de blocs et les meilleures pratiques pour créer des flux de travail robustes.
Démarrage rapide
Chaque flux de travail Sim suit cette structure de base :
version: '1.0'
blocks:
start:
type: starter
name: Start
inputs:
startWorkflow: manual
connections:
success: agent-1
agent-1:
type: agent
name: "AI Assistant"
inputs:
systemPrompt: "You are a helpful assistant."
userPrompt: 'Hi'
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'
Concepts fondamentaux
DĂ©claration de version : Doit ĂȘtre exactement version: '1.0'
(avec guillemets)
Structure des blocs : Tous les blocs de flux de travail sont définis sous la clé blocks
Références de bloc : Utilisez les noms de blocs en minuscules sans espaces (par ex., <aiassistant.content>
)
Variables d'environnement : Référencez avec des doubles accolades {{VARIABLE_NAME}}
Types de blocs
Sim prend en charge plusieurs types de blocs principaux, chacun avec des schémas YAML spécifiques :
Bloc de démarrage
Point d'entrée du flux de travail avec prise en charge des déclencheurs manuels, webhooks et planifiés
Bloc d'agent
Traitement alimenté par l'IA avec prise en charge d'outils et de sorties structurées
Bloc de fonction
Exécution de code JavaScript/TypeScript personnalisé
Bloc API
RequĂȘtes HTTP vers des services externes
Bloc de condition
Branchement conditionnel basé sur des expressions booléennes
Bloc de routeur
Routage intelligent alimenté par l'IA vers plusieurs chemins
Bloc de boucle
Traitement itératif avec des boucles for et forEach
Bloc parallĂšle
Exécution simultanée sur plusieurs instances
Bloc webhook
Déclencheurs webhook pour les intégrations externes
Bloc d'évaluateur
Validation des sorties selon des critÚres et métriques définis
Bloc de flux de travail
Exécution d'autres flux de travail comme composants réutilisables
Bloc de réponse
Formatage de sortie finale du flux de travail
Syntaxe de référence des blocs
L'aspect le plus critique des workflows YAML est de comprendre comment référencer les données entre les blocs :
RĂšgles de base
- Utilisez le nom du bloc (pas l'ID du bloc) converti en minuscules avec les espaces supprimés
- Ajoutez la propriété appropriée (.content pour les agents, .output pour les outils)
- Lors de l'utilisation du chat, référencez le bloc de départ comme
<start.input>
Exemples
# Block definitions
email-processor:
type: agent
name: "Email Agent"
# ... configuration
data-formatter:
type: function
name: "Data Agent"
# ... configuration
# Referencing their outputs
next-block:
type: agent
name: "Next Step"
inputs:
userPrompt: |
Process this email: <emailagent.content>
Use this formatted data: <dataagent.output>
Original input: <start.input>
Cas particuliers
- Variables de boucle :
<loop.index>
,<loop.currentItem>
,<loop.items>
- Variables parallĂšles :
<parallel.index>
,<parallel.currentItem>
Variables d'environnement
Utilisez des variables d'environnement pour les données sensibles comme les clés API :
inputs:
apiKey: '{{OPENAI_API_KEY}}'
database: '{{DATABASE_URL}}'
token: '{{SLACK_BOT_TOKEN}}'
Bonnes pratiques
- Gardez les noms de blocs lisibles : « Email Processor » pour l'affichage dans l'interface
- Référencez les variables d'environnement : ne codez jamais en dur les clés API
- Structurez pour la lisibilité : regroupez logiquement les blocs liés
- Testez progressivement : construisez les workflows étape par étape
Prochaines étapes
- Syntaxe de référence des blocs - RÚgles de référence détaillées
- Schémas complets des blocs - Tous les types de blocs disponibles
- Exemples de workflow - ModÚles de workflow réels