Macro (CBS)
Scripting a graffe dentro qualsiasi testo di prompt.
Le macro sono token tra doppie parentesi graffe che si espandono al momento della richiesta. Funzionano nei campi dei personaggi, nelle voci dei lorebook, nei preset, nei saluti e nel testo della chat, e si annidano.
{{char}} smiles at {{user}}.
{{random::sunny::rainy::foggy}}
{{calc::1+2*3}}Gli argomenti si separano con doppi due punti. Le macro sconosciute si espandono in nulla invece di dare errore, quindi un errore di battitura non rompe mai una richiesta.
Le parentesi graffe singole non sono macro. Una coppia sola arriva al modello come testo letterale e compare nelle risposte, la causa abituale delle graffe vaganti. Coincide con SillyTavern, RisuAI e JanitorAI, quindi le loro card funzionano senza modifiche.
{{user}} expands to your persona name
{user} stays literal text| Macro | Si espande in |
|---|---|
{{char}} | Il nome del personaggio corrente (chat di gruppo: il parlante corrente). |
{{user}} | Il nome della tua persona. |
{{persona}} | La descrizione della tua persona. |
{{description}} | Il campo descrizione del personaggio corrente. |
{{lastmessage}} | Il testo del messaggio più recente. |
{{time}} / {{date}} | Ora / data correnti nella tua lingua e fuso orario. |
random sceglie un argomento nuovo a ogni espansione. pick fa una scelta che resta stabile per la conversazione. roll tira i dadi con la notazione d.
{{random::a::b::c}} {{pick::a::b::c}} {{roll::d20}}Tiri e valori casuali hanno un seed per turno: una rigenerazione riusa gli stessi valori, quindi fare swipe non ritira i dadi.
Le variabili di chat persistono per ramo di conversazione. Le variabili globali persistono in tutte le chat. Impostale in qualsiasi testo che supporti le macro o dagli script di trigger.
{{setvar::mood::happy}}
{{getvar::mood}}
{{setglobalvar::visits::1}}L'archiviazione per ramo significa che passare a un altro ramo ripristina lo stato delle variabili di quel ramo. I rami fratelli non si scambiano mai valori.
I blocchi racchiudono contenuto. if rende il suo corpo quando la condizione è vera. each cicla sugli array con sostituzione degli slot. when aggiunge rami else basati sulle righe.
{{#if {{equal::{{getvar::mood}}::happy}}}}
{{char}} is in a great mood.
{{/if}}
{{#each {{array::red::green::blue}} item}}
Color: {{slot::item}}
{{/each}}pure ed escape proteggono le graffe letterali dall'espansione. Qualsiasi tag di chiusura chiude il blocco aperto più interno.
Le macro di commento spariscono prima che il modello le veda, quindi vanno bene per le note dentro i campi delle card. Usa i blocchi pure per mostrare la sintassi delle macro alla lettera.
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}