In questa sezione

Questo tutorial costruisce sentiment-tagger, una cartuccia di sviluppo che accetta testo UTF-8 ed emette positive, neutral o negative. La cartuccia generata delega il giudizio alla capacità installata classify-en, così il percorso usa una vera peer call, il progresso del modello e output tipizzato.

Prima di iniziare

Installa la CLI capdag e il toolchain del linguaggio scelto. Il percorso Python richiede Python 3.11 o successivo e il pacchetto runtime:

python3 -m pip install capdag

Serve anche una cartuccia modello che fornisca classify-en. La prima esecuzione può scaricare un modello e quindi richiedere accesso alla rete.

Crea la cartuccia

capdag new sentiment-tagger --python
cd sentiment-tagger

La CLI accetta anche --rust, --go e --swift. I progetti in linguaggi compilati includono nel README generato le istruzioni di build.

Lo scaffold definisce:

  • una capacità e un alias specifici del progetto, sentiment-tagger;
  • URN media univoci per input e output;
  • la capacità identity obbligatoria;
  • un handler che chiama classify-en con un insieme chiuso di tre etichette; e
  • un manifest di sviluppo con registry_url uguale a null.

Ispeziona il manifest Python:

./cartridge.py manifest | python3 -m json.tool

La Cap URN personalizzata viene costruita con CapUrnBuilder. Conserva la stringa canonica restituita dal builder e usala per registrare l’handler; non costruire né confrontare Tagged URN come semplici stringhe.

Installala localmente

Per Python, installa direttamente lo scaffold:

capdag dev-install .

Compila i progetti Rust, Go o Swift prima di eseguire dev-install. Il comando verifica che il nuovo alias non sostituisca un alias già presente nel fabric e prepara la cartuccia nel registry dev dell’utente:

~/.capdag/cartridges/dev/v{registry-version}/nightly/sentiment-tagger/0.1.0/

Reinstallare la stessa versione aggiorna quella directory. Cambiare la versione nel manifest installa una versione separata.

Esegui la capacità

echo "I love this" | capdag sentiment-tagger

Esegui la capacità attraverso capdag, non invocando direttamente l’operazione dell’entry point. È l’host a instradare la peer call. Senza host, l’handler generato segnala Peer invocation not supported in this context.

Il risultato su stdout è una delle tre etichette configurate. Il progresso di download o inferenza del modello viene inoltrato attraverso l’host. Se nessuna cartuccia installata fornisce classify-en, la richiesta fallisce senza passare silenziosamente a un classificatore diverso.

Apporta una modifica

Modifica l’insieme di etichette, i metadati della capacità o la capacità peer. Ricompila una cartuccia compilata, poi reinstallala ed eseguila di nuovo:

capdag dev-install .
echo "I love this" | capdag sentiment-tagger

Questo ciclo modifica–compila–installa–esegui usa lo stesso host e lo stesso protocollo Bifaci di una cartuccia pubblicata.

Comprendi il contratto

Lo scaffold dimostra ciò che serve a ogni cartuccia:

  • un manifest che ne descrive identità e capacità;
  • Cap e Media URN che definiscono il contratto tipizzato;
  • un’operazione registrata con la Cap URN canonica del manifest;
  • input e output in streaming tramite Bifaci;
  • propagazione di progresso ed errori; e
  • peer invocation quando una parte del lavoro appartiene a un’altra cartuccia.

Per il tutorial completo e la tabella di troubleshooting, consulta Build and run a cartridge (in inglese). Usa il Riferimento degli SDK per cartucce per le librerie specifiche del prodotto e Cartucce su macOS per installazione, firma e distribuzione.