digilib@itb.ac.id +62 812 2508 8800

ABSTRAK Marvel Pangondian
PUBLIC Open In Flipbook Esha Mustika Dewi

Pemrosesan bahasa alami (Natural Language Processing, NLP) pada lingkungan produksi tidak hanya terdiri atas model, tetapi menuntut integrasi beragam tools yang tersebar di berbagai lapisan perangkat lunak. Ketika sistem NLP dibangun dengan arsitektur microservices, kompleksitas integrasi tersebut melahirkan dominasi glue code, kode pendukung untuk transport pesan, retry, service discovery, validasi kontrak, dan observabilitas, dibandingkan kode logika bisnis NLP. Framework menjadi solusi untuk mengabstraksikan kompleksitas semacam ini, tetapi framework yang tersedia terbelah dua. Framework microservices generik tidak menyediakan primitif NLP, sedangkan framework penyajian model machine learning berfokus pada penyajian satu model dan tidak mendukung komposisi banyak layanan. Belum ada framework pada irisan keduanya, yaitu NLP-aware (memahami model, kontrak data, dan komposisi pipeline NLP) sekaligus microservice-grade (mendukung transport asinkron, service discovery, retry, dan observabilitas terdistribusi). Tugas Akhir ini merancang dan mengimplementasikan framework bernama FlexNLP, yaitu sebuah framework Python untuk membangun layanan NLP terdistribusi di atas message broker RabbitMQ, menggunakan pendekatan Design Science Research. FlexNLP menyediakan primitif siap pakai, antara lain penyajian model, kontrak data, komposisi pipeline, transport RPC asinkron dengan disertai retry dan dead-letter queue (DLQ), service discovery, dan probe siklus hidup, serta mengintegrasikan tools populer seperti Hugging Face Transformers, large language model yang kompatibel dengan antarmuka OpenAI, dan RabbitMQ. Penggunaan framework didemonstrasikan melalui pembangunan sebuah NLP Platfonn multi-layanan. Efektivitasframework dievaluasi dengan membandingkan sebuah aplikasi yang dibangun menggunakan FlexNLP terhadap implementasi setara tanpa framework. Hasil evaluasi menunjukkan bahwa dengan logika bisnis yang dijaga identik, implementasi tanpa framework memiliki kompleksitas siklomatik sekitar 2,7 kali lipat dan usaha implementasi (Halstead effort) sekitar 4,6 kali lipat.