Code Monkey home page Code Monkey logo

dialogic's Introduction

dialogic

PyPI version

readme in english

Это очередная обёртка на Python для навыков Алисы и Салюта (Сбер) и ботов в Telegram *, VK, и Facebook.

Она позволяет как быстро писать прототипы ботов для разных платформ, так и масштабировать их, когда кода и сценариев становится много.

Ранее пакет был известен как tgalice.

Установка пакета: pip install dialogic

Пример кода

Ниже описан бот, который на приветствие отвечает приветствием, а на все остальные фразы - заглушкой по умолчанию.

from dialogic.dialog_connector import DialogConnector
from dialogic.dialog_manager import TurnDialogManager
from dialogic.server.flask_server import FlaskServer
from dialogic.cascade import DialogTurn, Cascade

csc = Cascade()


@csc.add_handler(priority=10, regexp='(hello|hi|привет|здравствуй)')
def hello(turn: DialogTurn):
    turn.response_text = 'Привет! Это единственная условная ветка диалога.'


@csc.add_handler(priority=1)
def fallback(turn: DialogTurn):
    turn.response_text = 'Я вас не понял. Скажите мне "Привет"!'
    turn.suggests.append('привет')


dm = TurnDialogManager(cascade=csc)
connector = DialogConnector(dialog_manager=dm)
server = FlaskServer(connector=connector)

if __name__ == '__main__':
    server.parse_args_and_run()

Чтобы запустить приложение как веб-сервис, достаточно запустить данный скрипт.

Если приложение доступно по адресу {BASE_URL}, то вебхуки для Алисы, Салюта и Facebook будут доступны, соотвественно, на {BASE_URL}/alice/, {BASE_URL}/salut/, and {BASE_URL}/fb/ (при желании, адреса можно изменить). Вебхук для бота в Telegram будет установлен автоматически, если выставить в переменную окружения TOKEN значение, полученное от @BotFather.

Чтобы протестировать приложение локально, можно вызвать его с аргументами:

  • --cli - диалог с ботом в командной строке, полностью онлайн
  • --poll - запуск бота в Telegram в режиме long polling
  • --ngrok - локальный запуск с использованием ngrok **, чтобы создать туннель из вашего компьютера во внешний Интернет. Удобный способ тестировать навыки Алисы.

Больше возможностей

  • Использование встроенных классификаторов интентов или сторонних средств NLU, включая грамматики от Яндекса или любые доступные в Python модели.
  • Подключение собственных поверхностей или настройка имеющихся.
  • Логирование запросов и ответов для последующей аналитики.

Библиотека возможностей регулярно пополняется.

Ресурсы и поддержка

В папе examples собраны примеры использования компонент и запуска ботов.

Вопросы можно задать в чате Dialogic.Digital support (Telegram).

* Обёртка для Telegram использует пакет pyTelegramBotAPI.

** Обёртка для ngrok была взята из пакета flask-ngrok.

dialogic's People

Contributors

avidale avatar

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.