# deeppavlov/deeppavlov

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/deeppavlov-deeppavlov).**

6,985 stars · 1,171 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/deeppavlov/DeepPavlov
- Homepage: https://deeppavlov.ai
- awesome-repositories: https://awesome-repositories.com/repository/deeppavlov-deeppavlov.md

## Topics

`ai` `artificial-intelligence` `bot` `chatbot` `chitchat` `deep-learning` `deep-neural-networks` `dialogue-agents` `dialogue-manager` `dialogue-systems` `entity-extraction` `intent-classification` `intent-detection` `machine-learning` `named-entity-recognition` `nlp` `nlp-machine-learning` `question-answering` `slot-filling` `tensorflow`

## Description

DeepPavlov is a conversational AI framework and deep learning NLP library designed for building end-to-end dialogue systems and chatbots. It functions as an NLP pipeline orchestrator that allows users to compose pre-trained models and text processing components into sequential data flows for complex linguistic tasks.

The system is distinguished by its ability to act as a chatbot deployment server, exposing trained conversational models as web services via REST and Socket APIs. It utilizes JSON-based pipeline configurations and dynamic variable interpolation to decouple model logic from infrastructure, while automating the management of model dependencies and pre-trained weight injection.

The toolkit covers a wide range of information extraction and model development capabilities. This includes named entity recognition, entity linking, and various question answering systems spanning open-domain to knowledge base retrieval. It also provides tools for text classification, linguistic analysis, supervised model training, and hyperparameter optimization.

Additional operational features include text preprocessing and vectorization utilities, document ranking for information retrieval, and a dedicated metrics endpoint for monitoring service performance, latency, and throughput.

## Tags

### Artificial Intelligence & ML

