Sim

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 :

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

  1. Utilisez le nom du bloc (pas l'ID du bloc) converti en minuscules avec les espaces supprimés
  2. Ajoutez la propriété appropriée (.content pour les agents, .output pour les outils)
  3. 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

Référence du flux de travail YAML