Coder Social home page Coder Social logo

maxbot-ai / maxbot Goto Github PK

View Code? Open in Web Editor NEW
16.0 2.0 1.0 491 KB

Maxbot is an open source library and framework for creating conversational apps

Home Page: https://maxbot.ai/

License: MIT License

Makefile 0.24% Python 98.35% JavaScript 0.86% CSS 0.38% MDX 0.17%
bot botkit chatbot chatbot-framework conversational-ai conversational-apps maxbot nlp rasa spacy text-bot voice-bot

maxbot's Introduction

Maxbot

Maxbot is an open source library and framework for creating conversational apps.

Features (work in progress)

  • Unified and extendable messaging over any platform.
  • Integration with external libraries and NLU services. Support for active learning.
  • DSL for declarative dialog description based on ready-made models of conversational logic.
  • An engine for creating your own dialog models.
  • NLG command language and templates.
  • Implementing business logic in a general-purpose programming language.
  • Tracking dialog. Sessions. Dialog state. Error handling and recovery.
  • Complex bots with multiple skills. Interaction of skills.
  • Developing, debugging, testing and logging tools.
  • Deployment in any environment: stand-alone, cloud-enabled, hosted. Scaling.
  • Integration with external data sources, services, information systems and support services.
  • Business analytics. Insights.

Maxbot is the right balance of simplicity and flexibility based on time-tested solutions.

Documentation

Documentation
Getting Started Here's everything you need to know!
Design Guides An introduction to the basics of building dialogues.
Tutorials Using examples to understand how to work.
Complex Samples Advanced demonstration of the system's capabilities.
Complete documentation Complete product information. Design concepts and more.

Install Maxbot

For detailed installation instructions, see the documentation.

  • Operating system: macOS / OS X · Unix/Linux · Windows
  • Python version: Python 3.9-3.11 (only 64 bit)
  • Package managers: pip

Pip

Using pip, Maxbot releases are available as source packages and binary wheels. Before you install Maxbot and its dependencies, make sure that your pip and wheel are up to date.

When using pip it is generally recommended to install packages in a virtual environment to avoid modifying system state:

python -m venv .env
source .env/bin/activate
pip install -U pip wheel
pip install maxbot

Quick Start

For detailed installation instructions, see the documentation.

First, we configure channels. Channels are a way to integrate your bot with various messaging platforms. You must configure at least one channel to create a bot. The telegram channel is configured by specifying secret api_token for the telegram bot.

Telegram channel is the best choice for a quick start because it's easy to run right on your laptop. Telegram Bot API allows you to receive incoming updates via long polling, so you don't need to have an external IP and set up webhooks.

Save the bot scenario as bot.yaml or something similar.

channels:
  telegram:
    api_token: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
intents:
  - name: greetings
    examples:
      - Good morning
      - Hello
      - Hi
  - name: ending
    examples:
      - Goodbye
      - Bye
      - See you
dialog:
  - condition: intents.greetings
    response: |
      Good day to you!
  - condition: intents.ending
    response: |
      OK. See you later.
  - condition: true
    response: |
      Sorry I don't understand.

Run the MaxBot CLI app passing the path to the bot.yaml as a parameter.

$ maxbot run --bot bot.yaml
✓ Started polling updater... Press 'Ctrl-C' to exit.

Open your bot in telegram messenger and greet it.

  • Type Hello. You will see the appropriate response: "Good day to you."
  • Type bye and the bot will reply "OK. See you later."
  • Enter a message unknown to the bot, How are you? Get a response: "Sorry I don't understand."

The output in your console will look like this

[01/27/23 23:06:44], telegram#123456789
🧑 Hello
🤖 Good day to you!

[01/27/23 23:06:48], telegram#123456789
🧑 bye
🤖 OK. See you later.

[01/27/23 23:07:03], telegram#123456789
🧑 How are you?
🤖 Sorry I don't understand.

Press Ctrl-C to exit MaxBot CLI app.

Congratulations! You have successfully created and launched a simple bot and chatted with it.

Advanced examples

There are several examples of services built on Maxbot. They show the advanced features of Maxbot, such as custom messanger controls, integration with different REST services, databases and so on. You can also check the implementation details of these features in the examples below.

Where to ask questions

The Maxbot project is maintained by the Maxbot team.

Type Platforms
Usage Questions GitHub Discussions · Stack Overflow
Bug Reports GitHub Issue Tracker
Feature Requests GitHub Discussions

The near future

  • Integration of deterministic dialog models (Dialog Tree, Slot Filling) with large language models (LLM) such as ChatGPT, LLaMA, etc.
  • Improved debugging and logging tools.
  • Released new examples of using the library to create complex bots.

maxbot's People

Contributors

maxbot-ai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

christorng

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.