Setup Environment
Mulai dengan menginstal package yang dibutuhkan:
npm install langchain @langchain/openai @langchain/community
Simpan API key di file .env dan jangan memasukkannya langsung ke source code:
OPENAI_API_KEY=your_api_key
Gunakan environment variable agar credential lebih aman dan mudah dikelola pada berbagai environment.
Membuat Chatbot Dasar
Buat instance ChatOpenAI, kemudian tentukan system prompt untuk mengatur karakter dan perilaku chatbot.
Sebelum menambahkan fitur tambahan, uji terlebih dahulu chatbot dengan pertanyaan sederhana. Cara ini membantu memastikan konfigurasi model dan API sudah berjalan dengan benar.
Menambahkan Memory
Agar chatbot dapat memahami konteks percakapan sebelumnya, tambahkan mekanisme memory.
Untuk percakapan pendek, history dapat disimpan secara langsung. Sedangkan percakapan panjang dapat menggunakan pendekatan summary agar context tidak terus bertambah dan membebani token.
Pada aplikasi production, riwayat percakapan sebaiknya disimpan di storage seperti Redis atau database.
RAG untuk Knowledge Base
Retrieval-Augmented Generation (RAG) memungkinkan chatbot menjawab pertanyaan berdasarkan dokumen tertentu.
Alur sederhananya:
-
Load dokumen PDF, website, atau file internal
-
Pecah dokumen menjadi beberapa chunks
-
Buat embeddings untuk setiap chunk
-
Simpan embeddings ke vector database
-
Cari dokumen yang relevan ketika pengguna bertanya
-
Kirim context tersebut ke model untuk menghasilkan jawaban
Vector store seperti Chroma atau Pinecone dapat digunakan sesuai kebutuhan aplikasi.
Conversational Retrieval
RAG dapat dikombinasikan dengan history percakapan agar pencarian dokumen lebih kontekstual.
Misalnya, ketika pengguna mengatakan "bagaimana dengan fitur tersebut?", sistem dapat menggunakan percakapan sebelumnya untuk memahami apa yang dimaksud sebelum melakukan retrieval.
Pendekatan ini membuat chatbot terasa lebih natural dan mampu menangani pertanyaan lanjutan.
Deployment
Setelah chatbot selesai dikembangkan, expose functionality melalui REST API agar dapat digunakan oleh aplikasi web atau mobile.
Untuk production, tambahkan:
-
Rate limiting untuk membatasi penyalahgunaan API
-
Redis untuk menyimpan conversation history
-
Logging untuk memantau request dan error
-
Authentication untuk membatasi akses
-
Monitoring penggunaan token dan biaya API
Pastikan API key hanya berada di backend dan tidak pernah dikirim ke browser.
Evaluasi dan Keamanan
Chatbot berbasis AI juga perlu diuji menggunakan berbagai pertanyaan untuk memastikan jawaban tetap relevan. Pada sistem RAG, evaluasi kualitas retrieval sama pentingnya dengan evaluasi jawaban model.
Tambahkan validasi input dan mekanisme untuk menangani pertanyaan yang tidak memiliki informasi relevan agar chatbot tidak memberikan jawaban yang tidak berdasar.
Kesimpulan
LangChain dapat membantu membangun chatbot AI yang lebih terstruktur dengan dukungan memory, RAG, dan integrasi berbagai sumber data. Dengan arsitektur yang tepat, chatbot dapat dikembangkan dari prototype sederhana menjadi aplikasi production yang aman dan scalable.