#
Context Template
Aplica-se a: APIs de Text Completion
Para configurações equivalentes em APIs de Chat Completion, use Prompt Manager.
Geralmente, modelos de IA exigem que você forneça os dados do personagem de alguma maneira específica. O SillyTavern inclui uma lista de regras de conversão pré-fabricadas para diferentes modelos, mas você pode personalizá-las como quiser.
Edite essas configurações no painel "Advanced Formatting".
#
Story String
Este campo é um template para o preâmbulo do prompt (conhecido internamente como story string). Esta é a principal maneira de adicionar as informações definidas em Character Cards para modelos de text completion e instruct.
O template suporta sintaxe Handlebars, injeções de texto personalizadas ou formatação, e quaisquer outras macros. Veja a referência da linguagem aqui: https://handlebarsjs.com/guide/
Fornecemos os seguintes parâmetros ao avaliador Handlebars (envolvidos em chaves duplas):
{{anchorBefore}}: Prompts definidos para usar a posição "Before Story String".{{anchorAfter}}: Prompts definidos para usar a posição "After Story String".{{description}}: A Description do personagem.{{scenario}}: O Scenario do personagem.{{personality}}: A Personality do personagem.{{system}}: O system prompt OU a substituição do main prompt do personagem (se existir e "Prefer Char. Prompt" estiver habilitado em User Settings).{{persona}}: A descrição da persona selecionada.{{char}}: O nome do personagem.{{user}}: O nome da persona selecionada.{{wiBefore}}ou{{loreBefore}}: Entradas combinadas de World Info ativadas com Position definido como "Before Char Defs".{{wiAfter}}ou{{loreAfter}}: Entradas combinadas de World Info ativadas com Position definido como "After Char Defs".{{mesExamples}}: (Opcional) Os Example Dialogues do personagem, formatados em instruct com um separador.{{mesExamplesRaw}}: Os Example Dialogues do personagem em formato bruto, sem qualquer formatação.
Importante
Ao usar {{mesExamples}} na Story String, defina "Example Messages Behavior" no painel User Settings como "Never include examples" para evitar duplicar mensagens de exemplo no prompt.
Uma macro especial {{trim}} é suportada para remover quaisquer novas linhas que a cercam. Use-a se você quiser que uma parte do texto não seja separada da linha anterior por uma nova linha (espaços não são removidos).
AVISO: Se qualquer um dos parâmetros acima estiver faltando no template de story string, eles não serão enviados no prompt de forma alguma.
#
Prompt Anchors
Os {{anchorBefore}} e {{anchorAfter}} são placeholders genéricos para prompts adicionados por várias extensões e recursos diversos em uma posição estática escolhida, por exemplo:
#
Posição da Story String
Por padrão, a story string renderizada (com todos os placeholders substituídos) é colocada no início do prompt, seguida por mensagens de exemplo e o histórico de chat visível.
Alternativamente, você pode movê-la para uma posição dinâmica escolhendo a opção "In-chat @ Depth", que coloca a story string em uma profundidade específica no contexto do chat.
Atenção
Se o template contiver elementos de prompt estáticos (prefixos ou sufixos específicos do modelo) para envolver a story string, usar a posição "In-Chat @ Depth" fará com que ela seja incorretamente envolvida duas vezes com sequências duplicadas, o que pode levar a resultados inesperados.
Neste caso, você pode corrigir o problema de uma das seguintes maneiras:
- Templates integrados: Redefina os templates para seus padrões usando as etapas descritas em Advanced Formatting.
- Templates personalizados: Mova os elementos estáticos do template de story string para Story String Sequences.
#
Envolvimento da Story String
A seção seguinte aplica-se apenas quando Instruct Mode está ON.
- Posição Default: A Story String renderizada será envolvida usando as sequências definidas em Story String Sequences.
- Posição In-chat @ Depth: A Story String renderizada será envolvida usando as sequências definidas em Chat Messages Sequences para uma função escolhida (padrão: System).
#
Example Separator
Usado como um cabeçalho de bloco e um separador entre os blocos de diálogo de exemplo. Qualquer instância de tags <START> nos diálogos de exemplo será substituída pelo conteúdo deste campo.
#
Chat Start
Inserido como um separador após a story string renderizada e após os blocos de diálogos de exemplo, mas antes da primeira mensagem no contexto.
#
Separators as Stop Strings
Adiciona "Example Separator" e "Chat Start" à lista de strings de parada.
Útil se o modelo tende a alucinar ou vazar blocos inteiros de diálogo de exemplo precedidos pelo separador.
#
Names as Stop Strings
Adiciona nomes de Character e User Persona à lista de strings de parada.
Recomendado manter ligado para evitar personificação do modelo.
#
Always add character's name to prompt
Esta configuração não tem efeito quando Instruct Mode está ON. O comportamento do nome é definido pela opção selecionada Include Names.
Adiciona o nome do personagem ao prompt para forçar o modelo a completar a mensagem como o personagem:
** OTHER CONTEXT HERE **
Character: