This project implements an end-to-end Natural Language Processing (NLP) pipeline using FastAPI and Hugging Face transformers library. It consists of data ingestion, validation, transformation, model training, evaluation, and deployment stages.
- Data Ingestion: The pipeline begins by ingesting raw data using
DataIngestionTrainingPipeline
. - Data Validation: Next, data is validated and cleaned using
DataValidationTrainingPipeline
. - Data Transformation: Data is transformed and preprocessed for model training using
DataTransformationTrainingPipeline
. - Model Training: The model is trained using Hugging Face transformers library with
ModelTrainerTrainingPipeline
. - Model Evaluation: The trained model is evaluated for performance metrics using
ModelEvaluationTrainingPipeline
. - Model Deployment: Finally, the model is deployed using FastAPI for real-time predictions.
- Run Stages: Execute each stage of the pipeline in sequence by running the corresponding Python script.
- Access Endpoints: Utilize the FastAPI endpoints for training (
/train
) and predictions (/predict
). - Customize Pipeline: Customize each stage of the pipeline as per specific project requirements.
Refer to the code and inline comments for detailed instructions and customization options.
- Update config.yaml
- Update params.yaml
- Update entity
- Update the configuration manager in src config
- Update the conponents
- Update the pipeline
- Update the main.py
- Update the app.py
- Python 3.x
- FastAPI
- Hugging Face transformers
- uvicorn
This project demonstrates an end-to-end NLP pipeline implementation using FastAPI and Hugging Face transformers. From data preprocessing to model deployment, it offers a comprehensive solution for NLP tasks. Explore the capabilities and unleash the power of state-of-the-art NLP models with ease.