Warung Assistant
Summary
Warung Assistant adalah asisten AI yang aku bangun pakai Large Language Models (LLMs), LangChain, dan Retrieval-Augmented Generation (RAG) untuk membantu pemilik toko kecil (pemilik warung) dalam melayani pertanyaan pelanggan.
Asisten ini menjawab pertanyaan umum seperti harga barang, stok masih ada atau tidak, barangnya ada di rak mana, dan perkiraan total belanjaan. Jadi pemilik warung bisa fokus ke transaksi yang sudah pasti dan proses pembayaran, sekaligus menekan kesalahan hitung dan mempercepat layanan.
Problem
Toko kecil sering menghadapi tantangan operasional karena:
-
Pertanyaan pelanggan yang berulang
Contohnya:- “Indomie Ayam Bawang berapa?”
- “Telurnya masih ada?”
- “Kecapnya di rak mana?”
-
Terganggu saat melayani pembayaran
- Pemilik warung sering kepotong konsentrasinya waktu menghitung belanjaan
- Risiko salah hitung jadi naik
-
Input pelanggan yang tidak terstruktur
Pelanggan memakai bahasa sehari-hari seperti:- “Telur setengah kilo, Indomie 3, sama bayam 2 ikat”
Nama produk, satuan, dan jumlahnya macam-macam.
-
Sistem POS tradisional yang kaku
- Tidak paham bahasa natural
- Tidak bisa membantu pelanggan sebelum pesanannya difinalkan
Solution
Warung Assistant berperan sebagai AI front-desk untuk pelanggan, sementara pemilik warung cuma fokus ke pembayaran dan fulfillment.
Solution Workflow
-
Pelanggan berinteraksi dengan Warung Assistant
- Tanya harga
- Cek stok
- Tanya lokasi barang
- Minta perkiraan total
-
Natural Language Understanding
- Menarik nama produk, jumlah, dan satuannya
- Mendukung:
- Kilogram, setengah, seperempat
- Gram / ons
- Jumlah berbasis satuan
- Permintaan berbasis budget (misalnya “gula seharga Rp10.000”)
- Sinonim nama produk
-
Reasoning & Validation
- Fuzzy product matching pakai RapidFuzz
- Validasi stok (jumlah yang diminta ≤ stok tersedia)
- Perhitungan subtotal dan grand total
-
Structured Output
- Daftar produk
- Harga satuan
- Jumlah
- Subtotal per item
- Grand total
- Lokasi rak (kalau diminta)
-
Checkout yang fokus ke pemilik
- Beban pikir berkurang
- Checkout lebih cepat
- Kesalahan hitung lebih sedikit
Impact
Dampak nyatanya untuk usaha ritel kecil:
- Layanan pelanggan lebih cepat
- Kesalahan hitung berkurang
- Pemilik warung tidak terlalu terbebani
- Pengalaman pelanggan membaik
- Jadi fondasi untuk sistem POS dan inventory
Dari sisi portfolio, project ini menunjukkan:
- Desain sistem LLM yang praktis
- Reasoning berbasis tool
- Penanganan constraint dunia nyata
- Pengembangan aplikasi AI end-to-end
Tech Stack
LLM & AI
- Ollama (Local LLM: Gemma / LLaMA / Mistral)
- LangChain (Agents, Tools, Memory)
- Prompt Engineering (ReAct, Few-shot prompting)
Retrieval & Data
- Inventory berbasis CSV (retrieval gaya RAG)
- RapidFuzz untuk fuzzy product matching
- Logika parsing jumlah dan satuan yang aku tulis sendiri
Backend
- Python
- Pandas
- Arsitektur modular berbasis tool:
- check_stock
- get_price_from_csv
- calculate_total_price
- find_product_location
Interface
- Gradio ChatInterface
- Chat UI real-time yang interaktif
Extras (Optional / Future Work)
Yang mungkin dikerjakan nanti:
- Akses berbasis role (mode Pelanggan / mode Pemilik)
- Export transaksi (struk, CSV, PDF)
- Update stok otomatis setelah pembayaran
- Integrasi vector database (FAISS / Chroma)
- Input suara (Speech-to-Text)
- Multi-turn memory (misalnya “tadi aku beli apa ya?”)
Why This Project Matters
Project ini menunjukkan:
- Penerapan LLM reasoning
- Orkestrasi agent di LangChain
- Tool calling dan validasi state
- AI praktis untuk usaha kecil nyata
Ini bukan sekadar chatbot, tapi sistem asisten AI yang production-oriented.