Skip to content

An open source chatbot platform built with Rasa

License

Notifications You must be signed in to change notification settings

Revmaker/botfront

 
 

Repository files navigation

npm License License

HighlightsFeaturesQuick startDocumentationDevelopment

Release NotesGet helpBotfront.io


What is it

Conversational projects require easy prototyping, fast implementation and continuous iteration. With Botfront you can build context-aware conversation flows in minutes and accelerate time to market by an exponential factor.

Highlights

😎

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!

Features

Builds conversation as if you were chatting

Botfront provides a unique and natural conversation authoring experience. You can create complex dialog flows in minutes

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

Annotate incoming data

Botfront is always connected to your agent and conversation data keeps flowing in. You can annotate this data and even use it as an evaluation set and check how this new data improves your model.

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.

Quick Start

Botfront only requires a recent version of Docker. You can install the CLI with the following:

npm install -g botfront

Then just run botfrontto get started.


Documentation

The official documentation of Botfront is hosted on botfront.io. It is automatically built and updated on every new release.

If you need run the documentation elsewhere you can build a Docker container as follows:

# From the root of the repo
docker build -t botfront/botfront-docs botfront/docs

To serve the docs on port 8080 (e.g. https://localhost:8080):

docker run -p 8080:80 botfront/botfront-docs

Development

Installation

  1. Botfront is a Meteor app, so the first step is to install Meteor
  2. Then clone this repo and install the dependencies:
git clone https://github.com/botfront/botfront
cd botfront/botfront
meteor npm install
  1. Install the CLI from the source code:
# 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:

  1. Create a Botfront project with botfront init (somewhere else, not in the repo)
  2. Start your project with botfront up -e botfront. This will run all services except the Botfront app, since you are going to run it with Meteor locally
  3. Run Botfront with meteor npm run start:docker-compose.dev. Botfront will be available at http://localhost:3000

Contribute

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:

  1. Fork the repo and create a new branch, say fix-botfront-typo-1
  2. Fix/improve the codebase
  3. Commit the changes. Commit message must follow the naming convention, say fix(conversation builder): display story groups in alphabetical order
  4. Make a pull request. Pull request name must follow the naming convention. It can simply be one of your commit messages, just copy paste it, e.g. fix(readme): improve the readability and move sections
  5. Submit your pull request and wait for all checks passed (up to an hour)
  6. Request reviews from one of the developers from our core team.
  7. Get a 👍 and PR gets merged.

Well done! Once a PR gets merged, here are the things happened next:

  • all Docker images tagged with branch-master will be automatically updated in an hour. You may check the status on the Actions tab.
  • your contribution and commits will be included in our release note.

Commit messages naming convention

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:

  • build
  • ci
  • chore
  • docs
  • feat
  • fix
  • perf
  • refactor
  • revert
  • style
  • test

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.

License

Botfront is AGPLv3 licensed. You can read the licence here.

Copyright (C) 2019 9300-2038 Quebec Inc. All rights reserved.

About

An open source chatbot platform built with Rasa

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.9%
  • Other 1.1%