Komponenten-API

Ein component ist eine wiederverwendbare typisierte Code-Einheit — Python oder C++ —, deklariert durch ein component.yml-Manifest plus ein src/-Verzeichnis. Diese Seite ist die einzige Übersicht über die gesamte Komponenten-Fläche: die Manifest-Felder, das Typsystem und die Python- und C++-runtime-APIs. Sie bleibt absichtlich auf der Übersichtsebene — die erschöpfende Referenz pro Feld und pro Modul wird über die CLI und den in-shell-Agent (ppl docs get …, ppl docs tree) ausgeliefert, sodass die Tiefe genau dort lebt, wo du tatsächlich baust.

Das Manifest

Jedes component trägt eine component.yml an seiner Wurzel, die Identität, Build-Umgebung, typisierte I/O, config-Parameter, Datei- und Modellabhängigkeiten und optionale HTTP-Endpunkte deklariert. Das Manifest ist seine eigene Referenz — siehe Component contract für jedes Feld, mit Beispielen für config_schema, file_schema, generated_file_schema, cache und http.

Typsystem

Jeder type:-Slot — I/O, config und file bindings — verwendet dieselbe Typausdruck-Grammatik.

  • Typausdruck-Syntax — Atomare, Listen [T], Generics T<U>, Unions T | U, Tupel (A, B) und Records {f: T}.
  • Typen — die Übersicht über das Typsystem und die Wertliteral-Grammatik, die ppl backend change-parameter erwartet.
  • Benannte Typen — der Katalog von Image, AudioFrame, Tensor und den Geometrie-Primitiven.
  • File-type-Katalog — die file_type-Werte, die ein file_schema-Slot akzeptiert.

Sprach-APIs

Die runtime-API teilt sich nach Sprache auf — je eine Seite, beide auf dem Manifest und Typsystem oben aufgebaut. Jede Sprache ergänzt Operationsfamilien (Vision in beiden; Metriken, Signalverarbeitung und klassisches ML in Python), die über die CLI erreichbar sind.

  • Python-Komponenten-API — der run(handler)-Einstiegspunkt, config und mutable-Sync, zustandsbehaftete und Streaming-Muster, virtuelle I/O und die Media-Wrapper. Die Sprache für schnelle Iteration.
  • C++-Komponenten-API — die component-Klasse, I/O-Formen, runtime-Helfer, Media-Wrapper und Domain-Clients. Die Performance-Sprache.

Agent-Brief

  • Agent-Metadaten — das AGENT.yml / AGENT.json-Schema, das nachgelagerte Agents lesen, um ein component aus dem Katalog auszuwählen.

Build und Release

Das Manifest und die Sprach-APIs enden beim Quellcode; der Lebenszyklus rundherum lebt in den concept- und flow-Seiten.

Vollständige Referenz in der CLI

Das tiefe Detail für jeden Abschnitt oben ist nur einen Befehl entfernt:

ppl docs get component-api/component-contract      # every manifest field, with examplesppl docs get type-api/type-syntax        # the full type grammarppl docs get component-api/python/component    # Python entrypoint; swap the last segment per moduleppl docs get component-api/cpp/component        # C++ entrypoint; swap the last segment per moduleppl docs tree | grep '^component-api/'         # list every reference page

Verwandt

War diese Seite hilfreich?