π 2024-04-04 β Session: Developed REST API for Diamonds ML Model
π 00:20β02:30
π·οΈ Labels: REST API, Machine Learning, GCP, Flask, Diamonds Project
π Project: Dev
β Priority: MEDIUM
Session Goal
The goal of this session was to develop and optimize a REST API for a machine learning model predicting diamond prices, integrating various software development and cloud infrastructure practices.
Key Activities
- Mastered REST API Concepts: Reviewed essential knowledge for creating REST APIs, focusing on integrating machine learning models.
- Developed ML Model as REST API: Executed stages of creating a REST API using the diamonds dataset, including data preparation, model training, and deployment.
- Built GCP Infrastructure: Planned a cloud-based infrastructure on Google Cloud Platform for model training and serving, emphasizing containerization and deployment.
- Architectural Planning: Considered scalable and robust system design for machine learning APIs.
- Repository Evaluation: Reflected on best practices for version control and evaluated a forked repository for development skills.
- Repository Structure Planning: Proposed a modular structure for the ML API project repository, focusing on future cloud integration.
- Project Pitch: Developed a project pitch for the Diamonds ML API, outlining key components and integration plans.
- Environment Setup: Set up the
OPENAI_API_KEY
environment variable for API access. - Bash Command Handling: Documented methods for handling Markdown characters in bash commands.
- Software Structure Analysis: Analyzed the software structure for the Diamonds1 project using ChatDev.
- Optimization of
run.py
Parameters: Optimized parameters in ChatDevβsrun.py
for the Diamonds ML API project. - Flask Script Comparison: Compared Flask scripts for serving diamond price predictions, identifying strengths and integration opportunities.
Achievements
- Successfully outlined and initiated the development of a REST API for a machine learning model.
- Planned and partially executed the integration with GCP for scalable deployment.
- Established a clear project structure and environment setup for future development.