Skip to content

Distributions

Dilyara Baymurzina edited this page Jun 27, 2022 · 15 revisions

Overview

Distribution is a set of config files (Docker YAML files and pipeline_conf.json used by DeepPavlov Agent) and accompanying components and services that together form a multiskill AI Assistant built using the DeepPavlov Conversational AI Technology Stack.

Provided Distributions

We've already included six distributions: four of them are based on lightweight Deepy socialbot, one is a full-sized Dream chatbot (based on Alexa Prize Challenge version) in English and a Dream chatbot in Russian.

Deepy Base

Base version of Lunar assistant. Deepy Base contains Spelling Preprocessing annotator, template-based Harvesters Maintenance Skill, and AIML-based open-domain Program-y Skill based on Dialog Flow Framework.

Deepy Advanced

Advanced version of Lunar assistant. Deepy Advanced contains Spelling Preprocessing, Sentence Segmentation, Entity Linking and Intent Catcher annotators, Harvesters Maintenance GoBot Skill for goal-oriented responses, and AIML-based open-domain Program-y Skill based on Dialog Flow Framework.

Deepy FAQ

FAQ version of Lunar assistant. Deepy FAQ contains Spelling Preprocessing annotator, template-based Frequently Asked Questions Skill, and AIML-based open-domain Program-y Skill based on Dialog Flow Framework.

Deepy GoBot

Goal-oriented version of Lunar assistant. Deepy GoBot Base contains Spelling Preprocessing annotator, Harvesters Maintenance GoBot Skill for goal-oriented responses, and AIML-based open-domain Program-y Skill based on Dialog Flow Framework.

D3PO

  • d3po - this is a C3-PO-inspired bot that was created by our MIPT interns of the Spring 2021. It is not yet published to this repository. It will be eventually published into this repository, and it will also be available as one of the distributions like Deepy and Dream.

Dream

Full version of DeepPavlov Dream Socialbot. This is almost the same version of the DREAM socialbot as at the end of Alexa Prize Challenge 4. Some API services are replaced with trainable models. Some services (e.g., News Annotator, Game Skill, Weather Skill) require private keys for underlying APIs, most of them can be obtained for free. If you want to use these services in local deployments, add your keys to the environmental variables (e.g., ./.env). This version of Dream Socialbot consumes a lot of resources because of its modular architecture and original goals (participation in Alexa Prize Challenge). We provide a demo of Dream Socialbot on our website.

Building Own Distribution

To build your own distribution, you can add custom components to the "thirdparty" directory in the given folder (/annotators for annotators, /skills for skills/, etc.), add them to the docker-compose.yml and agent/pipeline_conf.json, build it with docker-compose up --build

Publishing Your Distribution

If you want to share your distribution with other Deepy users, create a distribution directory in the /assistant_dists/ subdirectory, move these config files to the just created distribution's subdirectory in the /assistant_dists, and then submit it to this repository using a PR.