Type something to search...

Gadai Barang AI Customer Service

Summary

Pawn enquiries are repetitive. What is this worth, how much can I borrow, what do I need to bring. Someone answers the same questions all day and every answer is arithmetic.

This is an AI customer service agent that handles those conversations in chat, for gold and for electronics. It works out what the person is pawning, looks up the price, estimates the loan, and records the lead.


How it works

n8n orchestrates the conversation. A webhook receives the message and hands it to a LangChain agent running on Ollama with Qwen3, and the agent decides which tool to call.

For gold it asks for the weight in grams, calls the gold price tool, multiplies, and reports. For electronics it asks for the item and the region, then pulls the price out of a Qdrant vector database using RAG with bge-m3:567m embeddings. A regional percentage is applied on top: Jakarta 80%, West Java 70%, East Java 60%, elsewhere 50%.

If the price is not in the catalogue the agent says so and stops. It does not call the reporting tool with a guess.

Confirmed enquiries go to a FastAPI endpoint which stores them in SQLite, and a Streamlit dashboard shows the leads as they arrive.


Tech

Python, LangChain, Ollama with Qwen3, Qdrant, FastAPI, Streamlit, n8n.


What I would change

The refusal path is the part I am happiest with, and the part that needs the most attention. An agent that says it cannot find a price is more useful than one that invents a number, but that only holds while the price catalogue is maintained. A thin catalogue means a lot of honest refusals.


Source

The code is public: https://github.com/rasyidev/gadai-barang-RAG