Skip to content

Distributions

dilyararimovna edited this page May 9, 2023 · 15 revisions

Distributions

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. Link to the distribution.

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. Link to the distribution.

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. Link to the distribution.

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. Link to the distribution.

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. Link to the distribution.

Dream Mini

Mini version of DeepPavlov Dream Socialbot. This is a generative-based socialbot that uses English DialoGPT model to generate most of the responses. It also contains intent catcher and responder components to cover special user requests. Link to the distribution.

Dream Mini Persona-based

Persona Based mini version of DeepPavlov Dream Socialbot. This is a generative-based socialbot that uses English DialoGPT model to generate most of the responses. It also contains intent catcher and responder components to cover special user requests. Link to the distribution.

Dream Multilingual

Multilingual version of DeepPavlov Dream Socialbot. Link to the distribution.

Dream Multimodal

Multimodal version of DeepPavlov Dream Socialbot. Link to the distribution.

Dream Persona via OpenAI

This is a simple dialog system that can chat with you on any topic. It has a pre-defined 'personality' and uses OpenAI davinci3 model to generate responses. Link to the distribution.

Dream Persona via Transformers

This is a simple dialog system that can chat with you on any topic. It has a pre-defined 'personality' and uses GPT-J 6B model by EleutherAI to generate responses. Link to the distribution.

Dream Persona via Russian LLaMA

Russian Dream Persona-based Chatbot that utilizes Russian LLaMA 7B by Ilya Gusev to generate responses based on the text of personality description. Link to the distribution.

Dream Russian

Russian version of DeepPavlov Dream Socialbot. This is a generative-based socialbot that uses Russian DialoGPT model to generate most of the responses. It also contains intent catcher and responder components to cover special user requests. Link to the distribution.

Building Own Distribution

One may want to create their own distribution in two ways: adding new custom components or composing dialogue system from the existing components.

Adding new custom components

We prepared the video workshop "How to integrate a new component into a Dream-based multiskill AI Assistant".

Composing dialogue system from the existing components

We prepared the video workshop "How to design multiskill AI assistants with DeepPavlov Dream".

Now there is also a special tool for working with DeepPavlov Dream from CLI. Refer to DeepPavlov Dreamtools to create your own distribution from the existing components automatically using CLI.

Publishing Your Distribution

If you want to share your distribution with other Dream users, create a distribution directory in the /assistant_dists/ subdirectory, put your config files to the just created distribution's subdirectory in the /assistant_dists, and then submit it to this repository using a pull request from your fork repo.