Criando personas personalizadas de IA Bot

Como você seleciona personas? e o que são personas vs comandos de chat habilitados para bot de IA?

Especificamente, como você faz isso?

1 curtida

Personas são a melhor maneira que @sam encontrou para nos permitir dar suporte a mais e melhores comandos. Em vez de um “bot único” que tenta fazer tudo, mas eventualmente esquece e falha devido a limitações bem conhecidas de LLM, escolher a persona apropriada no início proporciona uma experiência muito melhor.

2 curtidas

Aha! Isso é incrível. Eu mesmo estava começando meus chats como PMs.

Isso também explica um bug. Se você iniciar um PM e enviá-lo para um GPT, ele cobre o assunto para que você não possa enviar a mensagem. Ninguém que estivesse usando o plugin de forma sensata faria isso.

Por que eu nunca usei o ícone para iniciar um chat, não consigo explicar. Eu até disse a um usuário que ele poderia iniciar um chat dessa forma, mas nunca pensei em fazer isso eu mesmo!?

Minha próxima pergunta é quão fácil é ou será criar novas personas. (Vou olhar o código em seguida.)

Por exemplo, criei um template (que funciona com o plugin de chatbot de IA) assim:

@AIBot
Você é um tutor amigável e prestativo. Seu trabalho é explicar um conceito ao usuário de forma clara e direta, dar ao usuário uma analogia e um exemplo do conceito, e verificar a compreensão. blá blá blá
. . .

Eu adoraria poder fazer disso a persona.

EDIT: À primeira vista, parece que apenas alguns arquivos precisam ser alterados para adicionar uma persona. A própria pessoa, e então entry_point.rb precisa incluí-la e deve haver uma configuração para habilitá-la. Ah! Ou talvez pudesse haver uma persona personalizada que pegasse o prompt como uma configuração do site. Acho que essa é uma solução de longo prazo. Faria sentido eu tentar fazer um PR para isso, ou devo apenas criar meu próprio fork por enquanto?

3 curtidas

Planejamos tornar os prompts personalizáveis no futuro, mas ainda é muito cedo para isso.

Eu começaria em um fork, neste estado de “prévia” do plugin estamos mudando muito e não podemos nos comprometer a manter a estrutura interna do código estável.

Se você conseguir algo que ache útil em geral e que possa colocá-lo no mesmo padrão de outras personas, então você pode abrir um tópico em Feature para discutir um PR.

6 curtidas

@pfaffman estamos pensando em todos os diferentes tipos de personas que podemos ter para o Bot de IA. Até agora, reduzimos às seguintes, mas ainda estamos experimentando…

  • Ajuda de Fórum: Bot de IA de propósito geral capaz de realizar várias tarefas. Pode pesquisar sua instância atual do Discourse e usar essas informações para construir respostas
    • por exemplo - Quais são os posts principais sobre IA?
  • Ajuda de SQL: Bot de IA especializado em ajudar a criar consultas SQL nesta Instância do Discourse (ciente do seu esquema de banco de dados atual)
    • por exemplo - Escreva-me uma consulta para encontrar todas as mensagens do bot de IA de um cliente/usuário específico
  • Artista: Bot de IA especializado em gerar imagens
    • por exemplo - Desenhe-me um gato
  • Explorador de Configurações: Bot de IA especializado em ajudar a explorar as configurações do site do Discourse. (ciente do código-fonte do Discourse)
    • por exemplo - Como habilito o Discourse AI no meu site Discourse?
  • Pesquisador: Bot de IA com acesso ao Google para pesquisar informações para você
    • por exemplo - Quantas pernas um dinossauro tem?

Houve outras personas que você gostaria de ver para o Bot de IA? Você encontraria algum valor em desenvolver sua própria persona “personalizada” (se não gostou das postadas acima)?

1 curtida

Minha ideia, na qual não trabalhei nada, é ter uma categoria para personas que teriam o OP do tópico como o prompt. Estou imaginando prompts personalizados como este que criarão um prompt para dar a um gerador de imagem de IA: ChatGPT Prompt Genius Engineering | MetricsMule, ou um prompt de Now is the time for grimoires - by Ethan Mollick que começa com

Acho que prompts/personas personalizados provavelmente serão um recurso útil para muitas comunidades e tornariam trivial adicionar novos prompts ao core (ah, mas também pode tornar mais difícil para o core atualizar esses prompts, pois seria difícil saber se eles foram editados de propósito…).

