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.
Perpustakaan Digital ITB