Hexabot
Go to websiteGitHub RepoDiscord
  • Welcome
  • Introduction
    • Overview
    • Features
  • Quickstart
    • Installation
    • Create your first flow
  • USER GUIDE
    • Visual Editor
      • Using the Visual Editor
      • Regular Blocks
        • Using Simple Text Block
        • Using Quick Replies Block
        • Using Buttons Block
        • Using Attachment Block
      • Using Advanced Blocks
    • Flows
    • NLU
      • Manage NLU Entities
      • NLU Engines
        • LLM NLU Engine
        • Ludwig NLU Engine
        • Tensorflow NLU Engine
    • Knowledge Base
      • Content Types
      • Manage Persistent Menu
      • Media Library
    • Localization
      • Languages
      • Translations
    • Users and Roles
      • Manage users
      • Manage roles
    • Manage Settings
      • Email
      • Chatbot Global Fallback
      • NLU Provider
      • Web Channel
      • Live chat widget
      • Facebook Messenger
    • Context Variables
    • Chat Inbox
    • Subscribers
    • Analytics Dashboard
  • FAQ
    • How can I deploy my Hexabot using NGINX ?
    • How can I add the Chatbot Widget to my Website?
  • Developer Guide
    • Contributors Installation Guide
    • CLI Command Reference
    • Setup Node.js with NVM
    • Setting Up Docker for Development and Production
    • SMTP Configuration and Emails
    • Extensions
    • Plugins
      • Hexabot Plugin Development
      • Build your First Plugin
    • Training custom NLU Models with Ludwig AI
Powered by GitBook
On this page
  • Setting up the Tensorflow NLU Engine
  • Configuring the Tensorflow NLU Engine
  • Step 1: Set the Default NLU Helper
  • Step 2: Configure Ludwig NLU Engine Settings
  • Step 3: Test the Tensorflow NLU Engine
  • Key Considerations

Was this helpful?

Edit on GitHub
  1. USER GUIDE
  2. NLU
  3. NLU Engines

Tensorflow NLU Engine

PreviousLudwig NLU EngineNextKnowledge Base

Last updated 4 months ago

Was this helpful?

The Tensorflow NLU Engine is a Natural Language Understanding (NLU) solution built using , an end-to-end platform for machine learning. This engine seamlessly integrates with models hosted on , enabling robust and scalable NLU capabilities.

Setting up the Tensorflow NLU Engine

  • Install the Hexabot CLI running this command

npm install -g hexabot-cli
  • Create your Hexabot project using this Ludwig custom template:

hexabot create my-chatbot --template Hexastack/hexabot-template-tensorflow
  • Navigate to your project directory and initialize it using the following commands. You can customize your project configuration in my-chatbot/docker/.env file:

hexabot init
npm i
  • Kickstart your newly created chatbot by running:

hexabot dev --services nlu,ollama

Configuring the Tensorflow NLU Engine

Step 1: Set the Default NLU Helper

This ensures that Hexabot uses the Tensorflow based NLU engine for processing intents and language detection.

  • Navigate to “Settings” from the main menu.

  • Select the “Chatbot” tab.

  • Ensure that the “Default NLU Helper” is set to "tensorflow-nlu-helper".

Step 2: Configure Ludwig NLU Engine Settings

  1. Navigate to “Settings” from the main menu

  2. Select the “Tensorflow NLU Engine” tab.

  3. Update NLU Engine Settings:

    1. The Tensorflow NLU engine is already pre-configured to connect with the Tensorflow based NLU API provided in the template. You only need to update the Tensorflow NLU engine's endpoint and API token if you are not using the default setup.

    2. A Confidence Threshold is also available, it’s set by default to 0.1, this value is the minimum probability required for a prediction to be accepted. Be sure to adjust this threshold based on the specific model you are using and your desired balance of precision and recall.

Step 3: Test the Tensorflow NLU Engine

Navigate to the "NLU" from the main menu and then select the "NLU Entities" tab to add some entities and/or intent values. Check the Manage NLU Entities section in the docs for more information on how to add and manage your NLU entities :

Use the NLU training tool to test out some text against the NLU intent you just added and see if predictions are good.

Key Considerations

While the TensorFlow NLU Engine provides robust capabilities for running inference on TensorFlow-based models deployed on HuggingFace, it comes with certain limitations. The engine is not designed to be extensible, meaning users cannot modify the pre-existing models or customize their internal logic. This lack of flexibility may require careful selection of models to ensure they meet the specific requirements of your application. It is ideal for scenarios where the focus is on leveraging pre-trained models without the need for further adaptation.

Finally, you can use NLU Entities when configuring triggers in the blocks within the . You can check the Regular Blocks section in the documentation to help understand how to trigger blocks using NLU intents.

Manage NLU Entities
Visual Editor
Tensorflow
HuggingFace