Overview
Last updated:2024-07-29

Overview

Introduction

FlowBot is similar to Bots, both being AI applications aimed at "people," allowing users to input natural language and receive AI response results.
FlowBot is suitable for solving more complex enterprise business problems. By manually designing workflows, it connects or parallels multiple dedicated LLMs to achieve more controllable and efficient AI responses.
FlowBot can be used in business scenarios that require collaborative output from multiple LLMs, such as multi-product customer support, multi-product pre-sales leads, brand public opinion monitoring, potential customer lead insights, long research report output, and multi-step translation.

Components

Components are the core functional carriers of FlowBot, encapsulating different capabilities into functional modules tailored for business scenarios. Different components have different functionalities, and developers can choose different components to combine based on various business scenarios. The types and components currently supported by GPTBots are as follows: flwobot

AI Model

  1. LLMs
    Supports multiple vendors and versions of LLM models, such as mainstream commercial/open-source models like OpenAI, Claude, Gemini, ChatGLM, llama, etc.
    LLMs can respond to questions and output results based on set identity prompts, context, tools, and reference knowledge.

Knowledge Data

  1. Knowledge Search Supports multiple embedding models, allowing for multi-route recall of knowledge through semantic/keyword/mixed searches, with final reordering and optimization by a rerank model.
    Recalls reference knowledge data most relevant to user questions from the knowledge base, effectively addressing LLM hallucinations and lack of specialized knowledge.

Logical Judgment

  1. Conditional Judgment
    LLM determines whether conditions are met based on user-defined "condition fulfillment rules." If conditions are met, it triggers the if branch; if not, it triggers the else branch.
    Users can describe "condition fulfillment rules" in natural language or use regular expressions, mathematical expressions, and other methods for rule description.
  2. Branch Judgment
    LLM judges user intent based on the description of various branch rules and triggers different branches based on the judgment results.
    Branch judgment allows multiple branches to be triggered simultaneously, extracting different intent content from user questions and passing them to the corresponding branches.

Pre-set Responses

  1. Human handoff
    Supports switching the Bot's response from "LLM mode" to "Human handoff mode," allowing Human handoff service to take over conversations with Bot users in the background. Human handoff supports integration with various third-party human service systems, such as Intercom, webhook, etc.
  2. Card Messages
    When a component is triggered, the Bot can reply with card messages to enhance user experience. Card message types include text cards, image-text cards, video cards, map cards, form cards, etc. It also supports capabilities like making phone calls, sending emails, and waking up apps.

Connection Rules

FlowBot constructs collaborative workflows among different components through connections, activating connections that have the functions of triggering downstream component nodes and passing upstream component node output data.
The connection rules are as follows:

  • In the Flow, the "input" and "output" modules of LLMs, Knowledge Search, Branch Judgment, Conditional Judgment, and Card messages components must have at least 1 connection.
  • The "input" module of Start and Human Handoff components in the Flow must have at least 1 connection.
  • The "output" module of the End component in the Flow must have at least 1 connection.
  • The "output" module is allowed to connect to multiple component nodes simultaneously.

Debug Preview

FlowBot supports debugging preview functionality, allowing for dialogue debugging within FlowBot to view the trigger sequence and input/output data of different node components in the Flow.

  • Dialogue Debugging
    Click the "Dialogue Debugging" button in the upper right corner to bring up the dialogue window in the Flow editing window. After entering and sending information, FlowBot will execute.
  • Component Node Details
    After FlowBot runs successfully, click the "Details" button of the successfully run component node to view the input/output detail data of that component.
  • Node Debugging
    Click the "Node Debugging" button in the upper right corner to bring up the node debugging window in the Flow editing window. After selecting the target component, single node debugging can be performed.