Chatbot architecture - Fluid Topics - Latest

Fluid Topics Configuration and Administration Guide

Category
Reference Guides
Audience
public
Version
Latest

The following diagram shows the architecture of the Fluid Topics Chatbot:

flowchart TD

    U(("**USER**<br>Asks a question to the Chatbot")) --> H["**Fluid Topics**<br>Gets conversation history"]
    H -- Outputs conversation history --> K@{ label: "**LLM1**<br>Creates a summarized question based on the user question and the chat history<br><br>Uses:<br>- <a href=\"https://doc.fluidtopics.com/r/Fluid-Topics-Configuration-and-Administration-Guide/Configure-a-Fluid-Topics-tenant/AI/Create-an-AI-profile/Example-Chatbot-prompts\">RAG history prompt</a> as <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/introduction-prompt-design?hl=en#system_instructions\">system prompt</a><br>- User question as the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/introduction-prompt-design?hl=en#input\">user prompt</a>" }
    K -- Outputs a summarized question --> B["**Fluid Topics**<br>Does a semantic search with summarized question"]
    B -- Outputs a ranked list of publications which are semantically similar --> C{"Is reranking active?"}
    C -- Yes --> R["**Fluid Topics**<br>Reranks publications"]
    R -- Outputs reranked most relevant publications --> D@{ label: "**LLM1**<br>Creates an answer based on most relevant publications and chat history<br><br>Uses:<br>- <a href=\"https://doc.fluidtopics.com/r/Fluid-Topics-Configuration-and-Administration-Guide/Configure-a-Fluid-Topics-tenant/AI/Create-an-AI-profile/Example-Chatbot-prompts\">RAG prompt</a> as <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/introduction-prompt-design?hl=en#system_instructions\">system prompt</a><br>- Summarized question as the <a href=\"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/introduction-prompt-design?hl=en#input\">user prompt</a>" }
    C -- No --> D
    D -- Outputs the answer --> F["**Fluid Topics**<br>Updates conversation history"]
    F --> U

    K@{ shape: rect}
    D@{ shape: rect}