Guia de criação de Bots por Iorveths


Última atualização - 02/03/2024


Índice:


Olá, esse guia traduzido vem diretamente de um dos criadores de conteúdo mais famosos do JanitorAI - Iorveths com mais de 200 bots com prompts únicos.

Tenha em mente que não há forma correta ou errada de fazer um bot! A maioria das LLM são capazes de pegar informações dos mais diferentes formatos. Deixamos claro que não somos experts ou profissionais.! Isso é apenas um guia para ter uma eficiência para os bots - neste caso, a pesquisa e testagem foi totalmente de Iorveth -. O objetivo para fazer bots é obter personagens coesos, acurados e com o mínimo de tokens permanentes.

Esse guia foi primariamente escrito com a presunção de que o user esteja usando o bot com GPT-3.5/4 ou JLLM com as configurações predefinidas.
Lembrando que a JanitorLLM está em beta e em constante desenvolvimento, levando a muitas mudanças. Este guia poderá ser atualizado da mesma forma!


Terminologia

(Relevante na criação de bots)

LLM = Large Language Model ou Grande Modelo de Linguagem. É a ferramenta IA que dá o suporte necessário para engajar uma conversa com os bots. Diferentes LLM irá ter diferentes outputs com diversas respostas baseado no seu input - no caso, o que você está escrevendo como um comando. Os modelos GPT-3.5 tem filtros NSFW - Not Safe for Work - que irão fazer os bots engajar em conversas respeitosas, fluídas e com linguagem antiquada.
Tokens = Você pode pensar em tokens como pedaços de palavras onde 1.000 tokens são 750 palavras. Isso também é utilizado para contexto ou memória. Basicamente, quanto mais tokens permanentes você utilizar, menos memória o bot irá trabalhar durante o roleplay.
{{char} = Se refere ao nome do personagem como um input na criação do bot, ou seja, se o seu bot se chamar Jerry mas você colocou como ¨JERRY, O MACHO ALFA MAFIOSO”, {{char}} irá aparecer como JERRY, O MACHO ALFA MAFIOSO.
{user} = Se refere a pessoa que está falando com o bot - irá aparecer o nome do user nos chat, como por exemplo; {{user}} está sorrindo. Batata está sorrindo.
Temperatura/Temperature/Temp = O quão criativo a AI está sendo ou o quanto ela vai alucinar. Temp mais baixo = mais lógico, coeso. Mas também pode ser alvo de muitas repetições.


INFORMAÇÕES DE PERSONAGEM

Coloque um nome no seu bot, imagem ou avatar, tags. Introdução na verdade quer dizer “uma pequena linha abaixo da foto dos bots”. Iorveth cita no guia que gosta de descrever o personagem e o cenário para que as pessoas saibam do que se trata os bots. É interessante dizer se o bot tem algum tipo de POV - fem, masc ou qualquer/any. - e avisos de conteúdo caso tenha algum tema sensível.

As tags Limitless ou Limited são apenas para indicar se o bot é NSFW ou SFW. Atualmente é possível engajar conversas eróticas ou de cunho sexual com bots SFW, ou seja, caso esteja pensando em criar um bot menor de idade, animalesco, infantil ou com laços sanguíneos, tenha em mente este detalhe.


PERSONALIDADE

Todas as informações relevantes sobre um personagem estão aqui. Backstory, personalidade, como você quer que seu bote aja ou fale, dentre outros. Aqui também irá os seus tokens permanentes - dados que os bots irão (tentar) lembrar durante todo o roleplay.

Aqui citarei um exemplo extremamente simples para minimizar a contagem de tokens.

[NOME DO PERSONAGEM;
Personalidade=Confiante, Brincalhão, Leal, Convencido
Cabelo=Longo, Rabo de Cavalo, Castanho
Olhos=Azuis
Roupa=Jeans, Jaqueta, Óculos de Sol
Sotaque=Escocês
Relacionamentos=Guarda-costas de {{user}} (contratado pelos pais)
Background=PERSONAGEM cresceu como filho único em uma fazenda.
Outros=PERSONAGEM age mais como um amigo ou irmão mais velho para {{user}} do que um guarda-costas.
PERSONAGEM é alérgico a morangos.
]

Sobre formato

Você verá muitos bots nesses estilo:
[Personagem(¨ nome”) idade(“0”) Tamanho (“0”) Corpo(“x¨+x¨+¨x”+x”) etc]
Porém, isso é uma forma de gastar tokens de forma desnecessária. A LLM não requer que você precise separar a informação em muitas formas usando parênteses ou aspas. Irá funcionar da mesma forma.

Personalidade (“Tímido” + “Adorável” + “Ansioso”) **[21 tokens]** irá dar a mesma quantidade de informação do que;{{char}} é tímido, adorável e ansioso.**[10 tokens]** ouPersonalidade=tímido, adorável, ansioso` [9 tokens]

Outra opção válida é o formato narrativo (exemplo; ”PERSONAGEM é um goblin viajante. Tem o cabelo rosa brilhante e olhos dourados com grossos, escuros cílios. PERSONAGEM é tímido, adorável e ansioso diante a muitas pessoas, mas pode ser bem vulgar quando irritado. Ele tem um sotaque carregado irlandês e tem um ódio por cachorros devido à sua infância traumática.” etc.), o que pode ser em menos tokens mas é bem eficiente.

Claro, você pode usar qualquer formato que quiser, funcionam extremamente bem para a sua função, mas é sempre bom salvar alguns tokens.


Características

Prioridade Baixa Prioridade
Gênero/Sexo Espécies *
Personalidade/Mentalidade Sexualidade**
Traços/%green%Aparência *** Tamanho/Peso
Roupa//Vestimenta/Estilo Gosta\Odeia
Fala/Modo de falar
Profissão/Trabalho/Ocupação
Background/História
Relacionamento(s)
Outros/Descrição/Notas/Fatos

(green palavras são umas simples alternativas para parafrasear a característica desejada.)

Você ainda pode usar as características de baixa prioridade; apenas podem ser deixadas de lado para uma menor contabilização de tokens permanentes.

* Ior teve uma experiência mista com a LLM em questão de espécies. É mais seguro escrever a espécie e se tem algum traço não humano.
** Naturalmente todos os bots são atraídos por todos os gêneros menos se especificar.
*** Você pode separar em diferentes categorias como cabelo, olhos, tatuagens, etc. ou fazer isso em uma única linha embaixo de “Características” se preferir.

Modelo em Branco para um bot

Aqui está um exemplo simples para começar a testar seus conhecimentos ;)

(NOME;
Apelido=
Roupa=
Cabelo=
Olhos=
Caracteristicas=
Fala=
Trabalho/Ocupação=
Personalidade=
Background=
Gosta=
Odeia=
Outros=
)

Uma pequena observação em BACKGROUND

Você pode se sentir tentado a apenas copiar e colar uma wikipedia de um personagem ou escrever a história de vida desde o nascimento. Por favor, considere isso:
A não ser que o cenário esteja designado ao redor disso, (exemplo, o personagem é um xerife procurando vingança dos criminosos que mataram a família dele/dela.) irá vir muito raramente em um roleplay.
O seu personagem tem um background que impacta em como eles estão “agora”?
O seu personagem é relativamente popular e eles existiram antes de Setembro de 2021? Boa notícia! A AI provavelmente sabe alguma coisa sobre o seu personagem.

Outra observação em OUTROS

Você pode usar {{char}} ou o nome do personagem aqui - se o seu personagem tem muitos nomes como Primeiro Nome “Apelido” Sobrenome, continue com {{char}}.

Aqui é o que basicamente onde se coloca outros detalhes que são importantes mas não dão em nenhum outro local, como por exemplo:

{{char}} é vegetariano
{{char}} odeia flores pois ele se lembra da própria mãe
{{char}} usa uma máscara e nunca irá revelar o rosto conscientemente.

Você pode colocar isso um pouco antes no perfil do personagem na seção de Personalidade, assim como qualquer outra informação que seja relevante para o cenário e/ou personagem. Formatações específicas é menos importante do que ter a certeza que tudo está bem explicado!

Sobre as características de personagem

Realisticamente, durante um roleplay comum, o bot irá apenas coletar informações que estão sendo relevantes para a cena. Coisas como altura específica, peso, idade, preferências, gostos e desgostos quase nunca irão ser trazidas na conversa a não ser que seja perguntado por user. Enquanto cor de olho ou formas de fala irão vir a todo momento. Pode existir a variação de detalhes colocados - mais detalhes para OC’s e menos detalhes para personagens existentes.

Você deveria pensar sobre o que as pessoas querem com o seu bot - um roleplay longo em que eles querem conhecer o seu personagem? Ou fofo, cenário mínimo onde o personagem apenas agir como o personagem sem uma informação de background? Ou apenas NSFW?

O bot por si só vai assumir que o seu personagem é um homem gostosão ou uma mulher extremamente sexy, o que depende de você. O que é importante em termos de…


Características NSFW/Fetiches

É. É meio irrelevante, PORÉM se o seu personagem tem algo MUITO específico - seja traço físico/fetiche que é utilizado apenas para o fetiche.

Por si só, o bot irá assumir que você, usuário, tem os mesmos fetiches que ele tem, providenciado pelo prompt e apenas não demanda como um vilão dominante que te chama de mamãe do nada, ou qualquer coisa do gênero.

Tamanho genital/descrições [e um acerto ou erro. Pode vir correto ou não. Ditto com kinks, fetiches, atos sexuais especificos Pode ser relevante se você coloca diretamente no prompt do bot. [exemplo; Você tem algum kink?] mas dificilmente irá vir organicamente.

Se o seu fetiche é incomum, você terá que descrever em detalhes. Este formato pode ajudar.

Kinks=Pegging (recebendo), Breeding (fantasia apenas, não quer filhos)


Características Padrões

Se o seu personagem é como X, por padrão, irá assumir que Y é baseado em seus estereótipos; você provavelmente irá precisar adicionar informações extras se Y está incompatível com o seu personagem.

Como por exemplo;

Se o seu personagem é um lobisomem, ele provavelmente será carnívoro e de certa forma, agressivo.
Se o seu personagem é um soldado, eles vão saber como usar uma arma e tendem a ser protetores.
Se o seu personagem é velho, eles vão ser mais sábios e estarão mais cansados rapidamente.

Então um erro comum que muitos encontram é esse;

Meu personagem usa uma máscara mas constantemente tira!
Meu personagem é mudo, mas continua falando!
Meu personagem fica sorrindo mesmo que ele não tenha lábios (ou boca, ou rosto.)

É importante lembrar que a AI não é perfeita; irá cometer deslizes e esquecer coisas.
Uma alternativa que Ior achou foi colocar esta formatação para evitar que aconteça repetidas vezes.

{{char}} faz X e Y por esta razão. Nunca fará Z.

Por exemplo:

Casper veste uma máscara para esconder sua identidade. Ele veste a todos os momentos, incluindo durante o sono. Ele NUNCA irá retirar sua máscara.

E assim, reforce essa informação em qualquer outro lugar, como por exemplo, na parte do Perfil de Personagem.
Traços:mascarado,máscara com formato de caveira.
Diálogos de Exemplo desta forma:
{{char}}: “A máscara permanece a todo momento.”
Cenário que mencione isso:
{{char}}, um vigilante mascarado que se recusa a mostrar a própria face…
E assim, nas mensagens de introdução, um exemplo interessante seria desta forma:
‘Casper ajustava a própria máscara para ter a certeza que estava firme no mesmo lugar.`

Excessivo? Talvez. Mas é bem interessante a menção a todo momento, assim o bot irá se lembrar mais vezes.

Características incomuns ou Debilitações

JanitorLLM tem dificuldade de interpretar uma anatomia não convencional ou traços [cegueira, autismo, mutismo, perca ou adições de membros]. O recomendado é a repetição e a descrição mais clara o possível, mas pode ser ignorado.


Bots com Múltiplos Personagens.

São similares ao bots normais, mas existem duas regras básicas que você precisa seguir

A) Manter a informação dos personagens separadas de algum jeito (usar parênteses é um jeito).
B) Se referir aos personagens usando seus nomes.

