Macro (CBS)
Kịch bản dấu ngoặc nhọn trong bất kỳ văn bản prompt nào.
Macro là các thẻ đặt trong ngoặc nhọn đôi, được mở rộng lúc gửi yêu cầu. Chúng dùng được trong các ô nhân vật, mục sổ tri thức, cấu hình dựng sẵn, lời chào và văn bản trò chuyện, và có thể lồng nhau.
{{char}} smiles at {{user}}.
{{random::sunny::rainy::foggy}}
{{calc::1+2*3}}Các đối số được phân cách bằng dấu hai chấm đôi. Macro lạ mở rộng thành rỗng thay vì báo lỗi, nên một lỗi gõ sai không bao giờ làm hỏng yêu cầu.
Một cặp ngoặc nhọn đơn không phải là macro. Một cặp như vậy đi thẳng tới mô hình dưới dạng văn bản thuần và xuất hiện trong câu trả lời, đây là nguyên nhân thường gặp của những dấu ngoặc thừa. Cách này giống SillyTavern, RisuAI và JanitorAI, nên thẻ của họ chạy được mà không cần sửa.
{{user}} expands to your persona name
{user} stays literal text| Macro | Mở rộng thành |
|---|---|
{{char}} | Tên nhân vật hiện tại (trong chat nhóm: người nói hiện tại). |
{{user}} | Tên persona của bạn. |
{{persona}} | Mô tả persona của bạn. |
{{description}} | Trường mô tả của nhân vật hiện tại. |
{{lastmessage}} | Văn bản của tin nhắn gần nhất. |
{{time}} / {{date}} | Giờ / ngày hiện tại theo ngôn ngữ và múi giờ của bạn. |
random chọn lại một đối số mới ở mỗi lần mở rộng. pick đưa ra một lựa chọn giữ nguyên suốt cuộc trò chuyện. roll gieo xúc xắc theo ký hiệu d.
{{random::a::b::c}} {{pick::a::b::c}} {{roll::d20}}Các lần gieo và random được cố định theo lượt: tạo lại sẽ dùng lại đúng những giá trị đó, nên vuốt chuyển không gieo lại xúc xắc.
Biến trò chuyện tồn tại theo từng nhánh của cuộc trò chuyện. Biến toàn cục tồn tại trên mọi cuộc trò chuyện. Đặt chúng trong bất kỳ văn bản nào hỗ trợ macro, hoặc từ kịch bản kích hoạt.
{{setvar::mood::happy}}
{{getvar::mood}}
{{setglobalvar::visits::1}}Lưu trữ theo nhánh nghĩa là khi vuốt sang nhánh khác, trạng thái biến của nhánh đó được khôi phục. Các nhánh cùng cấp không bao giờ rò giá trị sang nhau.
Các khối bao lấy nội dung. if kết xuất phần thân khi điều kiện đúng. each lặp qua mảng kèm thay thế vị trí. when thêm các nhánh else theo dòng.
{{#if {{equal::{{getvar::mood}}::happy}}}}
{{char}} is in a great mood.
{{/if}}
{{#each {{array::red::green::blue}} item}}
Color: {{slot::item}}
{{/each}}pure và escape bảo vệ các dấu ngoặc nhọn thuần khỏi bị mở rộng. Bất kỳ thẻ đóng nào cũng đóng khối đang mở ở trong cùng.
Macro ghi chú biến mất trước khi mô hình nhìn thấy, nên chúng hợp để viết chú thích trong các ô của thẻ. Dùng khối pure để hiển thị nguyên văn cú pháp macro.
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}