# Building Modular AI Chatbots

**URL:** https://meta.discourse.org/t/building-modular-ai-chatbots/361807
**Category:** Support
**Tags:** ai, ai-bot
**Created:** [April 14, 2025, 9:05pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807 "2025-04-14T21:05:12Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Yenwod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yenwod/32/275165_2.png) [@Yenwod](https://meta.discourse.org/u/Yenwod)
#### Post date: [April 14, 2025, 9:05pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/1 "2025-04-14T21:05:12Z")

</div>

Is it possible to create multiple AI chatbots with a modular design with one main\_bot that users interact with and main\_bot figures out the specialized bots to bring into the conversation?

I’ve dug deep into all the AI-plugin documentation and am not sure how I would do this.

Thank you for such a powerful, customizable tool.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [April 14, 2025, 9:09pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/3 "2025-04-14T21:09:01Z")

</div>

I believe that this is technically possible via our tool scripting now. I’m mistaken here @sam ?

---

<div class="post-metadata">

### Author: ![Yenwod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yenwod/32/275165_2.png) [@Yenwod](https://meta.discourse.org/u/Yenwod)
#### Post date: [April 14, 2025, 9:42pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/4 "2025-04-14T21:42:26Z")

</div>

If we have 3 specialized bots each with their own documents, are their embeddings isolated? Or do you think I need to do something special with the embeddings/docs to make sure they are easily isolated?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [April 14, 2025, 9:43pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/5 "2025-04-14T21:43:09Z")

</div>

The documents uploaded to a Persona are isolated to that Persona.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [April 15, 2025, 1:45am UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/6 "2025-04-15T01:45:30Z")

</div>

> [@Yenwod](#):
>
> Is it possible to create multiple AI chatbots with a modular design with one main\_bot that users interact with and main\_bot figures out the specialized bots to bring into the conversation?
> 
> I’ve dug deep into all the AI-plugin documentation and am not sure how I would do this.

Can you expand on your example, make it a bit more concrete.

Tools now have direct access to personas, so you can define a persona that routes requests to a tool that then decides on the best persona for the job, but really understanding the full flow you have in mind will help us give advice here.

---

<div class="post-metadata">

### Author: ![Yenwod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yenwod/32/275165_2.png) [@Yenwod](https://meta.discourse.org/u/Yenwod)
#### Post date: [April 16, 2025, 2:41pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/7 "2025-04-16T14:41:21Z")

</div>

> [@sam](#):
>
> Can you expand on your example, make it a bit more concrete.

There is a great deal of risk/benefit info in medical literature for vaccinations. Having one Persona (say, VaccineBot) know all of it means easily hundreds of documents uploaded and a lot of potential for confusion. I experimented with this approach and the answers aren’t great.

Instead, I was thinking we’d do specialized Personas:

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

This looks really good from a modular design and information-focus perspective. But it also puts a large burden on the community members to know more than most do about vaccine schedules. So ideally VaccineBot would take the user’s question, figure out what specialized bots to involve, and be able to orchestrate the conversation.

For example, there are combination vaccines (6 vaccines in one shot) that if a parent had a question about it would need to pull in multiple bots. Or when talking about the 2 month well-visit where an infant can get up to 8 vaccines at once, VaccineBot would need to include all those specialized bots and somehow get a summary from each about what their purpose and focus is along with common reactions, etc.

This domain gets complex really quick:

DTaP = 3 vaccines, 1 shot, cannot be broken apart  
HepB = 1 vaccine, 1 shot  
MMR = 3 vaccines, 1 shot, cannot be broken apart

Pediatricians often give combination vaccines such as Vaxelis, a 6 in 1 shot: DTaP + HepB + Polio + Hib

A 2-month well visit might involve Vaxelis + PCV + Rotavirus

If a user asks about an upcoming 2 month visit, the orchestrator bot (VaccineBot) would need to work with 6 different Personas (bots) or at least bring them into the conversation.

Does this make sense?

---

<div class="post-metadata">

### Author: ![Yenwod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yenwod/32/275165_2.png) [@Yenwod](https://meta.discourse.org/u/Yenwod)
#### Post date: [April 23, 2025, 3:44pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/8 "2025-04-23T15:44:16Z")

</div>

I’ll keep experimenting and report back on this.

---

<div class="post-metadata">

### Author: ![kuaza](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kuaza/32/264151_2.png) [@kuaza](https://meta.discourse.org/u/kuaza)
#### Post date: [April 23, 2025, 6:34pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/9 "2025-04-23T18:34:23Z")

</div>

Please create a similar prompt for VaccineBot: Analyze the question posed to you and summon the most appropriate user based on the following topics, using this format: @username

@DTaP-Bot: Covers three vaccines, administered in a single shot, indivisible.

@HepB-Bot: Pertains to a single vaccine, administered in one shot.

@MMR-Bot: Encompasses three vaccines, given in one shot, indivisible.

@Rotavirus-Bot: …

@Polio-Bot: …

Ensure that the settings of the bots you create include the option “others may mention,” so that after the initial bot responds, the appropriate bot can be added to the reply, providing a comprehensive answer to the query.

I provided a sample prompt; you can seek assistance from ChatGPT to craft a more refined and tailored prompt that aligns perfectly with your preferences.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [April 23, 2025, 11:34pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/10 "2025-04-23T23:34:20Z")

</div>

Hmm… I think we can sort this out with a custom tool today!

1. Upload all the documents to the custom tool
2. Give the custom tool the params “semantic\_query” and “vaccine\_name” (enum)
3. Then in the custom JS run the search on the vaccine\_name upload and inject that particular piece into the context

That ensures you only get context for the specific subset.

---

<div class="post-metadata">

### Author: ![Yenwod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yenwod/32/275165_2.png) [@Yenwod](https://meta.discourse.org/u/Yenwod)
#### Post date: [April 23, 2025, 11:41pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/11 "2025-04-23T23:41:08Z")

</div>

Thank you @kuaza and @sam for excellent guidance on how to approach this. I will report back soon.

–Chris

---

<div class="post-metadata">

### Author: ![Yenwod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yenwod/32/275165_2.png) [@Yenwod](https://meta.discourse.org/u/Yenwod)
#### Post date: [May 20, 2025, 11:25pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/12 "2025-05-20T23:25:33Z")

</div>

@sam - the tool approach has worked beautifully. Thank you again.

–Chris

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [May 20, 2025, 11:43pm UTC](https://meta.discourse.org/t/building-modular-ai-chatbots/361807/13 "2025-05-20T23:43:25Z")

</div>

I would love if you could share some technical details here about the actual solution at play now with some examples, I am sure member on meta would love to learn about it.
