Table of Contents

🇬🇧 English version

Politique de données des exemples

Voir aussi : Exécuter votre premier exemple · Gabarit de README d'exemple · Conformité VFS · Retour à l'index

La plupart des exemples embarqués livrent leur définition de crew (config.yaml) et leur code, mais pas les données d'entrée sur lesquelles ils travaillent. Cette page explique pourquoi, et comment nourrir un exemple avec vos propres données.

La politique

  • Les exemples livrent de la configuration, pas des jeux de donnĂ©es. Un exemple est un crew que vous pouvez lire et exĂ©cuter — pas une distribution de donnĂ©es. Quand la section d'exĂ©cution d'un README dit « cet exemple ne livre pas encore de donnĂ©es d'exemple », c'est exactement cela : aucun fichier d'entrĂ©e n'est commitĂ© Ă  cĂ´tĂ© du config.yaml.
  • Les exemples vitrines qui ont besoin d'une fixture en portent une minuscule. Une poignĂ©e d'exemples livrent un petit Ă©chantillon synthĂ©tique pour tourner sans prĂ©paration. Ceux-lĂ  ont un tableau DonnĂ©es requises dans leur README et un --mount dans leur commande d'exĂ©cution ; les deux catĂ©gories se distinguent Ă  ce tableau.
  • Aucune donnĂ©e propriĂ©taire, protĂ©gĂ©e par le droit d'auteur ou personnelle n'est jamais commitĂ©e dans le dĂ©pĂ´t.

Pourquoi

  • Taille du dĂ©pĂ´t — des corpus rĂ©alistes (PDF, datasets, scrapes) alourdiraient le clone pour tous, alors que la plupart n'exĂ©cutent que quelques exemples.
  • Licences — les documents et jeux de donnĂ©es tiers portent leurs propres conditions ; nous ne les redistribuons pas.
  • FraĂ®cheur — beaucoup d'exemples travaillent sur des sources vivantes (actualitĂ©s, prix, pages web). Un instantanĂ© commitĂ© aujourd'hui est pĂ©rimĂ© demain ; laisser le crew rĂ©cupĂ©rer des donnĂ©es Ă  jour est prĂ©cisĂ©ment l'intĂ©rĂŞt.
  • ReproductibilitĂ© — vous contrĂ´lez exactement ce que voit le crew, ce qui rend les exĂ©cutions auditables et les rĂ©sultats vĂ´tres.

Comment un exemple obtient ses données

Selon le crew, l'une de ces trois choses est vraie :

  1. Les outils récupèrent leurs propres données. Les crews bâtis autour de web_scrape, http_api, search ou d'outils similaires tirent des données vivantes à l'exécution. Vous ne fournissez rien — juste un profil LLM et, généralement, un sujet via --var ou --initial-context. Voir la référence des flags dans Exécuter votre premier exemple.

  2. Vous montez vos propres entrées. Les crews qui lisent des fichiers locaux (PDF, CSV, JSON, une base de code) attendent que vous exposiez un répertoire hôte dans le système de fichiers virtuel du crew :

    orkeon run examples/<chemin>/config.yaml \
      --settings examples/appsettings/appsettings.deepseek.local.json \
      --mount ./data:/data:ro ./out:/output:rw
    

    Le config.yaml du crew référence les entrées par leur chemin virtuel (p. ex. /data/report.pdf), jamais par un chemin hôte. :ro pour les entrées, :rw pour tout ce que le crew écrit.

  3. Une fixture d'exemple commitée. Pour les exemples vitrines, la fixture est déjà dans le dossier de l'exemple et la commande d'exécution la monte pour vous — rien à fournir.

OĂą va la sortie

Par convention, les crews écrivent leurs résultats sur le montage /output. Mappez-le sur un répertoire local avec --mount ./out:/output:rw ; déclarer un montage /output:rw active aussi l'écriture automatique du résumé d'exécution.

