- Benchling mengoperasikan infrastruktur cloud di beberapa region dan environment.
- Mengelola lebih dari 160 ribu sumber daya di Terraform Cloud, dengan sekitar 50 insinyur yang merilis perubahan infrastruktur dalam satu bulan.
- Ada banyak dokumen FAQ (20 halaman) dan riwayat thread Slack, namun masalahnya adalah ketidakefisienan pencarian.
- Untuk mengatasinya, dibangun Slackbot berbasis LLM RAG.
Tujuan Pembangunan
- Mengembangkan Slackbot internal yang menyelesaikan pertanyaan Terraform Cloud secara real-time.
- Menggabungkan sumber data internal dan eksternal untuk menyediakan jawaban melalui antarmuka Slack yang ramah pengguna.
- Kasus penggunaan:
- Menjawab pertanyaan HR
- Mencari kasus penyelesaian masalah pelanggan
- Menjelaskan kode kesalahan software
Cara Kerja
- Analisis kueri pengguna: Mencari informasi yang relevan dari database.
- Penyusunan prompt LLM: Menyusun prompt dengan menyertakan hasil pencarian dan instruksi untuk menghasilkan jawaban.
Teknologi Stack
- Model RAG: Menggunakan Amazon Bedrock.
- Menyiapkan knowledge base dengan database OpenSearch Serverless.
- Menggunakan model Claude 3.5 Sonnet v2 untuk menghasilkan jawaban.
Sumber Data
- Confluence: FAQ Terraform Cloud (disimpan sebagai PDF lalu diunggah ke S3).
- Web: Dokumentasi Terraform Cloud dan bahasa HashiCorp.
- Slack: Thread yang berisi issue Terraform Cloud yang sudah terselesaikan (POC dikumpulkan secara manual).
- Data disimpan dalam vektor database agar dapat ditemukan saat melakukan kueri.
Arsitektur Implementasi
- Komponen:
- Slack App
- AWS API Gateway
- AWS Lambda (menggunakan Python)
- AWS Bedrock
- OpenSearch Serverless (database vektor)
- Penggunaan model:
- Amazon Titan Text Embeddings v2 (untuk menghasilkan embedding)
- Claude 3.5 Sonnet v2 (untuk menghasilkan jawaban)
Batasan dan Pengembangan ke Depan
Batasan
- Tidak dapat memproses gambar: Diagram arsitektur berbasis gambar atau screenshot tidak disertakan.
- Dukungan Terraform belum memadai: Saat ini Terraform AWS Provider belum mendukung resource Bedrock.
Pengembangan ke Depan
- Menambahkan tautan sumber: Menyertakan sumber dokumen pada respons Slack.
- Penyimpanan otomatis thread Slack: Memperbarui database dengan perintah
@help-terraform-cloud 기억해줘.
- Otomatisasi sinkronisasi data: Sinkronisasi mingguan menggunakan CloudWatch Events.
- Pemanfaatan Confluence API: Mengalihfungsikan unggahan PDF manual saat ini menjadi koneksi API.
- Dukungan percakapan multi-turn: Mempertahankan konteks percakapan yang berkelanjutan dengan pengguna.
Pelajaran Saat Membangun
- Strategi chunk data:
- Awalnya memakai ukuran chunk 300 token (sekitar 1 paragraf), kemudian disesuaikan ke 1500 token (sekitar 5 paragraf) agar jawaban panjang tidak terpotong.
- Efisiensi parsing PDF:
- Data berbasis teks dapat diekstrak secara stabil dengan mengecualikan gambar.
- Kemudahan pengaturan knowledge base:
- Dapat dibangun hanya dalam hitungan menit dengan Amazon Bedrock.
Kasus Penggunaan
- Pencarian FAQ dan kode kesalahan.
- Menjawab pertanyaan berulang secara otomatis.
- Memanfaatkan dataset yang disesuaikan per tim:
- Riwayat percakapan, dokumen publik, dan sebagainya.
Pertimbangan Keamanan
- Penilaian risiko sensitivitas data dan risiko hasil yang tidak akurat.
- Memverifikasi model yang disetujui organisasi.
Kesimpulan
- Slackbot berbasis LLM membuktikan kemungkinan membuat prototipe dengan cepat.
- Eksperimen teknologi baru dapat meningkatkan efisiensi dan produktivitas.
- Berdasarkan kasus ini, Anda juga bisa mencoba membangun alat berbasis LLM!
Belum ada komentar.