Enterprise-grade open source GUI platform for Rasa teams
Highlights • Features • Quick start • Development
Botfront is an open-source enterprise-grade conversational platform built with Rasa. It provides super intuitive interfaces and collaborative features to domain experts, conversational designers and engineers.
😎Easy to use |
🎓Powerful |
💻️Developer friendly |
---|---|---|
Our main goal is to lower the technical barrier to entry in conversational AI. Implementing context-aware conversations should be as easy as chatting. | Botfront uses Rasa, a powerful and production ready conversational AI library. Botfront exposes all Rasa functionalities and abstracts its complexity. | Botfront's intuitive CLI orchestrates all Botfront's services on your development machine. Authoring, training, auto reloading actions code, it just works! |
An intuitive interface for stories and rules |
Botfront provides a unique and natural conversation authoring experience. You can create complex dialog flows in minutes |
A flow chart editor for forms |
A super intuitive flow chart editor for conversations that do not require machine learning |
Automated tests |
Create automated tests in one click from conversations, get detailed reports and deploy in confidence. |
Git integration |
Version your work on a repository with the new Git integration. |
Train & evaluate NLU models |
Botfront comes with a complete NLU toolbox. You can tag vast amounts of data efficiently, train and evaluate models. Several evaluation methods are available depending on the development stage of your model, and you can annotate incoming NLU data |
Rasa integration |
Botfront exposes all Rasa features and concepts and and makes them accessible at a higher level for faster development. You can export a Botfront project and use it with Rasa at any time. |
Enterprise ready |
Scale your conversational AI practice with enterprise grade projects and user management, RBAC and flexible deployment options. |
Botfront only requires a recent version of Docker. You can install the CLI with the following:
npm install -g botfront
Then just run botfront
to get started.
The official documentation of Botfront is hosted on botfront.io. It is automatically built and updated on every new release. Once you've installed the cli you can also use botfront docs
to open it.
We welcome contributions! It can be as easy as clicking on the "Edit page on Github" link at the bottom of every documentation pages.
git clone https://github.com/botfront/botfront
cd botfront/botfront
meteor npm install
# if you installed Botfront from npm uninstall it.
npm uninstall -g botfront
# Install the cli from the source code
cd cli && npm link
Botfront needs to be connected to other services, especially Rasa. To do this, you need to create a regular project, and start Botfront with a dedicated configuration:
botfront init
(somewhere else, not in the repo)botfront up -e botfront
. This will run all services except the Botfront app, since you are going to run it with Meteor locallycd botfront/botfront
and run Botfront with meteor npm run start:docker-compose.dev
. Botfront will be available at http://localhost:3000 so open your browser and happy editing :smile_cat:Some botfront cli commands that may help if you run into problems:
botfront init # create a new botfront project
botfront logs # show the logs!
botfront killall # stop all docker services
botfront down # stop all botfront services
botfront up # restart botfront
botfront docs # open the docs in your browser
Note that these should be run from the same directory as your botfront project
We ❤️ contributions of all size and sorts. If you find a typo, if you want to improve a section of the documentation or if you want to help with a bug or a feature, here are the steps:
fix-botfront-typo-1
fix(conversation builder): display story groups in alphabetical order
fix(readme): improve the readability and move sections
Well done! Once a PR gets merged, here are the things happened next:
branch-master
will be automatically updated in an hour. You may check the status on the Actions tab.End to end tests are using the Cypress testing framework.
To manually run the Cypress tests, you need to have Botfront running in development mode. Some tests also require Rasa to be available.
Once you are at the root of the repo, you can enter the following.
cd botfront
# if you want to open Cypress' graphical interface
npx cypress open
# If you want to run the whole suite in headless mode
# This could take up to an hour depending on your computer
npx cypress run
# If you want to run a specific test
npx cypress run --spec "cypress/integration/02_training/training.spec.js"
To help everyone with understanding the commit history of Botfront, we employ commitlint
to enforce the commit styles:
type(scope?): subject
where type
is one of the following:
scope
is optional, represents the module your commit working on.
subject
explains the commit.
As an example, a commit that improved the documentation:
docs(conversation builder): update slots manager screenshot.
Copyright (C) 2021 Dialogue Technologies Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.(C) 2021 Dialogue Technologies Inc. All rights reserved.