L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

core-components-and-structured-io

core-components-and-structured-io

Build service-free AdalFlow Component, DataClass, Prompt, parser, and structured-output pipelines.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: core-components-and-structured-io description: "Build service-free AdalFlow Component, DataClass, Prompt, parser, and structured-output pipelines." disable-model-invocation: true metadata: disco-role: operating license: MIT

Core Components and Structured I/O

Use this sub-skill when a task needs AdalFlow's service-free building blocks:

  • Component, DataComponent, Sequential, nested component/parameter registration, state dictionaries, and lifecycle methods.
  • DataClass, required_field, JSON/YAML/schema/signature helpers, and nested dataclass serialization.
  • DataClassParser, string parsers, output parser selection, and Jinja Prompt rendering.
  • Small deterministic task-pipeline prototypes that do not call a live provider.

Do not use this sub-skill for live model calls, provider clients, or Generator internals; route those to model-client-and-generator-workflows. Route tool/agent/streaming work to agents-tools-and-streaming, and trainer/optimizer work to evaluation-and-optimization.

Load order

  1. Read core API reference for verified signatures, lifecycle rules, object relationships, and routing boundaries.
  2. Read structured I/O and parsers for copyable DataClass, parser, prompt, and mini-pipeline recipes.
  3. If behavior is surprising, read troubleshooting before changing code.
  4. For a deterministic environment check, run structured IO smoke or core component smoke. These scripts do not use provider credentials, network, datasets, or model calls.

Operating rules

  • Always call super().__init__() before assigning child Component or Parameter attributes in a custom Component.
  • Implement call for synchronous inference. Implement acall only when the component genuinely has async work. Implement forward or bicall only for training-mode behavior.
  • In train() mode, Component.__call__ expects a Parameter output; in eval() mode, it rejects Parameter outputs. DataComponent is intentionally non-trainable and dispatches directly to call.
  • Decorate every DataClass subclass with @dataclass; use field(metadata={"desc": ...}) or metadata={"description": ...} to make prompt schemas useful.
  • Prefer default_factory for mutable fields, and use required_field() when a required field must appear after optional fields.
  • For structured model outputs, generate prompt instructions with DataClassParser.get_output_format_str() and parse service-free strings with the same parser before connecting a Generator elsewhere.
Skills enregistrées