Home/Architecture
Architecture

Answers grounded in data, rules, and guards

A language model alone produces plausible output. iAlacarte surrounds it with deterministic layers: the menu is extracted then checked by rules, every question is first resolved through filtered search, the model writes only from selected dishes, and its answer is reviewed by guards before being delivered.

Principle

The model knows only what it is shown

A generic chatbot answers from memory: it knows neither your menu, nor your prices, nor your opening hours. At iAlacarte, the language model receives a short list of already filtered dishes for each answer, with their data, and is not allowed to mention any others. Factual questions do not even need it.

Menu

A menu extracted, then checked by rules

  • Extraction: text recognition reads your pages, a structured extractor returns sections, dishes, prices, and options; every menu block is checked to ensure no section is missing.
  • Description: each dish receives its ingredients, allergens, type, and indicators; nutritional values are estimated by composition using public tables.
  • Rules: a set of deterministic rules reviews every dish: an allergen must be supported by the recipe, a health indicator contradicted by a measurement is removed, an impossible number is deleted, and a dish printed in two sections remains in both. An unknown value is never displayed as a number.
Search

Filtered search first, and only then writing

The guest's question is understood (intent, restrictions, budget), then dishes are searched within the served menu using hard constraints: allergens, diets, excluded ingredients, calorie or price cap, current service. The language model writes only from these candidates.

Factual questions — “what is in this dish?”, “how much does it cost?”, “what time do you close?” — receive an answer written directly from the data, without a language model.

Guards

An answer reviewed before delivery

  • The text can mention only dishes displayed in the answer; without a selected dish, no reference to the menu is allowed.
  • An “allergen-free” statement that the guest did not ask for is removed.
  • “We do not have X on the menu” is said only after checking the entire menu.
  • Follow-up suggestions are filtered by active restrictions.
  • The response language is checked; neutral fallback text replaces a failed response.
Sensitive topics

Health, allergens, pregnancy, medication

🛡

Allergy

Excluded dishes are named; the precaution about traces is recalled once per conversation; confirmation is made with the team.

🤰

Pregnancy

A register of sourced criteria (alcohol, including cooked alcohol, raw food, cured meat, raw milk, mercury…) excludes dishes; a requested wine is discouraged.

🩺

Medical diet

Diabetes, salt, potassium, cholesterol, histamine: indicators come from sourced criteria and estimates, never from a diagnosis.

💊

Medication

No personalised advice; the guest is referred to their doctor or pharmacist.

Restaurant owner

Your corrections are authoritative

From the dashboard, you can correct a name, ingredients, a price, a photo, or a section title. The correction applies to subsequent answers and is retained: it is reapplied if the menu is analysed again. The “Check the menu” screen flags what the guest would see incorrectly. Only one menu is served per location, and you decide which one.

For the legal framework, see Terms of Use & limits of liability.

Limits

Risk reduction, not an absolute guarantee

No architecture completely removes the risk of error. iAlacarte reduces this risk through data structure, rules, guards, and your corrections, but does not guarantee zero errors: allergens and nutrition remain estimates, and final responsibility remains with the establishment.
FAQ

Frequently asked questions about the architecture

Can the AI make up a dish or a price?
It can mention only dishes selected by the search for that answer, with their data; prices and ingredients are read from the dish record, not written. Without a selected dish, it cannot refer to the menu.
What happens to a doubtful value?
It is deleted rather than displayed: an impossible number, a health indicator contradicted by a measurement, or an allergen not supported by the recipe. An unknown value is never displayed as a number.
Are answers identical every time?
Factual answers are: they come from the data. The wording of a recommendation may vary, but never the dishes it is allowed to mention.
What happens if the language model is unavailable?
Neutral fallback text accompanies the selected dishes, and factual questions continue to receive their answers.

Related reading

See the checks on my menu

Import your menu: the “Check the menu” screen shows what the guest will see and what still needs correcting.