From the conceptual standpoint, PyText was designed to achieve four fundamental goals:
1. Make experimentation with new modeling ideas as easy and as fast as possible.
2. Make it easy to use pre-built models on new data with minimal extra work.
3. Define a clear workflow for both researchers and engineers to build, evaluate, and ship their models to production with minimal overhead.
4. Ensure high performance (low latency and high throughput) on deployed models at inference.
The capabilities of PyText result on a modeling framework that helps researchers and engineers build end-to-end pipelines for training or inference. The current implementation of PyText covers the fundamental stages of the lifecycle of an NLP workflow providing interfaces for rapid experimentation, raw data processing, reporting of metrics, training and serving of trained models. A high level view of the architecture of PyText clearly reveals how those stages are clearly encapsulated by native components of the framework.