Case Study • AI Agents
An RTL Persian chat assistant for B2B market intelligence in Iran. Users ask about companies, products, brands and markets, and get conversational answers with structured company tables.
Market research in Iran often means phone calls, old directories and a lot of guesswork. A chat interface is the natural fix, as long as people can act on what it says.
They'd be calling these companies, so a hallucinated phone number would break the product. Grounding couldn't be a best-effort check at the end. It had to be how the system was built.
The model picks the query. The database writes the answer.
Grounding by construction: the LLM chooses tools and criteria, while the server builds every table.
A small typed tool set over a full-text company corpus, on any OpenAI-compatible endpoint.
Result, detail and comparison tables come straight from SQL, never from model text.
The complete RTL interface was built against a frozen API contract before the backend began.
What happens between a Persian question and a table you can trust.
Changing the model means a config change and a re-run of the golden suite.
Adding an industry takes a workbook, one config entry and a re-ingest.
Everything is self-hosted, with no third-party browser SDKs, because the users are in Iran.