Ou talvez, em vez de um tópico, apenas uma configuração que incluísse uma matriz de prompts, o que pode ser uma maneira melhor de gerenciá-los do que tópicos (o que está funcionando para respostas prontas).

3 curtidas

O que, nesta persona, se baseia na integração do Discourse, além de usar a interface do Discourse como front-end para o LLM externo?

Para a maioria de nossas personas, estamos pensando em fazer RAG, onde podemos criar algo que um LLM pronto para uso também não oferecerá.

3 curtidas

Ah. Uh. . .

Sim. É isso que eu quero.

Meu caso de uso é criar tarefas de curso (como o tutor prestativo) que guiem as pessoas através de alguma atividade gerada por IA. O Discourse é meu martelo, então quero que tudo esteja no Discourse. (Passei tipo 12 horas neste fim de semana encontrando e instalando um encurtador de URL/gerador de código QR - acho que poderia ter feito isso mais rápido como um plugin do Discourse!).

Olhando para o que eu e meus alunos temos pago por chamadas de API, parece muito mais barato ter o Discourse como uma maneira de usar o GPT4 do que pagar US$ 20/mês para usar a interface deles.

Se mais alguém estiver ouvindo, acho que ele quer dizer isto: https://research.ibm.com/blog/retrieval-augmented-generation-RAG.

Ah, desculpe. Sim, estou bem longe disso.

2 curtidas

Posso adicionar “Tutor Socrático” a esta lista? Tenho experimentado um aplicativo web que executa um conjunto de prompts estruturados em uma redação do aluno para fornecer feedback. Eu adoraria ter um tópico oculto que fornecesse material de origem para um diálogo de aprendizado baseado em RAG

Algo como: Você é um professor sábio e gentil que quer ajudar os alunos com seu trabalho sem nunca fornecer uma resposta direta. Você quer dar aos alunos informações suficientes para resolver seus próprios problemas. Os materiais de origem em [esta categoria ou posts ou tópico único] são precisos e fornecem todas as informações de que você precisa para responder às consultas específicas dos alunos. Use apenas informações dessas fontes para responder às perguntas.

2 curtidas

Certamente queremos adicionar suporte para “personas personalizadas” onde você pode escolher:

  • Temperatura
  • Mensagem do Sistema
  • LLM
  • Comandos

Precisamos construir uma interface de usuário para isso, então pode levar um tempinho para construir. Dito isso, vejo isso como um recurso muito poderoso e útil.

No limite, os usuários finais também deveriam poder criar personas personalizadas. A V0 provavelmente será um recurso de administrador.

A visão de longo prazo seria permitir que você também defina comandos personalizados para que possa interagir com quaisquer sistemas que tenha (pense nisso como webhooks, etc., e faça chamadas de API para um sistema personalizado para preencher o contexto do bot).

Todo esse material ainda está apenas no meu castelo mental por enquanto, mas chegaremos lá… então

Fase 0

  • Administradores podem definir personas personalizadas e escolher comandos/temperatura/mensagem do sistema/llm

Fase 1

  • Grupos permitidos podem definir uma “persona pessoal” - Por exemplo: quero que minha persona criativa seja mais criativa / mais concisa / etc… como as instruções personalizadas da OpenAI, mas mais poderosas

Fase 2

  • Permitindo comandos personalizados, para que você possa integrar com sistemas de terceiros
8 curtidas

Tudo isso parece ótimo.

As Fases 0 e 1 seriam muito mais poderosas, no entanto, se a ideia de uma persona fosse complementada com o conceito de um banco de memória. Ou seja, você pode escrever um pequeno esboço do personagem para descrever como o bot se comportará, mas também pode usar um tópico, categoria de tópico, categoria ou um conjunto de tags para definir o que o bot sabe.

Em fóruns onde algumas pessoas sabem muito ou podem ser canônicas em um assunto, e outras pessoas fazem perguntas ou têm discussões menos informadas, isso faz uma grande diferença. Você não quer que o bot repita discussões antigas ou confusas sobre um tópico… você quer ser capaz de restringi-lo a um conjunto validado de fatos.

O editor de persona está funcionando!

Vou encerrar este tópico, sinta-se à vontade para abrir novas solicitações de recursos para o editor de persona.

4 curtidas