构建巴基斯坦通知助手:一款针对本地安全问题的简易AI工具
作者为Hugging Face的Build Small黑客马拉松开发了一款专注于巴基斯坦本地安全问题的AI工具——巴基斯坦通知助手。该工具使用小模型(Qwen3.5 4B)分析可疑消息,提供风险标签、解释和下一步安全建议,支持英文和乌尔都语(包括从右到左的布局)。文章详细分享了模型选型、技术栈、用户界面设计以及使用Codex加速开发的经验。
巴基斯坦通知助手是一款为Hugging Face的“Build Small”黑客马拉松构建的AI工具,旨在解决巴基斯坦当地一个非常实际的安全问题:帮助人们识别可疑消息,避免点击链接、回拨电话、分享验证码或进行支付。
项目的灵感来源于一个常见问题:人们经常收到看似来自银行、快递公司、税务机关、交通警察、公用事业公司、移动运营商或政府部门的通知。有些是真实的,但很多是诈骗。困难之处通常不在于阅读消息本身,而在于知道接下来该怎么做。
该工具并非真实性检查器,不会声称某个消息是真是假,而是作为一个分诊工具:接收文本或截图,返回风险标签、简短说明、明显的危险信号以及安全下一步措施。
为什么适合“Build Small” 该项目符合“后院AI”赛道,因为它专注于一个具体的本地问题:巴基斯坦的诈骗式通知和可疑消息。作者没有构建大型通用助手,而是想看看当范围明确、产品行为定义清晰且界面围绕真实用户设计时,一个小模型能走多远。
最初测试了较大的Qwen模型,但最终选择了通过llama.cpp运行的Qwen3.5 4B Q8。该模型在十个测试案例中通过了所有高风险诈骗案例和两个截图案例,使其成为小模型安全助手的实用选择。
技术栈包括:Hugging Face Space(自定义Gradio前端)、队列Gradio服务器端点、Modal端点、CUDA llama.cpp、Qwen3.5 4B Q8 MTP GGUF + 视觉投影仪。这个小型模型栈既能处理文本也能处理截图,同时保持在黑客马拉松32B模型限制以下。
应用的功能 巴基斯坦通知助手支持英语和乌尔都语。这是最重要的产品决策之一,因为巴基斯坦的可疑消息通常用英语、乌尔都语、罗马乌尔都语或三者的混合写成。
乌尔都语模式不仅是翻译后的界面:当用户切换到乌尔都语时,应用将布局改为从右到左,翻译标题、标签、风险卡片、验证消息和结果控件,并让模型用清晰的乌尔都语脚本生成评估。这意味着用户可以提交可疑消息并获得完整的乌尔都语安全响应,包括风险标签、说明、危险信号、安全下一步以及在适当时提供可选的回复草稿。
应用会寻找以下警告信号:紧急威胁或账户暂停语言;请求OTP、PIN、密码、CVV、CNIC详细信息或卡片数据;可疑的支付链接或个人手机号码;冒充银行、电信公司、快递公司、税务机关或警察;需要预付费用的奖品、退款、工作或福利。
工具随后给出更安全的下步操作,例如通过独立找到的官方渠道进行验证,而不是使用可疑消息内的链接或电话号码。
构建过程中的经验教训 该项目教会作者,用小模型构建更少地追求最高基准分数,更多地找到质量、速度、成本和产品安全性之间的正确平衡。
- 小模型在范围明确时效果最好
最大的教训之一是,当任务被仔细界定时,小模型可以出人意料地工作良好。巴基斯坦通知助手不需要成为通用的诈骗调查员,它只需要识别可见的风险信号,避免过度声称,并给出安全下一步。这使得产品范围、提示设计和输出契约与模型本身同样重要。
- 从大模型开始
作者从Qwen3.6 27B开始,质量极佳——处理可疑消息效果很好,产生可靠的解释。问题在于部署成本和实用性:模型需要更多VRAM、更大的GPU机器,冷启动恢复时间更长。对于流量不规律的黑客马拉松演示来说并不理想。质量上作者会打95/100,但仅凭质量不够。
- 测试较小的本地选项
随后尝试更小的视觉语言模型MiniCPM-V 4.6 Q8,希望能在本地运行并降低服务成本。但实验不顺利:在GPU上非常慢,通过ZeroGPU运行遇到配额和运行时问题。即使界面显示还有约35分钟配额,应用运行也不可靠。然后通过Modal部署,部署快但模型质量不够好,未能通过足够多的测试案例。
- 找到“金凤花”模型
作者查看了Artificial Analysis上的小模型排名,找到了Qwen3.5 4B。它足够小以符合Build Small精神,足够快以满足应用体验,并且能力足以满足所需的安全行为。与Qwen3.6 27B相比,作者会给80/100,但权衡是合理的:4B模型服务成本更低,加载更快,部署更容易,在较小的Modal机器上更实用。
- 提示和输出契约非常重要
早期版本有一些问题:思考模式消耗了500 token的输出预算,因此为生产环境禁用了思考;一个密集的罗马乌尔都语截图达到了补全限制,因此图像请求获得更大的token预算;另一个模型响应建议了一个未经验证的看似官方的域名,因此更新了系统提示以禁止编造URL、电话号码、组织和事实。这些修复使系统更安全、更可预测。
- 乌尔都语用户体验需要真正的产品工作
乌尔都语界面需要比预期更多的工作:直接翻译听起来不自然,一些标题需要不同的行高,混合的乌尔都语和拉丁语模型名称可能意外重新排序,移动控件在从右到左布局中需要更多垂直空间。作者还测试了捆绑的Naastaliq网络字体,但单独看很美,在产品UI中降低了可读性,因此移除并恢复为系统阿拉伯字体堆栈。
- 主要教训
产品的最佳模型不一定是最大的模型。对于这个项目,Qwen3.6 27B提供最佳原始质量,但Qwen3.5 4B提供最佳产品平衡。这种权衡正是该项目适合Build Small的原因。
使用Codex构建 Codex帮助作者在整个项目中更快地推进,因为巴基斯坦通知助手不仅需要简单的模型演示。它需要自定义前端、Gradio后端、Modal托管的llama.cpp服务器、截图支持、乌尔都语模式、测试、文档以及更安全的输出管道。作者将Codex作为工程协作者,而不是仅作为代码生成器。
其中一个最有用的部分是构建自定义HTML、CSS和JavaScript界面,同时通过Gradio Server保持Hugging Face Spaces兼容性。该应用使用产品风格的前端,后台与Gradio的队列API路由和SSE协议通信。这使得最终的Space更像一个真正的本地安全工具,而不是标准的模型游乐场。
隐私安全的追踪 作者还添加了可选的公共追踪功能,让人们了解应用的使用情况而不暴露私人用户内容。追踪选项在应用内可见,每个请求前可禁用。启用时仅记录有限的请求级元数据,不包括完整的用户消息或截图。文本被编辑并限制长度,图像通过固定摘要表示且不存储。追踪排除原始截图、链接、标识符、生成的解释、回复草稿、错误、凭证以及可能意外重复私人细节的任何自由格式模型输出。
结果 小型评估套件并非真实世界的准确性估计,但用于回归测试很有用。最终评估:初始严格通过9/10,平均分89.5/100;最终回归通过10/10,平均分100/100;高风险诈骗案例和截图案例全部通过。最重要的结果不是分数本身,而是一个范围明确的4B模型能够保持所需的安全行为。