REST API for automated order analysis
REST API for automated order analysis
Technologies: Python, FastAPI, SQLite, OpenCV, NumPy, TensorFlow, OpenAI ChatGPT API, SQLAlchemy, Redis, Celery, FastAPI TestClient, Unit tests, Mypy
I am developing a REST API for automated order analysis, designed to improve the order verification process in an online auto parts store. The API accepts images, where the customer can check if the parts shown in the photo match those that were ordered. The system uses OpenCV and NumPy to determine object contours and classifies them using a pre-trained TensorFlow model and the ChatGPT API, which enhances the recognition process and increases classification accuracy.
After processing the image and classifying the objects, the results are sent to the user for confirmation. The user can adjust the recognition, resend requests, and confirm contours and classification. The information is saved in the database using SQLAlchemy and sent to the warehouse management system (WMS).
To improve performance, an asynchronous model caching mechanism has been implemented, which helps avoid delays during initialization. Redis is used to manage the cache and track asynchronous tasks executed via Celery.
Additionally, a model training system has been developed, including functionality for adding new classes and images for training. Unit and integration tests cover all components using FastAPI TestClient, and strict typing is ensured with mypy. Database migrations are managed through SQLAlchemy.
I am fully responsible for the project architecture, technology selection, and implementation of all components, carrying out the work without external guidance.
Technologies: Python, FastAPI, SQLite, OpenCV, NumPy, TensorFlow, OpenAI ChatGPT API, SQLAlchemy, Redis, Celery, FastAPI TestClient, Unit tests, Mypy
I am developing a REST API for automated order analysis, designed to improve the order verification process in an online auto parts store. The API accepts images, where the customer can check if the parts shown in the photo match those that were ordered. The system uses OpenCV and NumPy to determine object contours and classifies them using a pre-trained TensorFlow model and the ChatGPT API, which enhances the recognition process and increases classification accuracy.
After processing the image and classifying the objects, the results are sent to the user for confirmation. The user can adjust the recognition, resend requests, and confirm contours and classification. The information is saved in the database using SQLAlchemy and sent to the warehouse management system (WMS).
To improve performance, an asynchronous model caching mechanism has been implemented, which helps avoid delays during initialization. Redis is used to manage the cache and track asynchronous tasks executed via Celery.
Additionally, a model training system has been developed, including functionality for adding new classes and images for training. Unit and integration tests cover all components using FastAPI TestClient, and strict typing is ensured with mypy. Database migrations are managed through SQLAlchemy.
I am fully responsible for the project architecture, technology selection, and implementation of all components, carrying out the work without external guidance.