DeepPavlov is an open-source conversational AI library built on TensorFlow and Keras. DeepPavlov is designed for development of production ready chatbots and complex conversational systems, research in the area of NLP and, particularly, of dialog systems.
What is DeepPavlov?
DeepPavlov is an open-source conversational AI library built on TensorFlow and Keras.
DeepPavlov is designed for
- development of production ready chat-bots and complex conversational systems,
- research in the area of NLP and, particularly, of dialog systems.
Quick Links
- Website deeppavlov.ai
- Demo demo.deeppavlov.ai
- Documentation docs.deeppavlov.ai
- Model List docs:features
- Contribution Guide docs:contribution_guide
- Issues github/issues
- Forum forum.deeppavlov.ai
- Blogs medium.com/deeppavlov
- Tutorials examples and extended colab tutorials
Please leave us your feedback on how we can improve the DeepPavlov framework.
This repository contains pre-built DeepPavlov images. The images allow you to run DeepPavlov models and communicate them via REST-like HTTP API (see riseapi DeepPavlov docs for more details). Images from these repository are built to be run on GPU and require to have NVIDIA Container Toolkit installed. Dockerfile can be found here.
Running DeepPavlov
Run following to start DeepPavlov model:
nvidia-docker run -e CONFIG=deeppavlov_config \
-p host_port:5000 \
-v dp_components_volume:/root/.deeppavlov \
nvcr.io/partners/deeppavlov:latest
Where:
-
deeppavlov_config- is config file name (without extension) for model you want to run. You can get DeepPavlov models list with description in DP features docs or browse DP GitHub here. -
host_port- port on which you want to run DeepPavlov model. -
dp_components_dir- directory on the host where you can mount DeepPavlov downloaded components dir. Most of DeepPavlov models use downloadable components (pretrained model pickles, embeddings...) which are downloaded from DeepPavlov servers. To prevent downloading components (some of them are quite heavy) each time you run Docker image for specific DeepPavlov config, you can mount volume. If you do it, DeepPavlov will store components downloaded during the first launch of any DeepPavlov config in this volume, so during further launches DeepPavlov won't reload components. We recommend to use onedp_components_volumefor all models because some of them can use same components. DeepPavlov will automatically manage downloaded components for all configs in this volume.
After model initiate, follow url http://127.0.0.1:host_port in your browser to get Swagger for model API and endpoint reference.
Example:
- This will run Docker container with NER Ontonotes on your host with GPU acceleration:
nvidia-docker run -e CONFIG=ner_ontonotes \
-p 5555:5000 \
-v ~/my_dp_components:/root/.deeppavlov \
nvcr.io/partners/deeppavlov:latest
-
Follow
http://127.0.0.1:5555URL in your browser to get Swagger with model API info; -
Downloadable components located in
~/my_dp_components(contents of this dir is managed by DeepPavlov).
License
By pulling and using this container, you accept the terms and conditions of Apache 2.0 license.