Construindo chatbots de IA modulares

É possível criar vários chatbots de IA com um design modular, com um main_bot com o qual os usuários interagem, e o main_bot descobre quais bots especializados trazer para a conversa?

Eu pesquisei profundamente toda a documentação de plugins de IA e não tenho certeza de como faria isso.

Obrigado por uma ferramenta tão poderosa e personalizável.

2 curtidas

Acredito que isso seja tecnicamente possível através da nossa ferramenta de script agora. Estou enganado, @sam?

1 curtida

Se temos 3 bots especializados, cada um com seus próprios documentos, suas embeddings são isoladas? Ou você acha que precisa fazer algo especial com as embeddings/documentos para garantir que elas sejam facilmente isoladas?

Os documentos carregados em uma Persona são isolados para essa Persona.

1 curtida

Você pode detalhar seu exemplo, torná-lo um pouco mais concreto.

As ferramentas agora têm acesso direto a personas, então você pode definir uma persona que roteia solicitações para uma ferramenta que, em seguida, decide a melhor persona para o trabalho, mas entender completamente o fluxo que você tem em mente nos ajudará a dar conselhos aqui.

2 curtidas

Há uma grande quantidade de informações sobre riscos/benefícios na literatura médica para vacinações. Ter uma Persona (digamos, VaccineBot) sabendo tudo isso significa facilmente centenas de documentos carregados e um grande potencial para confusão. Eu experimentei essa abordagem e as respostas não são ótimas.

Em vez disso, eu estava pensando em ter Personas especializadas:

  • DTaP-Bot
  • HepB-Bot
  • MMR-Bot
  • Rotavirus-Bot
  • Polio-Bot
  • etc etc etc

Isso parece muito bom da perspectiva de design modular e foco na informação. Mas também impõe um grande fardo aos membros da comunidade para saberem mais do que a maioria sabe sobre cronogramas de vacinação. Então, idealmente, VaccineBot receberia a pergunta do usuário, descobriria quais bots especializados envolver e seria capaz de orquestrar a conversa.

Por exemplo, existem vacinas combinadas (6 vacinas em uma injeção) que, se um pai tivesse uma pergunta sobre isso, precisaria envolver vários bots. Ou ao falar sobre a consulta de bem-estar de 2 meses, onde um bebê pode receber até 8 vacinas de uma vez, VaccineBot precisaria incluir todos esses bots especializados e, de alguma forma, obter um resumo de cada um sobre qual é o seu propósito e foco, juntamente com reações comuns, etc.

Este domínio fica complexo muito rapidamente:
DTaP = 3 vacinas, 1 injeção, não podem ser separadas
HepB = 1 vacina, 1 injeção
MMR = 3 vacinas, 1 injeção, não podem ser separadas

Pediatras frequentemente administram vacinas combinadas como Vaxelis, uma injeção 6 em 1: DTaP + HepB + Polio + Hib

Uma consulta de bem-estar de 2 meses pode envolver Vaxelis + PCV + Rotavirus

Se um usuário perguntar sobre uma consulta de 2 meses que se aproxima, o bot orquestrador (VaccineBot) precisaria trabalhar com 6 Personas (bots) diferentes ou, pelo menos, trazê-los para a conversa.

Isso faz sentido?

Vou continuar experimentando e relatando de volta sobre isso.

Por favor, crie um prompt semelhante para o VaccineBot: Analise a pergunta feita a você e chame o usuário mais apropriado com base nos seguintes tópicos, usando este formato: @username

@DTaP-Bot: Cobre três vacinas, administradas em uma única injeção, indivisíveis.

@HepB-Bot: Refere-se a uma única vacina, administrada em uma injeção.

@MMR-Bot: Abrange três vacinas, administradas em uma única injeção, indivisíveis.

@Rotavirus-Bot: …

@Polio-Bot: …

Certifique-se de que as configurações dos bots que você criar incluam a opção “outros podem mencionar”, para que, após a resposta inicial do bot, o bot apropriado possa ser adicionado à resposta, fornecendo uma resposta abrangente à consulta.

Forneci um prompt de exemplo; você pode buscar assistência do ChatGPT para criar um prompt mais refinado e personalizado que se alinhe perfeitamente às suas preferências.

1 curtida

Hmm… Acho que podemos resolver isso com uma ferramenta personalizada hoje!

  1. Faça o upload de todos os documentos para a ferramenta personalizada
  2. Dê à ferramenta personalizada os parâmetros “semantic_query” e “vaccine_name” (enum)
  3. Em seguida, na execução JS personalizada, realize a busca em relação ao upload de vaccine_name e injete essa parte específica no contexto

Isso garante que você obtenha contexto apenas para o subconjunto específico.

3 curtidas

Obrigado @kuaza e @sam pela excelente orientação sobre como abordar isso. Voltarei a reportar em breve.

–Chris

2 curtidas

@sam - a abordagem da ferramenta funcionou lindamente. Obrigado novamente.

–Chris

1 curtida

Eu gostaria que você pudesse compartilhar alguns detalhes técnicos aqui sobre a solução atual em funcionamento, com alguns exemplos, tenho certeza de que membros do Meta gostariam de aprender sobre isso.