AI & Automation

AI Chatbots That Understand Nepali: A Practical Guide for Kathmandu Businesses

Abishek BimaliFounder & EngineerSeptember 17, 20266 min read
AI Chatbots That Understand Nepali: A Practical Guide for Kathmandu Businesses

Photo by cottonbro studio, Pexels

Every few weeks another business in Kathmandu asks us for "a ChatGPT for our customers". The request is reasonable. The large language models have become genuinely good at Nepali over the last two years, and a customer asking about delivery charges at eleven at night would rather get an answer than wait for the office to open. The part most people underestimate is that Nepali customers do not write in one Nepali. They write in three, and an assistant that only handles one of them will feel broken to most of the people using it.

The three Nepalis your customers actually type

  • Devanagari Nepali. "मेरो अर्डर कहिले आउँछ?" Common from older customers, from anyone using a Nepali keyboard by default, and in anything formal. Modern models read and write it well.
  • Romanized Nepali. "mero order kahile aauchha?" This is how most people under forty write on Messenger, Viber and WhatsApp. There is no standard spelling, so the same word arrives as aauchha, auxa, aucha and ouxa. Models cope far better than they did, but this is where most errors still come from.
  • Code-mixed Nepali and English. "delivery charge kati ho Lalitpur ma?" English nouns, Nepali grammar, often in one sentence. This is the normal register for business conversations in the Kathmandu Valley, and it is the one to test hardest.

If you test your bot only in clean English, or only in textbook Devanagari, you will ship something that fails on the messages you actually receive. Before building anything, export a few hundred real customer messages from your inbox, remove names and phone numbers, and count how they split across the three. That split decides your test set, and it is usually the most useful hour of the project.

Answer from your own documents, not from the model's memory

A general model knows a great deal about Nepal and nothing about your price list, your delivery zones or your return policy. Asked directly, it will invent something plausible, and a confidently wrong delivery charge in Nepali is worse than no answer at all. The pattern that works is retrieval: store your real policies, product details and FAQs, find the passages relevant to each question, and instruct the model to answer only from those passages and to say so when they do not cover the question. We cover this pattern in more depth in shipping AI features that users actually trust.

One Nepal-specific detail matters here. Write the source documents in the language customers search in, or in both. A policy written only in English will still be found by a Nepali question with a good multilingual embedding model, but matching is noticeably more reliable when the source contains the Nepali and Romanized terms people actually use. Adding a short line such as "delivery charge / ढुवानी शुल्क / dhuwani sulka" to the relevant section is crude and it works.

The Preeti problem nobody warns you about

Many Nepali documents, especially older ones and anything that came from a government office or a printing press, were typed in legacy fonts such as Preeti. On screen they look like Nepali. Underneath, the text is Latin characters mapped to Devanagari shapes by the font, so a document that reads "नेपाल" to a person is stored as meaningless English letters. Feed that into an AI system and it retrieves garbage.

  • Check any Word or PDF source by copying a paragraph into a plain text editor. If it turns into Latin gibberish, it is a legacy font.
  • Convert to Unicode before ingestion. Open-source Preeti-to-Unicode converters exist and work well, but spot-check the output, since conjunct characters are where they slip.
  • Scanned PDFs need OCR, and Devanagari OCR quality varies a great deal with scan quality. Budget time for a person to correct the important pages.
  • Keep the converted Unicode version as the new master copy, so the problem does not come back with the next policy update.

What it costs to run

Devanagari text generally uses more tokens than the same meaning in English, because most tokenisers were trained mostly on English. In practice a Nepali conversation can cost noticeably more per message than an English one. For a typical small business the monthly bill is still modest, but model it rather than assuming, and put a hard spending cap on the provider account from day one.

  • Use a smaller, cheaper model for simple routing and FAQ answers, and reserve a larger one for the conversations that need reasoning.
  • Keep the retrieved context short. Sending your entire policy document with every message is the most common reason a bill surprises people.
  • Cache answers to the twenty questions that make up most of your volume. In most businesses we see, a handful of questions account for well over half of all messages.
  • Log token usage per conversation, so a single abusive or looping session is visible the same day rather than at the end of the month.

Where to put it: website, Viber or Messenger

In Nepal, customer conversations happen mostly in messaging apps, not in website chat widgets. A bot on your website will get a fraction of the traffic of one connected to the Facebook page or the business Viber account your customers already use. Meta's Messenger and WhatsApp platforms and Viber's bot platform all support this, each with their own approval process and rules about when a business can message first. Start with whichever channel holds most of your existing conversations, which our note on messaging apps as a sales channel explains how to measure.

Hand over to a person, visibly and quickly

The bot's job is to answer the easy seventy percent and to recognise the rest. Complaints, refunds, anything involving money that has already left a customer's account, and anyone who types "manchhe sanga kura garna" (talk to a person) should go straight to a human, with the conversation so far attached so the customer does not repeat themselves. Tell customers they are talking to an automated assistant. People in Nepal are forgiving of a bot that admits it is a bot and quick to feel cheated by one that pretends not to be.

The test of a Nepali chatbot is not whether it handles perfect Devanagari. It is whether it handles "order aayena, paisa katyo" at midnight without making things worse.

A realistic first version

  • One channel, the one with the most existing conversations.
  • Retrieval over twenty to fifty real documents, converted to Unicode, with Nepali and Romanized keywords added.
  • A test set of at least a hundred real, anonymised customer messages in all three writing styles, run before every change.
  • Human handover for money, complaints and anything the sources do not cover.
  • A weekly review of the conversations the bot handed over, because those are the next documents to write.

Built like that, a first version is a few weeks of work rather than a few months. We build these for businesses across the Kathmandu Valley and beyond through our AI and machine learning service, and we are happy to look at your message export and tell you honestly whether a bot will help or whether a better FAQ page would do the job first.

NepalKathmanduAI chatbot NepalNepali languagecustomer supportLLM
Share
A

Abishek Bimali

Founder & Engineer

Abishek founded SiteCraft Innovation and leads its engineering. He writes about building web and mobile products that hold up in production, for teams in Nepal and abroad.