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-encon un insieme chiuso di tre etichette; e - un manifest di sviluppo con
registry_urluguale anull.
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.