LLM-based support automation for online stores in Tashkent
First-line support in Uzbek e-commerce comes down to three questions: where is my order, do you have the size, and how do I pay. An LLM closes all three — if you give it data rather than imagination.
What customers actually ask
Go through a month of chat logs and you will find the overwhelming majority of contacts reduce to order status, stock availability, delivery terms to a specific district and payment methods. These are database queries, not conversations.
The architecture follows from that: the model is there to understand the question and phrase the answer, but the answer itself must be assembled from your data. A model answering stock questions from memory will produce a stream of returns within a week.
A separate layer is questions whose answer lives in documents: return policy, warranty, delivery times to the regions. That is where RAG applies: retrieval over your knowledge base, then generation strictly from the retrieved fragments.
Architecture: RAG plus tools
Keep the two mechanisms separate. Documents go through vector search over knowledge base chunks. Live data goes through function calls: get_order_status, check_stock, get_delivery_price. The model picks a tool, the backend returns a fact.
Maintain the knowledge base in both languages. Machine-translating the Russian base into Uzbek introduces a noticeable rate of distortion in warranty and refund wording — precisely where an error costs most.
Define behaviour for missing data explicitly: when a tool returns nothing, the model says so plainly and offers a human. The prohibition on inventing facts must be explicit in the prompt and backed by an output check.
Escalation to a human
Set automatic handover on triggers: two failed answers in a row, keywords about refunds and complaints, an explicit request for a person, and any message with emotional intensity above a threshold.
The agent should receive full context, not 'a new conversation arrived': what the customer asked, what the bot answered, which data was pulled. Without it support re-interrogates the customer and the irritation doubles.
Account for working hours. At night the bot should honestly say an agent will reply in the morning and log the ticket, rather than pretend help is imminent.
Channels: Telegram, website, Instagram
In Uzbekistan the main flow goes to Telegram and Instagram Direct, with the site widget usually third by volume. Keep the logic and knowledge base unified and connect channels through adapters, or within six months you will have three diverging sets of answers.
Instagram Direct has tighter constraints on formatting and on the reply window. Decide in advance what to do with contacts arriving outside that window — usually a link that moves the conversation to Telegram.
The site widget must be lightweight. A heavy chat script pulling megabytes simply will not open on 3G in the regions, and you lose the contact silently.
Metrics and economics
Track the share of conversations closed without a human, average time to first response, and the share of escalations carrying negative sentiment. In a mature implementation the first metric reaches a level where agents handle only complex cases.
Market reference for implementation: 25M – 60M UZS depending on channel count and depth of integration with the inventory system. Monthly model spend at a typical store's volume runs 500,000 – 2,000,000 UZS.
The saving is not counted by firing agents but by not hiring as volume grows. That is an honest, verifiable metric, unlike abstract efficiency.
Common failures
Launching without a knowledge base. A model with no data answers plausibly and wrongly, and the first mistakes about delivery times damage trust more than having no bot at all.
No logging. If you do not record every conversation along with which tools were called, you can neither debug nor prove the bot answered correctly in a dispute.
Ignoring the regions. Delivery time and cost to Nukus versus Mirzo Ulugbek district differ radically, and a blanket 'delivery in 1-2 days' guarantees conflicts.