Costruire chatbot AI modulari

È possibile creare più chatbot AI con un design modulare, con un bot principale con cui gli utenti interagiscono e che determina quali bot specializzati coinvolgere nella conversazione?

Ho approfondito tutta la documentazione dei plugin AI e non sono sicuro di come fare.

Grazie per uno strumento così potente e personalizzabile.

2 Mi Piace

Credo che ora sia tecnicamente possibile tramite lo scripting dei nostri strumenti. Mi sbaglio @sam?

1 Mi Piace

Se abbiamo 3 bot specializzati, ciascuno con i propri documenti, i loro embedding sono isolati? Oppure pensi che sia necessario fare qualcosa di speciale con gli embedding/documents per assicurarsi che siano facilmente isolabili?

I documenti caricati su una Persona sono isolati a quella Persona.

1 Mi Piace

Puoi espandere il tuo esempio, renderlo un po’ più concreto.

Gli strumenti ora hanno accesso diretto alle persone, quindi puoi definire una persona che instrada le richieste a uno strumento che quindi decide sulla migliore persona per il lavoro, ma comprendere appieno il flusso che hai in mente ci aiuterà a fornire consigli qui.

2 Mi Piace

Ci sono molte informazioni su rischi/benefici nella letteratura medica per le vaccinazioni. Avere una Persona (diciamo, VaccineBot) che conosce tutto ciò significa facilmente centinaia di documenti caricati e un sacco di potenziale di confusione. Ho sperimentato questo approccio e le risposte non sono eccezionali.

Invece, stavo pensando di creare Persone specializzate:

  • DTaP-Bot
  • HepB-Bot
  • MMR-Bot
  • Rotavirus-Bot
  • Polio-Bot
  • ecc. ecc. ecc.

Questo sembra molto buono dal punto di vista del design modulare e del focus sulle informazioni. Ma pone anche un grande onere ai membri della comunità affinché sappiano più di quanto la maggior parte sappia sui calendari vaccinali. Quindi, idealmente, VaccineBot prenderebbe la domanda dell’utente, capirebbe quali bot specializzati coinvolgere e sarebbe in grado di orchestrare la conversazione.

Ad esempio, ci sono vaccini combinati (6 vaccini in un’unica iniezione) che, se un genitore avesse una domanda al riguardo, richiederebbero il coinvolgimento di più bot. Oppure, parlando della visita di controllo dei 2 mesi in cui un neonato può ricevere fino a 8 vaccini contemporaneamente, VaccineBot dovrebbe includere tutti quei bot specializzati e in qualche modo ottenere un riassunto da ciascuno sul loro scopo e focus, insieme alle reazioni comuni, ecc.

Questo dominio diventa rapidamente complesso:

DTaP = 3 vaccini, 1 iniezione, non possono essere separati
HepB = 1 vaccino, 1 iniezione
MMR = 3 vaccini, 1 iniezione, non possono essere separati

I pediatri spesso somministrano vaccini combinati come Vaxelis, un’iniezione 6 in 1: DTaP + HepB + Polio + Hib

Una visita di controllo dei 2 mesi potrebbe comportare Vaxelis + PCV + Rotavirus

Se un utente chiede di un’imminente visita dei 2 mesi, il bot orchestratore (VaccineBot) dovrebbe lavorare con 6 Personas (bot) diverse o almeno portarle nella conversazione.

Ha senso?

Continuerò a sperimentare e riferirò a riguardo.

Crea un prompt simile per VaccineBot: Analizza la domanda che ti viene posta e richiama l’utente più appropriato in base ai seguenti argomenti, utilizzando questo formato: @username

@DTaP-Bot: Copre tre vaccini, somministrati in un’unica iniezione, indivisibili.

@HepB-Bot: Riguarda un singolo vaccino, somministrato in un’unica iniezione.

@MMR-Bot: Comprende tre vaccini, somministrati in un’unica iniezione, indivisibili.

@Rotavirus-Bot: …

@Polio-Bot: …

Assicurati che le impostazioni dei bot che crei includano l’opzione “altri possono menzionare”, in modo che dopo che il bot appropriato ha risposto, possa essere aggiunto alla risposta per fornire una risposta completa alla richiesta.

Ho fornito un prompt di esempio; puoi chiedere assistenza a ChatGPT per creare un prompt più raffinato e su misura che si allinei perfettamente alle tue preferenze.

1 Mi Piace

Hmm… Penso che possiamo risolvere questo problema oggi con uno strumento personalizzato!

  1. Carica tutti i documenti nello strumento personalizzato
  2. Fornisci allo strumento personalizzato i parametri “semantic_query” e “vaccine_name” (enum)
  3. Quindi, nell’esecuzione JS personalizzata, esegui la ricerca sul caricamento di vaccine_name e inserisci quel particolare pezzo nel contesto

Ciò garantisce che otterrai il contesto solo per il sottoinsieme specifico.

3 Mi Piace

Grazie @kuaza e @sam per l’eccellente guida su come affrontare questo. Riferirò presto.

–Chris

2 Mi Piace

@sam - l’approccio strumentale ha funzionato splendidamente. Grazie ancora.

–Chris

1 Mi Piace

Mi piacerebbe se potessi condividere alcuni dettagli tecnici sulla soluzione attuale in uso con alcuni esempi, sono sicuro che i membri di Meta vorrebbero saperne di più a riguardo.