{"id":30318223,"url":"https://github.com/deepmipt/DeepPavlov","last_synced_at":"2025-08-17T20:09:45.265Z","repository":{"id":37431652,"uuid":"111113343","full_name":"deeppavlov/DeepPavlov","owner":"deeppavlov","description":"An open source library for deep learning end-to-end dialog systems and chatbots.","archived":false,"fork":false,"pushed_at":"2025-08-06T07:11:40.000Z","size":32912,"stargazers_count":6923,"open_issues_count":50,"forks_count":1165,"subscribers_count":208,"default_branch":"master","last_synced_at":"2025-08-12T12:44:20.046Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://deeppavlov.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deeppavlov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-11-17T14:35:29.000Z","updated_at":"2025-08-11T18:08:43.000Z","dependencies_parsed_at":"2022-08-08T20:15:59.951Z","dependency_job_id":"c89c12bf-a4ea-4536-a5e9-5c2e73e81aee","html_url":"https://github.com/deeppavlov/DeepPavlov","commit_stats":{"total_commits":2372,"total_committers":83,"mean_commits":28.57831325301205,"dds":0.6947723440134908,"last_synced_commit":"aff27489a3c87644eeb8f6009e4a824e83c66c05"},"previous_names":["deepmipt/deeppavlov"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/deeppavlov/DeepPavlov","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeppavlov%2FDeepPavlov","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeppavlov%2FDeepPavlov/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeppavlov%2FDeepPavlov/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeppavlov%2FDeepPavlov/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deeppavlov","download_url":"https://codeload.github.com/deeppavlov/DeepPavlov/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeppavlov%2FDeepPavlov/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270899582,"owners_count":24664720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-08-17T20:04:14.485Z","updated_at":"2025-08-17T20:09:45.254Z","avatar_url":"https://github.com/deeppavlov.png","language":"Python","readme":"# DeepPavlov 1.0\n\n[![License Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n![Python 3.6, 3.7, 3.8, 3.9, 3.10, 3.11](https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-green.svg)\n[![Downloads](https://pepy.tech/badge/deeppavlov)](https://pepy.tech/project/deeppavlov)\n[![Static Badge](https://img.shields.io/badge/DeepPavlov%20Community-blue)](https://forum.deeppavlov.ai/)\n[![Static Badge](https://img.shields.io/badge/DeepPavlov%20Demo-blue)](https://demo.deeppavlov.ai/)\n\n\nDeepPavlov 1.0 is an open-source NLP framework built on [PyTorch](https://pytorch.org/) and [transformers](https://github.com/huggingface/transformers). DeepPavlov 1.0 is created for modular and configuration-driven development of state-of-the-art NLP models and supports a wide range of NLP model applications. DeepPavlov 1.0 is designed for practitioners with limited knowledge of NLP/ML.\n\n## Quick Links\n\n|name|Description|\n|--|--|\n| ⭐️ [*Demo*](https://demo.deeppavlov.ai/)|Check out our NLP models in the online demo|\n| 📚 [*Documentation*](http://docs.deeppavlov.ai/)|How to use DeepPavlov 1.0 and its features|\n| 🚀 [*Model List*](http://docs.deeppavlov.ai/en/master/features/overview.html)|Find the NLP model you need in the list of available models|\n| 🪐 [*Contribution Guide*](http://docs.deeppavlov.ai/en/master/devguides/contribution_guide.html)|Please read the contribution guidelines before making a contribution|\n| 🎛 [*Issues*](https://github.com/deeppavlov/DeepPavlov/issues)|If you have an issue with DeepPavlov, please let us know|\n| ⏩ [*Forum*](https://forum.deeppavlov.ai/)|Please let us know if you have a problem with DeepPavlov|\n| 📦 [*Blogs*](https://medium.com/deeppavlov)|Read about our current development|\n| 🦙 [Extended colab tutorials](https://github.com/deeppavlov/dp_tutorials)|Check out the code tutorials for our models|\n| 🌌 [*Docker Hub*](https://hub.docker.com/u/deeppavlov/)|Check out the Docker images for rapid deployment|\n| 👩‍🏫 [*Feedback*](https://forms.gle/i64fowQmiVhMMC7f9)|Please leave us your feedback to make DeepPavlov better|\n\n\n## Installation\n\n0. DeepPavlov supports `Linux`, `Windows 10+` (through WSL/WSL2), `MacOS` (Big Sur+) platforms, `Python 3.6`, `3.7`, `3.8`, `3.9` and `3.10`.\n    Depending on the model used, you may need from 4 to 16 GB RAM.\n\n1. Create and activate a virtual environment:\n    * `Linux`\n\n    ```\n    python -m venv env\n    source ./env/bin/activate\n    ```\n\n2. Install the package inside the environment:\n\n    ```\n    pip install deeppavlov\n    ```\n\n## QuickStart\n\nThere is a bunch of great pre-trained NLP models in DeepPavlov. Each model is\ndetermined by its config file.\n\nList of models is available on\n[the doc page](http://docs.deeppavlov.ai/en/master/features/overview.html) in\nthe `deeppavlov.configs` (Python):\n\n```python\nfrom deeppavlov import configs\n```\n\nWhen you're decided on the model (+ config file), there are two ways to train,\nevaluate and infer it:\n\n* via [Command line interface (CLI)](#command-line-interface-cli) and\n* via [Python](#python).\n\n#### GPU requirements\n\nBy default, DeepPavlov installs models requirements from PyPI. PyTorch from PyPI could not support your device CUDA\ncapability. To run supported DeepPavlov models on GPU you should have [CUDA](https://developer.nvidia.com/cuda-toolkit)\ncompatible with used GPU and [PyTorch version](deeppavlov/requirements/pytorch.txt) required by DeepPavlov models.\nSee [docs](https://docs.deeppavlov.ai/en/master/intro/quick_start.html#using-gpu) for details.\nGPU with Pascal or newer architecture and 4+ GB VRAM is recommended.\n\n### Command line interface (CLI)\n\nTo get predictions from a model interactively through CLI, run\n\n```bash\npython -m deeppavlov interact \u003cconfig_path\u003e [-d] [-i]\n```\n\n* `-d` downloads required data - pretrained model files and embeddings (optional).\n* `-i` installs model requirements (optional).\n\nYou can train it in the same simple way:\n\n```bash\npython -m deeppavlov train \u003cconfig_path\u003e [-d] [-i]\n```\n\nDataset will be downloaded regardless of whether there was `-d` flag or not.\n\nTo train on your own data you need to modify dataset reader path in the\n[train config doc](http://docs.deeppavlov.ai/en/master/intro/config_description.html#train-config).\nThe data format is specified in the corresponding model doc page.\n\nThere are even more actions you can perform with configs:\n\n```bash\npython -m deeppavlov \u003caction\u003e \u003cconfig_path\u003e [-d] [-i]\n```\n\n* `\u003caction\u003e` can be\n  * `install` to install model requirements (same as `-i`),\n  * `download` to download model's data (same as `-d`),\n  * `train` to train the model on the data specified in the config file,\n  * `evaluate` to calculate metrics on the same dataset,\n  * `interact` to interact via CLI,\n  * `riseapi` to run a REST API server (see\n    [doc](http://docs.deeppavlov.ai/en/master/integrations/rest_api.html)),\n  * `predict` to get prediction for samples from *stdin* or from\n      *\u003cfile_path\u003e* if `-f \u003cfile_path\u003e` is specified.\n* `\u003cconfig_path\u003e` specifies path (or name) of model's config file\n* `-d` downloads required data\n* `-i` installs model requirements\n\n### Python\n\nTo get predictions from a model interactively through Python, run\n\n```python\nfrom deeppavlov import build_model\n\nmodel = build_model(\u003cconfig_path\u003e, install=True, download=True)\n\n# get predictions for 'input_text1', 'input_text2'\nmodel(['input_text1', 'input_text2'])\n```\n\nwhere\n\n* `install=True` installs model requirements (optional),\n* `download=True` downloads required data from web - pretrained model files and embeddings (optional),\n* `\u003cconfig_path\u003e` is model name (e.g. `'ner_ontonotes_bert_mult'`), path to the chosen model's config file (e.g.\n  `\"deeppavlov/configs/ner/ner_ontonotes_bert_mult.json\"`),  or `deeppavlov.configs` attribute (e.g.\n  `deeppavlov.configs.ner.ner_ontonotes_bert_mult` without quotation marks).\n\nYou can train it in the same simple way:\n\n```python\nfrom deeppavlov import train_model \n\nmodel = train_model(\u003cconfig_path\u003e, install=True, download=True)\n```\n\nTo train on your own data you need to modify dataset reader path in the\n[train config doc](http://docs.deeppavlov.ai/en/master/intro/config_description.html#train-config).\nThe data format is specified in the corresponding model doc page.\n\nYou can also calculate metrics on the dataset specified in your config file:\n\n```python\nfrom deeppavlov import evaluate_model \n\nmodel = evaluate_model(\u003cconfig_path\u003e, install=True, download=True)\n```\n\nDeepPavlov also [allows](https://docs.deeppavlov.ai/en/master/intro/python.html) to build a model from components for\ninference using Python.\n\n## License\n\nDeepPavlov is Apache 2.0 - licensed.\n\n## Citation\n```\n@inproceedings{savkin-etal-2024-deeppavlov,\n    title = \"DeepPavlov 1.0: Your Gateway to Advanced NLP Models Backed by Transformers and Transfer Learning\",\n    author = \"Savkin Maksim and Voznyuk Anastasia and Ignatov Fedor and Korzanova Anna and Karpov Dmitry and Popov Alexander and Konovalov Vasily\"\n    editor = \"Hernandez Farias and Delia Irazu and Hope Tom and Li Manling\",\n    booktitle = \"Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing: System Demonstrations\",\n    month = nov,\n    year = \"2024\",\n    address = \"Miami, Florida, USA\",\n    publisher = \"Association for Computational Linguistics\",\n    url = \"https://aclanthology.org/2024.emnlp-demo.47\",\n    pages = \"465--474\",\n    abstract = \"We present DeepPavlov 1.0, an open-source framework for using Natural Language Processing (NLP) models by leveraging transfer learning techniques. DeepPavlov 1.0 is created for modular and configuration-driven development of state-of-the-art NLP models and supports a wide range of NLP model applications. DeepPavlov 1.0 is designed for practitioners with limited knowledge of NLP/ML. DeepPavlov is based on PyTorch and supports HuggingFace transformers. DeepPavlov is publicly released under the Apache 2.0 license and provides access to an online demo.\",\n}\n```\n","funding_links":[],"categories":["Python","\u003e 3k ★","Projects Using Pydantic","文本数据和NLP","Tool \u0026 Repository","Chinese NLP Toolkits 中文NLP工具"],"sub_categories":["Machine Learning","QA \u0026 Chatbot 问答和聊天机器人"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepmipt%2FDeepPavlov","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepmipt%2FDeepPavlov","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepmipt%2FDeepPavlov/lists"}