[控场AI]
产品

Contains

开源过敏原检测工具,读取配方或配料表并按美国九大过敏原输出 Contains 声明,采用含/不含/需要核实三层判定,结合微调模型与配料规则层

时间轴 (近 90 天)

10月18日

Contains 是一个开源工具,读取配方或配料表,按美国九大过敏原输出 Contains: 声明,判定结果有三种状态:含、不含、需要核实。

待验证50%
10月18日

交付系统采用微调模型加配料规则的两层结构,合并逻辑为:规则命中或模型判定“含”则输出“含”;模型说“不确定”且存在未命名来源词则输出“需要核实”;其余输出“不含”;规则层命中永远压过模型的“不含”。

待验证50%
10月18日

在冻结测试集上,交付系统(LoRA+规则)抓到 73 个(召回率 0.86),自信错误 11 个,说不确定 1 个,误报 0 个,优于关键词基线、仅 LoRA 微调和零样本 Qwen3.5-4B。

待验证50%
10月18日

11 个自信错误中小麦占 6 个、牛奶 2 个、鸡蛋 2 个、鱼 1 个;具体包括裸写的“面粉”、仿蟹肉中的小麦粘合剂和白酱。

待验证50%
10月18日

规则匹配 bechamel 而测试行写的是 béchamel,重音符号导致检查器漏检;该问题在测试集冻结后发现,作者作为发现记录在案,不予修补。

待验证50%
10月18日

有一条将“不确定”降级为“不含”的四行规则,导致 11 个自信错误中有 5 个原本被微调模型正确判为“不确定”的结果被覆盖成确定的“不”;作者未修改该规则。

待验证50%
10月18日

本地版本使用 Gemma 3 4B 通过 Ollama 在用户机器上运行,读取配料标签照片并提取文本送入同一套判定流水线;在一包真实乳制品上返回 Contains: Milk。

待验证50%
10月18日

在线演示部署在 Render 免费层,实例会休眠;超时设置为 25 秒而预热需要 34 秒,导致任何静默期后的第一个请求都会静默回退到纯规则模式。

待验证50%
10月18日

修复后的冷启动逻辑改为等待并告知用户正在唤醒模型,然后返回真实答案;修复过程中还发现等待期间标签接口阻塞事件循环,并发下会冻结健康检查。

待验证50%
10月18日

第一位用户(家庭烘焙者)表示会使用该工具但暂不愿付费,预期价格每月两三美元,前提是可靠到能用于为客户准备产品并记住常用品牌。

待验证50%

全部知识事实 (10)

待验证

Contains 是一个开源工具,读取配方或配料表,按美国九大过敏原输出 Contains: 声明,判定结果有三种状态:含、不含、需要核实。

50%
待验证

交付系统采用微调模型加配料规则的两层结构,合并逻辑为:规则命中或模型判定“含”则输出“含”;模型说“不确定”且存在未命名来源词则输出“需要核实”;其余输出“不含”;规则层命中永远压过模型的“不含”。

50%
待验证

在冻结测试集上,交付系统(LoRA+规则)抓到 73 个(召回率 0.86),自信错误 11 个,说不确定 1 个,误报 0 个,优于关键词基线、仅 LoRA 微调和零样本 Qwen3.5-4B。

50%
待验证

11 个自信错误中小麦占 6 个、牛奶 2 个、鸡蛋 2 个、鱼 1 个;具体包括裸写的“面粉”、仿蟹肉中的小麦粘合剂和白酱。

50%
待验证

规则匹配 bechamel 而测试行写的是 béchamel,重音符号导致检查器漏检;该问题在测试集冻结后发现,作者作为发现记录在案,不予修补。

50%
待验证

有一条将“不确定”降级为“不含”的四行规则,导致 11 个自信错误中有 5 个原本被微调模型正确判为“不确定”的结果被覆盖成确定的“不”;作者未修改该规则。

50%
待验证

本地版本使用 Gemma 3 4B 通过 Ollama 在用户机器上运行,读取配料标签照片并提取文本送入同一套判定流水线;在一包真实乳制品上返回 Contains: Milk。

50%
待验证

在线演示部署在 Render 免费层,实例会休眠;超时设置为 25 秒而预热需要 34 秒,导致任何静默期后的第一个请求都会静默回退到纯规则模式。

50%
待验证

修复后的冷启动逻辑改为等待并告知用户正在唤醒模型,然后返回真实答案;修复过程中还发现等待期间标签接口阻塞事件循环,并发下会冻结健康检查。

50%
待验证

第一位用户(家庭烘焙者)表示会使用该工具但暂不愿付费,预期价格每月两三美元,前提是可靠到能用于为客户准备产品并记住常用品牌。

50%

来源文章