πŸ“… 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’s run.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.

Pending Tasks

  • Complete the deployment of the REST API on GCP.
  • Finalize the integration of Flask applications for a robust prediction service.
  • Continue refining the repository structure and documentation.
  • Further optimize the run.py script based on testing feedback.