Type something to search...

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:

  1. Pertanyaan pelanggan yang berulang
    Contohnya:

    • “Indomie Ayam Bawang berapa?”
    • “Telurnya masih ada?”
    • “Kecapnya di rak mana?”
  2. Terganggu saat melayani pembayaran

    • Pemilik warung sering kepotong konsentrasinya waktu menghitung belanjaan
    • Risiko salah hitung jadi naik
  3. 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.

  4. 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

  1. Pelanggan berinteraksi dengan Warung Assistant

    • Tanya harga
    • Cek stok
    • Tanya lokasi barang
    • Minta perkiraan total
  2. 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
  3. Reasoning & Validation

    • Fuzzy product matching pakai RapidFuzz
    • Validasi stok (jumlah yang diminta ≤ stok tersedia)
    • Perhitungan subtotal dan grand total
  4. Structured Output

    • Daftar produk
    • Harga satuan
    • Jumlah
    • Subtotal per item
    • Grand total
    • Lokasi rak (kalau diminta)
  5. 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.