Construcción de chatbots de IA modulares

¿Es posible crear varios chatbots de IA con un diseño modular, con un bot principal con el que los usuarios interactúan y que determina qué bots especializados incorporar a la conversación?

He investigado a fondo toda la documentación de los complementos de IA y no estoy seguro de cómo hacerlo.

Gracias por una herramienta tan potente y personalizable.

2 Me gusta

Creo que esto es técnicamente posible a través de la creación de scripts de nuestras herramientas ahora. ¿Me equivoco, @sam?

1 me gusta

Si tenemos 3 bots especializados, cada uno con sus propios documentos, ¿sus incrustaciones están aisladas? ¿O crees que necesito hacer algo especial con las incrustaciones/documentos para asegurarme de que sean fácilmente aislables?

Los documentos subidos a una Persona están aislados a esa Persona.

1 me gusta

¿Puedes ampliar tu ejemplo, hacerlo un poco más concreto?

Las herramientas ahora tienen acceso directo a las personas, por lo que puedes definir una persona que enruta las solicitudes a una herramienta que luego decide la mejor persona para el trabajo, pero comprender realmente el flujo completo que tienes en mente nos ayudará a darte consejos aquí.

2 Me gusta

Hay mucha información sobre riesgos/beneficios en la literatura médica sobre vacunas. Tener una Persona (digamos, VaccineBot) que lo sepa todo significa fácilmente cientos de documentos cargados y un gran potencial de confusión. Experimenté con este enfoque y las respuestas no son geniales.

En cambio, estaba pensando que haríamos Personas especializadas:

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

Esto se ve muy bien desde una perspectiva de diseño modular y enfoque en la información. Pero también supone una gran carga para los miembros de la comunidad, que deben saber más de lo que la mayoría sabe sobre los calendarios de vacunación. Así que, idealmente, VaccineBot tomaría la pregunta del usuario, determinaría qué bots especializados involucrar y podría orquestar la conversación.

Por ejemplo, existen vacunas combinadas (6 vacunas en una sola inyección) que, si un padre tuviera una pregunta al respecto, necesitaría involucrar a varios bots. O al hablar de la visita de bienestar de los 2 meses, donde un bebé puede recibir hasta 8 vacunas a la vez, VaccineBot necesitaría incluir todos esos bots especializados y de alguna manera obtener un resumen de cada uno sobre cuál es su propósito y enfoque, junto con las reacciones comunes, etc.

Este dominio se vuelve complejo rápidamente:

DTaP = 3 vacunas, 1 inyección, no se pueden separar
HepB = 1 vacuna, 1 inyección
MMR = 3 vacunas, 1 inyección, no se pueden separar

Los pediatras a menudo administran vacunas combinadas como Vaxelis, una inyección 6 en 1: DTaP + HepB + Polio + Hib

Una visita de bienestar de 2 meses podría implicar Vaxelis + PCV + Rotavirus

Si un usuario pregunta sobre una próxima visita de 2 meses, el bot orquestador (VaccineBot) necesitaría trabajar con 6 Personas (bots) diferentes o al menos traerlos a la conversación.

¿Tiene sentido esto?

Seguiré experimentando y volveré a informar sobre esto.

Por favor, crea una indicación similar para VaccineBot: Analiza la pregunta que se te plantea y convoca al usuario más apropiado basándote en los siguientes temas, utilizando este formato: @nombredeusuario

@DTaP-Bot: Cubre tres vacunas, administradas en una sola inyección, indivisibles.

@HepB-Bot: Se refiere a una sola vacuna, administrada en una sola inyección.

@MMR-Bot: Abarca tres vacunas, administradas en una sola inyección, indivisibles.

@Rotavirus-Bot: …

@Polio-Bot: …

Asegúrate de que la configuración de los bots que crees incluya la opción “otros pueden mencionar”, para que después de que el bot inicial responda, se pueda añadir el bot apropiado a la respuesta, proporcionando una respuesta completa a la consulta.

Proporcioné una indicación de ejemplo; puedes buscar ayuda de ChatGPT para crear una indicación más refinada y adaptada que se alinee perfectamente con tus preferencias.

1 me gusta

¡Hmm… Creo que podemos resolver esto con una herramienta personalizada hoy!

  1. Sube todos los documentos a la herramienta personalizada
  2. Dale a la herramienta personalizada los parámetros “semantic_query” y “vaccine_name” (enum)
  3. Luego, en el JS personalizado, ejecuta la búsqueda en la carga de vaccine_name e inyecta esa parte en particular en el contexto

Eso asegura que solo obtengas contexto para el subconjunto específico.

3 Me gusta

Gracias @kuaza y @sam por la excelente orientación sobre cómo abordar esto. Informaré pronto.

–Chris

2 Me gusta

@sam - El enfoque de la herramienta ha funcionado perfectamente. Gracias de nuevo.

–Chris

1 me gusta

Me encantaría que pudieras compartir algunos detalles técnicos aquí sobre la solución actual en funcionamiento con algunos ejemplos, estoy seguro de que a los miembros de Meta les encantaría aprender al respecto.