Bagaimana Pelayan Pintar Bekerja
Pelayan pintar adalah chatbot WhatsApp yang kami kembangkan di Bahasa.ai menggunakan perangkat IoT. Bagaimana AI kami bekerja pada perangkat tersebut?
Persiapan
Langkah awalnya kita perlu menyiapkan aplikasi mobile dan cloud environment pada Tuya platform. Agar aplikasi yang dibuat dapat langsung di-install kita perlu membuatnya menjadi OEM app, selanjutnya hanya perlu melakukan kustomisasi seperlunya.
Setelah install aplikasi tersebut pada smartphone kita, kita perlu menambahkan atau menghubungkan perangkat IoT yang telah kita miliki ke aplikasi tersebut. Selanjutnya, buatlah cloud dan hubungkan aplikasi kita ke cloud tersebut melalui menu link devices by Apps.
Ketika semuanya sudah dipersiapkan, yang perlu kita catat sebagai “kunci” untuk disimpan pada environment variable mesin kita adalah client id dan client secret pada cloud dan schema pada aplikasi yang telah dibuat.
Services
Service atau layanan utama pada chatbot ini adalah HTTP request yang digunakan untuk mengirim perintah ke perangkat IoT. Kami menggunakan produk dari Tuya sehingga perlu menyiapkan environtment-nya terlebih dahulu berikut langkah-langkahnya: Quick Start. Selanjutnya hanya perlu melakukan wrapping terhadap API yang kita perlukan dari Tuya cloud (API list) agar mudah digunakan saat development.
Beberapa layanan pendukung lainnya adalah internal service, email sender, dan cache tentunya.
Sinkronisasi Pengguna
Untuk menghubungkan pengguna dengan WhatsApp, kita perlu melakukan mapping nomor WhatsApp pengguna dengan akunnya yang telah terdaftar melalui aplikasi tersebut. Beruntungnya, Tuya telah menyediakan sebuah API untuk mendapatkan pengguna dari username-nya. Jadi, yang perlu kita tanyakan ke pengguna saat pertama kali chat ke chatbot adalah username yang digunakan pada aplikasinya.
Pada dokumentasi user management API milik Tuya tidak ditulis secara lengkap pada bagian request parameter. Pada bagian itu, sebenarnya kita bisa menambahkan parameter username pada URL (misal, https://xxxxxx.xxx?username=gilang@bahasa.ai).
Untuk membuktikan pengguna dengan username tersebut adalah pengguna yang valid, kita perlu melakukan validasi terhadapnya melalui email. Pada hal ini saya menggunakan proses OTP (One-Time Password) untuk mevalidasinya. Kurang lebih seperti ini prosesnya.
Tahap pertama saat ditanya email tentu kita perlu melihatnya dulu apakah pengguna ini benar memiliki akun pada aplikasi yang telah kita buat atau tidak. Jika ada maka buat kode OTP, disimpan, dan dikirim ke email-nya. Jika tidak maka berikan informasi yang jelas bahwa username tersebut tidak ditemukan.
Tahap berikutnya, chatbot hanya perlu memeriksa kode OTP yang dimasukkan oleh pengguna sama dengan kode yang telah dibuat pada tahap sebelumnya.
Mengirim Perintah pada Perangkat
Di sinilah AI engine milik Bahasa.ai bekerja dengan sangat baik. AI kami mampu membedakan perangkat mana yang perlu dioperasikan dan mampu bekerja seperti manusia dalam memahami perintah dari penggunanya.
Selain itu, kami juga membuatnya dapat memahami konteks percakapan yang sedang berlangsung sehingga saat pengguna mengatakan “terangin dong” atau “atur brightness jadi 15 %”, engine kami dapat mengetahui bahwa perintah tersebut untuk sebuah perangkat lampu.
Selanjutnya hanya perlu membuat request ke Tuya API (pranala luar).
Perintah Tambahan
Selayaknya seorang pelayan, tentu kita bisa mengajarkan perintah lain yang kita inginkan. Ide ini benar-benar berasal dari cara kita memerintahkan seorang asisten rumah tangga dalam menjalankan tugasnya. Beruntungnya, AI kami juga mampu melakukan klasifikasi yang tepat untuk dipahami sehingga proses development cukup mudah dilakukan.
Setelah perintah dibuat seperti pada gambar, pengguna dapat langsung mengatakan “cas laptop” atau “tolong casin laptop gua dong” untuk menyalakan stopkontak yang ke-4. Dan seterusnya seperti memberikan perintah pada perangkat biasa di tahap sebelumnya.
Sekian eksperimen yang kami lakukan dalam mengombinasikan kemampuan AI engine kami dengan teknologi IoT. Sayangnya tidak semua hal dapat kita berikan di blog ini karena mencangkup internal knowledge milik Bahasa.ai. Namun, jika ingin mengetahui lebih lanjut mengenai bagaimana AI kami dapat bekerja dengan baik untuk kasus ini, kami sedang mencari Software Engineer yang tertarik untuk bergabung bersama kami menemukan hal baru dan berdiskusi bersama. Silakan kirimkan CV terbaru kalian ke work@bahasa.ai 😃 🚀