Maxbot


NameMaxbot JSON
Version 0.3.0b2 PyPI version JSON
download
home_pagehttps://maxbot.ai
SummaryMaxbot is an open source library and framework for creating conversational apps.
upload_time2023-08-29 12:58:08
maintainerMaxbot team
docs_urlNone
authorMaxbot team
requires_python>=3.9,<3.12
licenseMIT
keywords maxbot conversational-apps nlp conversational-ai bot chatbot text-bot voice-bot botkit chatbot-framework
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://maxbot.ai/category/getting-started)** | Here's everything you need to know!                    |
| **[Design Guides](https://maxbot.ai/category/design-guides)**     | An introduction to the basics of building dialogues.   |
| **[Tutorials](https://maxbot.ai/category/tutorials)**             | Using examples to understand how to work.              |
| **[Complex Samples](https://maxbot.ai)**                          | Advanced demonstration of the system's capabilities.   |
| **[Complete documentation](https://maxbot.ai)**                   | Complete product information. Design concepts and more.|


## Install Maxbot

For detailed installation instructions, see the
[documentation](https://maxbot.ai/getting-started/installation).

- **Operating system**: macOS / OS X ยท Unix/Linux ยท Windows
- **Python version**: Python 3.9-3.11 (only 64 bit)
- **Package managers**: [pip](https://pypi.org/project/maxbot/)

### 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:

```bash
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](https://maxbot.ai/getting-started/quick-start).

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.

```yaml
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.

```bash
$ 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.

- [Bank Bot example](https://github.com/maxbot-ai/bank_bot).
- [Taxi Bot example](https://github.com/maxbot-ai/taxi_bot).
- [Transport Bot example](https://github.com/maxbot-ai/transport_bot).

## Where to ask questions

The **Maxbot** project is maintained by the [Maxbot team](https://maxbot.ai).

| Type                            | Platforms                               |
| ------------------------------- | --------------------------------------- |
| **Usage Questions**             | [GitHub Discussions] ยท [Stack Overflow] |
| **Bug Reports**                 | [GitHub Issue Tracker]                  |
| **Feature Requests**            | [GitHub Discussions]                    |

[github issue tracker]: https://github.com/maxbot-ai/maxbot/issues
[github discussions]: https://github.com/maxbot-ai/maxbot/discussions
[stack overflow]: https://stackoverflow.com/questions/tagged/maxbot


## 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://maxbot.ai",
    "name": "Maxbot",
    "maintainer": "Maxbot team",
    "docs_url": null,
    "requires_python": ">=3.9,<3.12",
    "maintainer_email": "hello@maxbot.ai",
    "keywords": "maxbot,conversational-apps,nlp,conversational-ai,bot,chatbot,text-bot,voice-bot,botkit,chatbot-framework",
    "author": "Maxbot team",
    "author_email": "hello@maxbot.ai",
    "download_url": "",
    "platform": null,
    "description": "# Maxbot\n\n**Maxbot** is an open source library and framework for creating conversational apps.\n\n## Features (work in progress)\n- Unified and extendable messaging over any platform.\n- Integration with external libraries and NLU services. Support for active learning.\n- DSL for declarative dialog description based on ready-made models of conversational logic.\n- An engine for creating your own dialog models.\n- NLG command language and templates.\n- Implementing business logic in a general-purpose programming language.\n- Tracking dialog. Sessions. Dialog state. Error handling and recovery.\n- Complex bots with multiple skills. Interaction of skills.\n- Developing, debugging, testing and logging tools.\n- Deployment in any environment: stand-alone, cloud-enabled, hosted. Scaling.\n- Integration with external data sources, services, information systems and support services.\n- Business analytics. Insights.\n\n**Maxbot** is the right balance of simplicity and flexibility based on time-tested solutions.\n\n## Documentation\n\n| Documentation                                                     |                                                        |\n| ----------------------------------------------------------------- | ------------------------------------------------------ |\n| **[Getting Started](https://maxbot.ai/category/getting-started)** | Here's everything you need to know!                    |\n| **[Design Guides](https://maxbot.ai/category/design-guides)**     | An introduction to the basics of building dialogues.   |\n| **[Tutorials](https://maxbot.ai/category/tutorials)**             | Using examples to understand how to work.              |\n| **[Complex Samples](https://maxbot.ai)**                          | Advanced demonstration of the system's capabilities.   |\n| **[Complete documentation](https://maxbot.ai)**                   | Complete product information. Design concepts and more.|\n\n\n## Install Maxbot\n\nFor detailed installation instructions, see the\n[documentation](https://maxbot.ai/getting-started/installation).\n\n- **Operating system**: macOS / OS X \u00b7 Unix/Linux \u00b7 Windows\n- **Python version**: Python 3.9-3.11 (only 64 bit)\n- **Package managers**: [pip](https://pypi.org/project/maxbot/)\n\n### Pip\n\nUsing pip, **Maxbot** releases are available as source packages and binary wheels.\nBefore you install **Maxbot** and its dependencies, make sure that\nyour `pip` and `wheel` are up to date.\n\nWhen using pip it is generally recommended to install packages in a virtual\nenvironment to avoid modifying system state:\n\n```bash\npython -m venv .env\nsource .env/bin/activate\npip install -U pip wheel\npip install maxbot\n```\n\n### Quick Start\n\nFor detailed installation instructions, see the\n[documentation](https://maxbot.ai/getting-started/quick-start).\n\nFirst, we configure channels. Channels are a way to integrate your bot with various messaging platforms.\nYou must configure at least one channel to create a bot. The telegram channel is configured by specifying secret `api_token` for the telegram bot.\n\n> Telegram channel is the best choice for a quick start because it's easy to run right on your laptop.\n> 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.\n\nSave the bot scenario as `bot.yaml` or something similar.\n\n```yaml\nchannels:\n  telegram:\n    api_token: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw\nintents:\n  - name: greetings\n    examples:\n      - Good morning\n      - Hello\n      - Hi\n  - name: ending\n    examples:\n      - Goodbye\n      - Bye\n      - See you\ndialog:\n  - condition: intents.greetings\n    response: |\n      Good day to you!\n  - condition: intents.ending\n    response: |\n      OK. See you later.\n  - condition: true\n    response: |\n      Sorry I don't understand.\n```\n\nRun the MaxBot CLI app passing the path to the bot.yaml as a parameter.\n\n```bash\n$ maxbot run --bot bot.yaml\n\u2713 Started polling updater... Press 'Ctrl-C' to exit.\n```\n\nOpen your bot in telegram messenger and greet it.\n\n- Type `Hello`. You will see the appropriate response: *\"Good day to you.\"*\n- Type `bye` and the bot will reply *\"OK. See you later.\"*\n- Enter a message unknown to the bot, `How are you?` Get a response: *\"Sorry I don't understand.\"*\n\nThe output in your console will look like this\n\n```\n[01/27/23 23:06:44], telegram#123456789\n\ud83e\uddd1 Hello\n\ud83e\udd16 Good day to you!\n\n[01/27/23 23:06:48], telegram#123456789\n\ud83e\uddd1 bye\n\ud83e\udd16 OK. See you later.\n\n[01/27/23 23:07:03], telegram#123456789\n\ud83e\uddd1 How are you?\n\ud83e\udd16 Sorry I don't understand.\n```\n\nPress `Ctrl-C` to exit MaxBot CLI app.\n\nCongratulations! You have successfully created and launched a simple bot and chatted with it.\n\n### Advanced examples\n\nThere 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.\n\n- [Bank Bot example](https://github.com/maxbot-ai/bank_bot).\n- [Taxi Bot example](https://github.com/maxbot-ai/taxi_bot).\n- [Transport Bot example](https://github.com/maxbot-ai/transport_bot).\n\n## Where to ask questions\n\nThe **Maxbot** project is maintained by the [Maxbot team](https://maxbot.ai).\n\n| Type                            | Platforms                               |\n| ------------------------------- | --------------------------------------- |\n| **Usage Questions**             | [GitHub Discussions] \u00b7 [Stack Overflow] |\n| **Bug Reports**                 | [GitHub Issue Tracker]                  |\n| **Feature Requests**            | [GitHub Discussions]                    |\n\n[github issue tracker]: https://github.com/maxbot-ai/maxbot/issues\n[github discussions]: https://github.com/maxbot-ai/maxbot/discussions\n[stack overflow]: https://stackoverflow.com/questions/tagged/maxbot\n\n\n## The near future\n\n- Integration of deterministic dialog models (Dialog Tree, Slot Filling) with large language models (LLM) such as ChatGPT, LLaMA, etc.\n- Improved debugging and logging tools.\n- Released new examples of using the library to create complex bots.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Maxbot is an open source library and framework for creating conversational apps.",
    "version": "0.3.0b2",
    "project_urls": {
        "Documentation": "https://maxbot.ai/intro",
        "Homepage": "https://maxbot.ai",
        "Repository": "https://github.com/maxbot-ai/maxbot"
    },
    "split_keywords": [
        "maxbot",
        "conversational-apps",
        "nlp",
        "conversational-ai",
        "bot",
        "chatbot",
        "text-bot",
        "voice-bot",
        "botkit",
        "chatbot-framework"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "73fcce42111fc14fe3cf36a5cfd5c014458cb0bfbb314b7b756c6355c1af1223",
                "md5": "2bf284d169253701cdeb5b07578f22f8",
                "sha256": "a78a7d9505591f04d9c9ec6117c91b1dfaa02e091dba0ea5b38e9f00ece25e1c"
            },
            "downloads": -1,
            "filename": "maxbot-0.3.0b2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2bf284d169253701cdeb5b07578f22f8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.12",
            "size": 116187,
            "upload_time": "2023-08-29T12:58:08",
            "upload_time_iso_8601": "2023-08-29T12:58:08.089035Z",
            "url": "https://files.pythonhosted.org/packages/73/fc/ce42111fc14fe3cf36a5cfd5c014458cb0bfbb314b7b756c6355c1af1223/maxbot-0.3.0b2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-29 12:58:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "maxbot-ai",
    "github_project": "maxbot",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "maxbot"
}
        
Elapsed time: 0.13695s