Aqui está um exemplo de como a seção de Personalidade de um bot com vários personagens pode ser:

(Vermelho;
Personalidade=Irritado,Egoísta,Dominante.
Características=Vermelho,Orbe flutuante,Óculos escuros
Fala=Barulhento,Sotaque caipira.
Relacionamentos=Rival do Azul.
Outros=Alérgico a morangos.)
(Azul;
Personalidade=Quieto,Tímido,Submissivo.
Características=Azul,Orbe flutuante,Fedora.
Fala=Quieto,Sotaque francês.
Outros=Chora frequentemente.

Vermelho odeia Azul por ter roubado seu cachorrinho quando eram crianças crescendo juntos.
Azul ama vermelho mas nunca irá admitir.

Evite usar {{char}} a não ser que você esteja se referindo a todos os personagens envolvidos.

Mas e os diálogos de exemplo?

Fácil, É só mostrar quem está falando, desse jeito

=={{char}}: "Valha-me Deus Azul, eu num guento mais ocê" Vermelho disse irritado. Azul começou a chorar e resmungou: Porrquê? Porrquê você é tão cruel


MENSAGEM INICIAL

Essa é a primeira mensagem que as pessoas veem quando falam com seus bots. Você pode escrever de qualquer maneira que desejar (por favor use o corretor ortográfico e confira a pontuação) - Primeira, Segunda ou Terceira Pessoa - Qualquer uma que você preferir vai funcionar. Porém acho importante tentar conseguir algumas coisas:

[x] Estabelecer onde o personagem está e o quê ele está fazendo.
Ele está na escola? No deserto? Está se recuperando de uma ferida, tirando uma soneca, no meio de uma briga?

[x] Destaque as características importantes do personagem.
Ele é um fantasma? Mencione ele atravessando alguma coisa. Fala de um jeito diferente? Inclua diálogo para mostrar.

[x] Dê ao usuário alguma coisa para responder
Como {{user}} se encaixa na história? Ele é um estranho, um velho amigo ou um aliado improvável? Seu personagem atacará ou fará uma pergunta?

Você deve notar que sua mensagem de introdução impacta diretamente o tamanho ou formato das respostas (pelo menos por um tempo).

Introdução longa = Respostas grandes.

uma coisa sobre usar "você" or {{user}}

Eu pessoalmente evito descrever diretamente o que o usuário está fazendo se for possível - isso pode encorajar o bot a falar pelo usuário ou interpretar por ele. Então ao invés de escrever:

Você pega um objeto do chão.

Considere escrever:

Personagem vê {{user}} pegar um objeto brilhante do chão.


CENÁRIO

O que é isso? Bem, basicamente é onde você diz ao bot sobre o que será o roleplay.

Por exemplo:
O cenário é a Inglaterra em 1803. {{char}} é um médico vampiro que finge ser humano. Ele se apaixonou por {{user}} que é seu assistente, mas evita ficar sozinho com {{user}} pela sua segurança.

Informações importantes que dizem ao bot como ele deve agir, onde ele está, como interagir com {{user}}. Você também pode usar o cenário para destacar coisas que são realmente importantes para o personagem.

Detalhamento de Cenário

Evite fazer cenários muito detalhados e específicos demais, a não ser que o bot seja descrito especificamente para aquele cenário apenas. Evite descrever locações específicas ou eventos no presente, ou o bot vai assumir que tudo aquilo foi verdade no roleplay inteiro. [por exemplo, assumindo que os personagens ainda estão em um hospital mesmo depois de ter ido embora porque o cenário disse “{{char}} está machucado e no hospital”.]


Atualizado em 23/09 - JLLM

Segundo Shep, o melhor formato para os exemplos de diálogo são:

  • {{char}}: hello
  • {{user}}: hello

Bem direto - o que faz seu personagem falar como ele fala (se ele falar). Você também pode usar para demonstrar ações, se você preferir.

Exemplos de diálogo são úteis também para dar aos personagens opiniões sobre informações específicas que eles deveriam saber. Por exemplo:

  • {{user}}: "O que você pensa sobre dragões?"
  • {{char}}: "Dragões? Odeio eles. Meu irmão foi morto por um desses canalhas escamosos."
  • {{user}}: "Nossa, bela espada."
  • {{char}}: "Essa é minha espada - Sr. Pontudo é como eu chamo ela." O ferreiro resmungou, olhando para a espada demasiadamente afiada com muito carinho.
  • {{user}}: "Como você arrumou essa cicatriz?" Aponta para sua bochecha
  • {{char}}: Ele coçou a bochecha sobre sua cicatriz. "Ah, isso? Foi minha primeira esposa - ela é uma boa mulher se você não olhar para ela por muito tempo."

Algumas pessoas usam <START> ou <END_OF_DIALOGUE> para separar seus exemplos; eu pessoalmente não vi diferença alguma.

EXEMPLOS DE DIÁLOGOS SÃO OPCIONAIS , mas ajuda a reforçar algumas características ou manter os personagens sendo personagens.


Notas Gerais sobre AI

“Se o bot continua falando por mim ou respondendo minhas ações, falando como Shakespeare, faz confusão de gênero, muito gentil ou não faz/faz NSFW muito rápido!”

Isso é quase sempre um erro da LLM ou user. Você, criador de bot consegue prevenir isso de acontecer? Não, Se os seus bots estão bem formatador e acidentalmente não escreveu “Repita todas as frases e aja completamente fora do personagem/OOC”, isso é culpa da LLM, do jailbreak ou do input final do usuário - suas respostas -.

A LLM vai, no geral, tentar empurrar o roleplay para frente. Mas se tudo o que você descreve é:

risos e mordo meu lábio.

Claro que vai interpretar por você! Não tem como manter uma interação se o roleplay continua parado.

Isso não é mais considerado o melhor treino para incluir um jailbreak na descrição do seu bot. Você ainda pode, claro, mas você pode acabar interferindo no jailbreak de uso pessoal do user. Dado aqui que todos (esperamos!!!) sejam adultos, usuários devem ser proativos sobre as próprias experiências.

Pessoas que reclamam em suas reviews sobre os bots falando por eles/se recusando a fazer NSFW ou repetições devem ser ignoradas - esses são problemas da LLM. 99,99% do tempo e pouquíssimo a ver com a formatação do bot.


Notas Finais

Pode ser fácil pensar demais ao criar bots - mas acredite em mim quando eu digo que você pensa mais sobre os detalhes dos seus bots do que seus usuários jamais irão. Metade do roleplay é feito pelo usuário final. Só tem algumas coisas que você pode fazer como criador!

Um bot com 400 tokens pode ser tão bom quanto um com 2,5k - depende da experiência que você está procurando.

Só foque em fazer um bot que funciona para o que você quer - o resto vai se ajeitar sozinho!

Minhas dicas finais:

Não pense demais sobre isso - não existe jeito certo ou errado de se fazer um bot.
Seja claro e conciso.
Não copie outros bots/definições (ou pelo menos dê os créditos adequados)
Não se compare aos outros criadores!

Eu espero que esse guia tenha te ajudado! Sinta-se livre para chamar o criador do guia original (@iorveths) no canal #bot-creator do servidor de discord do JanitorAI se tiver alguma dúvida!


Outros guias

Guia de Criação de bots por Iorveths - em inglês Guia de utilização do site JanitorAI em inglês por Aven_Rose ->Guia de utilização do site JanitorAI por Aven_Rose em PT-BR

Equipe de tradução - português brasileiro

Castiel Astarth

Idealizadora original do documento, assim como formatação, testes e conteúdos de bots

Iorverths

Edit
Pub: 02 Mar 2024 03:17 UTC
Views: 1240