Ajouter des données d'exemple (contributeurs)

Si votre exemple a réellement besoin d'une fixture embarquée :

  • Petite et synthĂ©tique. Quelques Ko de donnĂ©es Ă©crites Ă  la main ou gĂ©nĂ©rĂ©es, pas un extrait du monde rĂ©el.
  • Propre cĂ´tĂ© licences. Aucun contenu protĂ©gĂ© ou personnel. Si elle doit ressembler Ă  des donnĂ©es rĂ©elles, gĂ©nĂ©rez-la.
  • Placez-la dans le dossier de l'exemple et montez-la en lecture seule depuis la commande d'exĂ©cution (--mount ./data:/data:ro).
  • Documentez-la dans un tableau DonnĂ©es requises du README de l'exemple, en suivant le gabarit de README d'exemple. Ce tableau (plus un --mount dans la commande) est ce qui sort l'exemple de la catĂ©gorie « ne livre pas encore de donnĂ©es d'exemple ».

Jeux de données des vitrines

Un ensemble d'exemples vitrines (un par catégorie) livre une fixture embarquée pour tourner sur de vrais fichiers sans préparation. Leurs données sortent d'un générateur unique :

python3 scripts/generate-vitrine-data.py      # (re)génère chaque dossier data/ de vitrine

Règles suivies par ces fixtures, en plus du « petite et synthétique » ci-dessus :

  • DĂ©terministes. Le gĂ©nĂ©rateur utilise une graine RNG fixe : le relancer reproduit les fichiers commitĂ©s Ă  l'octet près. Ne modifiez jamais un fichier gĂ©nĂ©rĂ© Ă  la main — modifiez le gĂ©nĂ©rateur et relancez-le.
  • SynthĂ©tiques et petites. DonnĂ©es synthĂ©tiques uniquement (rien de rĂ©el, personnel ou propriĂ©taire) et moins de 100 Ko par fichier, sauf nĂ©cessitĂ© justifiĂ©e dans le README.
  • Aucune dĂ©pendance externe. CSV/JSON viennent de la stdlib Python ; les PDF sont Ă©crits par un mini-writer intĂ©grĂ© (police Helvetica standard, texte extractible par pdf_reader). Le script tourne sur un Python 3.9+ nu.
  • Les tâches nomment les chemins virtuels. Les descriptions de tâches du config.yaml rĂ©fĂ©rencent les chemins VFS concrets (p. ex. /data/experiment-measurements.csv) pour que l'agent lise le fichier livrĂ© au lieu d'inventer un chemin que le VFS rejetterait.

Quels outils déclenchent l'exigence de données

Un outil ne déclenche l'exigence « livrer une fixture » que s'il lit un chemin fourni par l'appelant à travers le VFS — csv_reader, pdf_reader, file_read, directory_read, docx_reader et similaires. Les outils qui n'exigent pas par eux-mêmes de fichier embarqué : json_tool (opère sur des chaînes JSON inline), file_write (écrit seulement), http_api / web_scrape (ressources distantes) et relational_database_query (chaîne de connexion fournie par l'appelant). Un exemple bâti uniquement sur ceux-là n'a pas besoin de dossier data/ ; voir examples/09-experimental/97-multi-party-negotiation, qui n'en livre aucun et passe son scénario via --initial-context.

Vérifier une fixture

Utilisez le flag de dry-run du runner pour confirmer que le crew se charge sous résolution stricte des outils et que le montage de données est accepté, sans appeler de LLM :

orkeon run examples/<chemin>/config.yaml \
  --mount examples/<chemin>/data:/data:ro --validate

Une ligne VALIDATION OK: … (agents=N, tasks=M, tools resolved=K) signifie le succès.

Piège de syntaxe des montages. Les valeurs répétées de --mount se passent séparées par des espaces sous un seul flag — --mount a:/data:ro b:/output:rw — et non comme deux flags --mount séparés (le parseur CLI rejette une option répétée).