```html Quote Desk审核修正:删去模型名与API密钥表述 Quote Desk审核修正:删去模型名与API密钥表述
审核问题:
- 生成文称“qwen2.5:1.5b通过Ollama”;原文仅称“开放权重模型”未点名。
- 生成文称“Backboard API密钥调用托管模型”;原文无此内容。
修正原则:标题10–32字符,含英文与标点;只使用素材已有事实,不扩写新事实。以下正文已按素材原文表述改写,删去模型具体名称与API密钥调用细节。
一个电工老板把客户发来的乱糟糟消息粘进输入框,英文也行,尼日利亚洋泾浜英语也行,点一下,拿回来的是一份报价单、几个该追问客户的问题,还有一条可以直接发到 WhatsApp 的礼貌回复。
![]()
这是 Quote Desk,一个开源的小工具,最早就是给一家小型电气服务公司做的。那家店接的活儿跨度很大,从“我的插座在冒火花”到“两到三居室的整屋布线”都有。
它解决的是很具体的痛点:老板手工敲报价单费时间,而且偶尔会报错价。
规则算账,模型只负责说话
整个系统的分工被切得很干净。识别服务、读取数量、查价格、加总,全部由普通代码完成。价格来自老板自己的价格表文件,模型从头到尾不参与选服务、不参与定数量、不参与定价。
开放权重模型只做一件事:把已经算好的结果改写成通顺的文字。本地跑的时候,开放权重模型离线运行;公开演示版则调用托管模型。两者之间切换只需要改一个环境变量。
模型写完之后还有一道关卡。守卫会检查模型输出的文本,只要它改动了数字、添加了价格、折扣、链接或服务、丢掉了总价、忘了写“待确认”,或者漏掉了安全提示,这段文字就会被直接丢弃,应用改而显示规则生成的原始文本。
换句话说,模型挂了,报价照样能出。
不会凭空造价的几个细节
老板没有定过价的项目,输出里写的是“待确认”,不会编一个数字出来。
消息里出现“着火”“触电”这类词,系统会升起安全标记,并附上“先拉总闸”的提示。这条提示来自代码,不来自模型。
隐私上也是同样的思路:模型只能看到最终成型的报价文本。客户的原始消息、姓名和电话留在老板这一侧,不出本机。
界面是一个双栏页面,带示例消息、老板视图(识别出的服务、紧急程度、该问的问题)、可打印的报价单(带编号和日期)、WhatsApp 发送、复制、下载,以及一份只存在浏览器里的近期报价列表,支持导出 CSV。
技术栈上有个挺硬的选择:只用 Python 标准库,不装任何第三方包。带自动化测试,部署在 Render 上。托管调用做了缓存,并按小时限额,为的是保护作者自己的额度。
自己测出来的三个 bug
作者跑了九条示例客户消息,像客户那样去读输出,结果抓出三个问题。
- 一台“烧坏”的水泵,同时被问了一堆房屋布线的问题。
- “2-3 居室”被按 3 居室报价,却没有说明。
- 客户同时要高级版和普通版 ATS 时,只出现了一个价格。
三个都修了,补了测试,两版输出都留在仓库里。
为什么本地模型对这类生意重要
客户数据不出门。用本地模型,姓名、号码、地址永远不会离开老板的笔记本;换成闭源 API,每一条消息都会被接收。
本地路径下每单报价没有边际成本,对一个靠大量小活儿吃饭的生意来说,这笔账算得过来。
行为可控也是理由之一。作者读并修改了每一部分,包括那道拦住小模型乱造价格的守卫,换模型只改一个设置。
作者也把局限写在了明处:匹配是关键词式的,演示用的是示例价格不是真实价格,1.5B 模型处理洋泾浜英语比较粗糙,支付、账号、图片识别和微调都没有做。
第一位用户已经用它来给自己的活儿出真实报价了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.