[[BMengintegrasikan Machine Learning dengan mudah ke REST API

Mengintegrasikan Machine Learning dengan Mudah ke REST API

Di era AI (Artificial Intelligence), banyak sekali penerapan AI di kehidupan sehari-hari. Di bidang teknologi, AI sudah lazim diterapkan, seperti di smart speaker, smart driving car, dan ChatGPT. Kamu mungkin mempunyai kasus yang mengharuskan untuk mengintegrasikan machine learning ke dalam REST API. 

Untuk mengintegrasikan model machine learning ke REST API, kita memerlukan beberapa konfigurasi yang cukup menantang. Namun, tak usah risau. Pada artikel ini, kita akan bahas cara mengintegrasikan model machine learning ke dalam lingkungan REST API di Node.js. Yuk, disimak!

Persiapan Project

Langkah pertama, siapkan proyek terlebih dahulu. Pada artikel ini, kita akan menggunakan JavaScript sebagai bahasa pemrograman dan Hapi sebagai kerangka kerja (framework).

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang
  1. Pertama, buat proyek baru dan bukalah proyek tersebut di teks editor/IDE.
  2. Inisialisasi proyek dengan perintah npm init -y.
  3. Selanjutnya, jalankan npm install @hapi/hapi untuk menginstal Hapi versi terbaru. Setelah berhasil, buatlah struktur proyek seperti gambar berikut.
    struktur project
  4. Setelah itu, bukalah berkas server.js dan tulis kode berikut ini:


    Kode tersebut merupakan kode untuk membuat HTTP Server.
  5. Kemudian, buka file index.js dan tulis kode berikut ini.


    Kode di atas digunakan untuk membuat hapi plugin.
  6. Setelah itu, bukalah routes.js dan tulislah kode berikut ini.


    Kita membuat route ‘/predict’ dengan metode ‘POST’. Berkas gambar yang dikirim melalui request akan diproses dengan multipart/form-data.
  7. Selanjutnya, bukalah handler.js dan tulis kode berikut ini.

    PredictHandler memiliki konstruktor yang berisi service. Handler akan mengembalikan respons dengan label data penyakit dan confidence score. Langkah selanjutnya adalah membuat service. 

Integrasi Machine Learning 

Di dalam service, kita akan mengintegrasikan model machine learning. Di sini, kita tidak akan membahas cara membuat model machine learning, jadi saya asumsikan kamu sudah memiliki modelnya. Kita akan menggunakan model yang sudah dilatih sebelumnya untuk memprediksi penyakit kulit. 

Karena modelnya dibuat dengan TensorFlow, kita akan menggunakan TensorFlow.js. Untuk mengintegrasikan model machine learning ke dalam RESTful API, kamu perlu menginstal beberapa dependensi.

  1. Untuk menambahkan dependensi tfjs-node, kamu dapat menulis perintah berikut ini.
  2. Setelah memasang dependencies, bukalah berkas service.js.
  3. Selanjutnya, import dependencies tensorflow yang dipasang sebelumnya.

  4. Kemudian, buatlah kelas PredictService dan method predictImage.

  5. Di dalam method predictImage, tulis kode untuk memuat model machine learning.


    Model.json akan disimpan di folder model.
  6. Langkah selanjutnya adalah memproses berkas gambar. Jadi, tulislah array dengan nama buffers.


    Kode tersebut memproses berkas foto menjadi potongan data dan menggabungkannya menjadi satu Buffer dengan nama image.
  7. Selanjutnya, kita bisa memprediksi gambar dengan menulis kode berikut.


    TensorFlow API resizeNearestNeighbor digunakan untuk mengubah ukuran gambar.  Variabel score menerima nilai hasil prediksi dengan method data(). Variabel confidenceScore menghitung nilai maksimum dari confidence score dari array score. Variabel label menggunakan argMax function untuk menemukan index dari maksimum score yang mengindikasi label dari class.
  8. Pada kasus ini, kita memiliki tiga label. Jadi tambahkan kode berikut ini.


    Variabel diseaseLabel mengembalikan nama label yang kita prediksi. Jadi, jika labelnya 1, label penyakitnya adalah ‘Squamous cell carcinoma’.
  9. Terakhir, kembalikan confidence score dan label penyakit.
    Berikut keseluruhan kode yang ada di berkas service.js.

Pengujian

Langkah terakhir, kita akan menguji REST API yang telah dibuat sebelumnya. Kamu dapat menggunakan Postman atau tools lainnya. Untuk menguji REST API, buatlah satu request ke endpoint ‘/predict’ dan pastikan endpoint mengembalikan confidence score dan nama penyakit.

Pengujian REST API dengan Postman

Tak terasa kita sudah di penghujung artikel. Kita sudah berhasil mengintegrasikan model machine learning ke REST API menggunakan tfjs-node dan Hapi. Mudah, kan? Sampai jumpa di artikel selanjutnya, Adiós!


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.