首页/架构
架构

由数据、规则与防护机制约束的回复

单靠语言模型只能生成看似合理的内容。iAlacarte 在其外围设置了确定性层:先提取菜单,再用规则核验;每个问题先通过过滤检索处理;模型只根据入选菜品生成内容;回复发送前还会经过防护机制复核。

原则

模型只知道展示给它的信息

通用聊天机器人凭记忆作答:它不了解您的菜单、价格或营业时间。在 iAlacarte 中,语言模型每次回复时只会收到一份已经过滤的简短菜品清单及其数据,且不得提及其他菜品。事实性问题甚至无需使用它。

菜单

菜单先提取,再由规则核验

  • 提取:文本识别读取您的页面,结构化提取器生成栏目、菜品、价格和选项;菜单的每个区块都会受到检查,确保没有遗漏任何部分。
  • 描述:每道菜都会标注食材、过敏原、类别和提示;营养值根据公开数据库的成分数据进行估算。
  • 规则:一组确定性规则会复核每道菜:过敏原必须由配方支持;与测量值相矛盾的健康提示会被移除;不可能的数值会被删除;同一道菜若印在两个栏目中,仍会保留在两个栏目中。未知信息绝不会以数值显示。
检索

先过滤检索,再生成内容

系统会理解顾客的问题(意图、限制条件、预算),然后在已发布的菜单中查找菜品,并应用硬性约束:过敏原、饮食类型、排除食材、卡路里或价格上限、当前服务时段。语言模型仅根据这些候选菜品生成内容。

事实性问题 — “这道菜有什么?”,“多少钱?”,“你们几点打烊?” — 会直接依据数据生成回复,无需语言模型。

防护机制

回复发送前会经过复核

  • 文本只能提及回复中展示的菜品;未入选任何菜品时,不得提及菜单。
  • 顾客未提出要求时,任何“无过敏原”的声明都会被删除。
  • 只有在核查完整菜单后,才会说“我们的菜单上没有 X”。
  • 后续建议会按当前限制条件过滤。
  • 系统会检查回复语言;中性备用文本会替换失效的回复。
敏感话题

健康、过敏原、孕期、药物

🛡

过敏

会列出被排除的菜品;每次对话仅提醒一次可能存在微量痕迹;请向餐厅团队确认。

🤰

孕期

基于来源的标准库(包括烹饪用酒、生食、腌制肉类、生乳、汞……)会排除相关菜品;如顾客询问葡萄酒,将建议不要饮用。

🩺

医疗饮食

糖尿病、盐、钾、胆固醇、组胺:提示来自有来源的标准和估算,绝非诊断。

💊

药物

不提供个性化建议;顾客会被建议咨询医生或药师。

餐厅经营者

您的更正具有最高优先级

您可以在控制面板中更正名称、食材、价格、照片或栏目标题。更正会应用于后续回复,并被保留:即使重新分析菜单,也会再次应用。“核验菜单”页面会提示顾客可能看到的错误信息。每个门店只会发布一份菜单,由您决定发布哪一份。

法律框架请参阅使用条款及责任限制。

限制

降低风险,并非绝对保证

没有任何架构能完全消除出错风险。iAlacarte 通过数据结构、规则、防护机制和您的更正降低这一风险,但不保证零错误:过敏原和营养信息仍为估算,最终责任仍由餐饮场所承担。
常见问题

关于架构的常见问题

AI 会编造菜品或价格吗?
它只能提及为本次回复由检索选出的菜品及其数据;价格和食材直接从菜品资料中读取,不由模型生成。没有入选菜品时,它不能提及菜单。
可疑数值会如何处理?
系统会将其删除而非显示:例如不可能的数值、与测量值相矛盾的健康提示,或配方不含却被标注的过敏原。未知信息绝不会以数值显示。
每次回复都完全相同吗?
事实性回复会相同:它们来自数据。推荐的表述形式可能不同,但可提及的菜品绝不会改变。
如果语言模型不可用,会怎样?
中性备用文本会随入选菜品一同显示,事实性问题仍会获得回复。

相关阅读

查看我的菜单核验结果

导入您的菜单:“核验菜单”页面会显示顾客将看到的内容,以及仍需更正的部分。