Schémas de blocs
Référence complÚte du schéma YAML pour tous les blocs Sim
Cette section contient les définitions complÚtes du schéma YAML pour tous les types de blocs disponibles dans Sim. Chaque type de bloc a des exigences de configuration spécifiques et des formats de sortie.
Blocs fondamentaux
Voici les éléments essentiels pour créer des flux de travail :
Bloc de démarrage
Point d'entrée du flux de travail prenant en charge les déclencheurs manuels, les webhooks et les planifications
Bloc Agent
Traitement alimenté par l'IA avec intégration LLM et prise en charge d'outils
Bloc Fonction
Environnement d'exécution de code JavaScript/TypeScript personnalisé
Bloc Réponse
Formatage et renvoi des résultats finaux du flux de travail
Logique et flux de contrĂŽle
Blocs pour implémenter la logique conditionnelle et le flux de contrÎle :
Bloc Condition
Branchement conditionnel basé sur des expressions booléennes
Bloc Routeur
Routage intelligent alimenté par l'IA vers plusieurs chemins
Bloc Boucle
Traitement itératif avec des boucles for et forEach
Bloc ParallĂšle
Exécution simultanée sur plusieurs instances
Blocs d'intégration
Blocs pour se connecter Ă des services et systĂšmes externes :
Bloc API
RequĂȘtes HTTP vers des API REST externes
Bloc Webhook
Déclencheurs webhook pour intégrations externes
Blocs avancés
Blocs spécialisés pour des modÚles de flux de travail complexes :
Bloc Ăvaluateur
Valider les sorties selon des critÚres et métriques définis
Bloc Flux de travail
Exécuter d'autres flux de travail comme composants réutilisables
ĂlĂ©ments de schĂ©ma communs
Tous les blocs partagent ces éléments communs :
Structure de base
block-id:
type: <block-type>
name: <display-name>
inputs:
# Block-specific configuration
connections:
# Connection definitions
Types de connexion
- success : Bloc cible pour une exécution réussie
- error : Bloc cible pour la gestion des erreurs (facultatif)
- conditions : Chemins multiples pour les blocs conditionnels
Variables d'environnement
Utilisez des doubles accolades pour les variables d'environnement :
inputs:
apiKey: '{{API_KEY_NAME}}'
endpoint: '{{SERVICE_ENDPOINT}}'
Références de bloc
Référencez les sorties d'autres blocs en utilisant le nom du bloc en minuscules :
inputs:
userPrompt: <blockname.content>
data: <functionblock.output>
originalInput: <start.input>
RĂšgles de validation
Tous les blocs YAML sont validés par rapport à leurs schémas :
- Champs obligatoires : doivent ĂȘtre prĂ©sents
- Validation de type : les valeurs doivent correspondre aux types attendus
- Validation d'énumération : les valeurs de chaßne doivent provenir des listes autorisées
- Validation de plage : les nombres doivent ĂȘtre dans les plages spĂ©cifiĂ©es
- Validation de modÚle : les chaßnes doivent correspondre aux modÚles regex (le cas échéant)
Référence rapide
Types de blocs et propriétés
Type de bloc | Sortie principale | Cas d'utilisation courants |
---|---|---|
starter | .input | Point d'entrée du workflow |
agent | .content | Traitement IA, génération de texte |
function | .output | Transformation de données, calculs |
api | .output | Intégration de services externes |
condition | N/A (branchement) | Logique conditionnelle |
router | N/A (branchement) | Routage intelligent |
response | N/A (terminal) | Formatage de sortie finale |
loop | .results | Traitement itératif |
parallel | .results | Traitement concurrent |
webhook | .payload | Déclencheurs externes |
evaluator | .score | Validation de sortie, évaluation de qualité |
workflow | .output | Exécution de sous-workflow, modularité |
Obligatoire vs optionnel
- Toujours obligatoire :
type
,name
- Généralement obligatoire :
inputs
,connections
- Dépendant du contexte : les champs d'entrée spécifiques varient selon le type de bloc
- Toujours optionnel : connexions
error
, champs spécifiques à l'interface utilisateur