- [Conversational AI Deployments](https://awesome-repositories.com/f/artificial-intelligence-ml/conversational-ai-deployments.md) — Hosts conversational AI agents capable of managing dialogue state and interacting with users in real-time via APIs. ([source](http://docs.deeppavlov.ai/intro/overview.html))
- [Conversational AI Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/conversational-ai-frameworks.md) — Provides a comprehensive toolkit for building end-to-end dialogue systems and chatbots using deep learning pipelines.
- [Chatbot Deployment Servers](https://awesome-repositories.com/f/artificial-intelligence-ml/chatbot-deployment-servers.md) — Exposes trained conversational models as web services via REST and Socket APIs for real-time interaction.
- [Deep Learning NLP Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-nlp-frameworks.md) — Combines neural network architectures with natural language processing tasks for entity recognition and question answering.
- [Interactive AI Conversations](https://awesome-repositories.com/f/artificial-intelligence-ml/interactive-ai-conversations.md) — Provides a framework for building end-to-end chatbots and dialogue systems that manage stateful interactions.
- [Modular Pipeline Orchestrators](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/pipelines-and-orchestration/modular-pipeline-orchestrators.md) — Structures machine learning workflows by separating data processing, training, and inference into independent, modular components. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [Model Deployment](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/fine-tuning-and-customization/model-fine-tuning/pre-trained-model-zoos/model-deployment.md) — Deploys trained NLP models as web services via API for remote inference and integration.
- [Model Inference Execution](https://awesome-repositories.com/f/artificial-intelligence-ml/model-inference-execution.md) — Provides the mechanism to run processed data through NLP pipelines to produce entities, tokens, or bot utterances. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [Named Entity Recognition](https://awesome-repositories.com/f/artificial-intelligence-ml/named-entity-recognition.md) — Identifies and categorizes specific entities and their relationships within text for information extraction.
- [Text Tokenization](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing/text-tokenization.md) — Splits raw strings into tokens or lemmas using linguistic engines to enable further NLP analysis. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [NLP Pipeline Assembly](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing/text-tokenization/pipeline-construction/nlp-pipeline-assembly.md) — Allows users to compose pre-trained models and text processing components into sequential data flows.
- [Question Answering Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/question-answering-systems.md) — Implements systems to retrieve precise answers from provided contexts or large knowledge bases.
- [Text Preprocessing Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/text-preprocessing-pipelines.md) — Provides automated workflows for cleaning, sanitizing, and normalizing raw text to prepare it for model input. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [Text-to-Numeric Transformations](https://awesome-repositories.com/f/artificial-intelligence-ml/text-to-numeric-transformations.md) — Transforms batches of text into numerical matrices using hashing and other vectorization techniques for ML models. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [Text Embeddings](https://awesome-repositories.com/f/artificial-intelligence-ml/text-to-numeric-transformations/text-embeddings.md) — Converts text tokens into dense vector representations using pre-trained models for semantic analysis. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [Entity and Relation Extraction](https://awesome-repositories.com/f/artificial-intelligence-ml/entity-and-relation-extraction.md) — Identifies named entities and extracts the specific relationships between them within unstructured text. ([source](http://docs.deeppavlov.ai/))
- [Entity Linking](https://awesome-repositories.com/f/artificial-intelligence-ml/entity-linking.md) — Maps identified text mentions to unique entries in a structured knowledge base to resolve ambiguity. ([source](https://docs.deeppavlov.ai/en/master/intro/quick_start.html))
- [Pre-trained Weight Loading](https://awesome-repositories.com/f/artificial-intelligence-ml/large-scale-model-training/vision-transformer-pre-training/pre-trained-model-checkpoints/pre-trained-weight-loading.md) — Automatically downloads and loads external model weights and embeddings at runtime based on configuration.
- [Text Classification](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/language-tools/text-classification.md) — Provides tools for assigning predefined categories to text for tasks like sentiment analysis and intent recognition.
- [Model Dependency Management](https://awesome-repositories.com/f/artificial-intelligence-ml/model-dependency-management.md) — Automates the installation of required libraries and the downloading of pretrained model files and embeddings. ([source](https://cdn.jsdelivr.net/gh/deeppavlov/deeppavlov@master/README.md))

### Part of an Awesome List

- [NLP Pipeline Orchestrators](https://awesome-repositories.com/f/awesome-lists/data/data-pipelines-and-orchestration/nlp-pipeline-orchestrators.md) — Allows users to compose pre-trained models and text processing components into sequential data flows for complex linguistic tasks.
- [Knowledge Base Question Answering](https://awesome-repositories.com/f/awesome-lists/ai/knowledge-base-question-answering.md) — Resolves natural language questions by validating templates and linking entities to a structured knowledge graph. ([source](https://docs.deeppavlov.ai/en/master/intro/quick_start.html))
- [Question Answering](https://awesome-repositories.com/f/awesome-lists/ai/question-answering.md) — Retrieves answers from a knowledge base or a provided context using open or closed domain techniques. ([source](http://docs.deeppavlov.ai/))
- [Open-Domain](https://awesome-repositories.com/f/awesome-lists/ai/question-answering/open-domain.md) — Retrieves answers to general questions by searching broad document collections and identifying relevant answer spans. ([source](https://docs.deeppavlov.ai/en/master/intro/quick_start.html))
- [Natural Language Processing](https://awesome-repositories.com/f/awesome-lists/ai/natural-language-processing.md) — Library for deep learning-based conversational AI.

### Development Tools & Productivity

- [Model Inference APIs](https://awesome-repositories.com/f/development-tools-productivity/rest-apis/model-inference-apis.md) — Exposes trained models as web services via HTTPS and JSON payloads for real-time inference. ([source](http://docs.deeppavlov.ai/en/master/integrations/rest_api.html))
- [Dynamic Variable Interpolations](https://awesome-repositories.com/f/development-tools-productivity/dynamic-variable-evaluators/dynamic-variable-interpolations.md) — Resolves environment variables and metadata within configuration files using format strings for dynamic deployment.

### DevOps & Infrastructure

- [Model Deployments](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/model-deployments.md) — Exposes trained models through REST and Socket interfaces to enable remote integration and inference. ([source](http://docs.deeppavlov.ai/))
- [Dot-Notation Config Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/environment-management/environment-variable-management/environment-variable-configurations/configuration-variable-overrides/dot-notation-config-overrides.md) — Provides the ability to override nested pipeline parameters using dot notation in configuration files. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))

### Software Engineering & Architecture

- [Component-Based Sequential Processing](https://awesome-repositories.com/f/software-engineering-architecture/component-based-sequential-processing.md) — Implements a modular pipeline orchestrator where the output of one text processing stage becomes the input for the next.
- [JSON Pipeline Configurations](https://awesome-repositories.com/f/software-engineering-architecture/default-configuration-values/execution-parameter-configurations/application-parameter-configurators/pipeline-parameter-configurators/json-pipeline-configurations.md) — Uses JSON-based configuration files to define NLP pipeline sequences and decouple model logic from infrastructure.
- [Environment Variable Injection](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/environment-variable-management/environment-variable-injection.md) — Injects environment variables and metadata into configuration files using template syntax. ([source](http://docs.deeppavlov.ai/en/master/intro/config_description.html))
- [Unified Task Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/unified-task-interfaces.md) — Wraps diverse machine learning frameworks and libraries into a unified interface for training and prediction.

### Web Development

- [Model Serving](https://awesome-repositories.com/f/web-development/model-serving.md) — Serves internal pipeline predictions as a web service using HTTPS and JSON payloads for remote access.

### Data & Databases

- [Corpus Search](https://awesome-repositories.com/f/data-databases/document-retrieval-strategies/corpus-search.md) — Finds relevant documents within a large corpus using TF-IDF ranking for information retrieval. ([source](http://docs.deeppavlov.ai/en/master/features/overview.html))
- [Search Ranking Algorithms](https://awesome-repositories.com/f/data-databases/search-ranking-algorithms.md) — Implements document ranking using neural and TF-IDF algorithms to order search results by relevance. ([source](http://docs.deeppavlov.ai/))
