# Pakistan Notice Helper：一款面向本地安全问题的轻量 AI 工具

- 来源：Hugging Face：Blog（RSS）
- 发布时间：2026-06-08 19:46
- AIHOT 分数：74
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmq55gcok04r4slt26kmgs0xg
- 原文链接：https://huggingface.co/blog/build-small-hackathon/building-pakistan-notice-helper

## 精选理由

一个只有4B的小模型，把巴基斯坦本地诈骗文案分析得明明白白，比那些参数大但看不懂乌尔都语的通用模型实用得多。做给特定地区特定问题的小工具，这才是AI落地的真节奏。

## AI 摘要

Pakistan Notice Helper 是一款安全工具，帮助巴基斯坦用户在点击链接、拨打电话、分享 OTP 或支付前识别可疑消息。它接受文本或截图输入，返回风险等级、简短解释、可见警示标志和安全下一步建议。工具支持英文和乌尔都语，乌尔都模式采用从右向左布局并全界面翻译。最终部署选用 Qwen3.5 4B Q8 模型（通过 llama.cpp + CUDA），在 10 个测试用例中通过了所有高风险诈骗和截图场景。此前曾测试 Qwen3.6 27B（质量高但成本高）和 MiniCPM-V 4.6 Q8（速度慢且不稳定），最终选择了精度、速度和成本平衡的 4B 模型。项目受限于 hackathon 的 32B 模型上限规则。

## 正文

为了参加 Hugging Face 的“构建小型模型”黑客松，我想打造一个实用、本地化且超越演示价值的工具。最终成果是“巴基斯坦通知助手”，这是一款以安全为核心的 AI 工具，旨在帮助巴基斯坦民众在点击链接、拨打电话、分享验证码或进行支付之前，识别可疑信息。

这个想法源于一个常见问题：人们经常收到看似来自银行、快递公司、税务部门、交警、公用事业公司、移动运营商或政府部门的短信。有些是真的，很多则是诈骗。难点往往不在于阅读信息本身，而在于知道接下来该怎么做。

“巴基斯坦通知助手”并非真实性验证工具。它不会声称某条信息是官方真实信息还是欺诈信息。相反，它充当一个分流工具。它接收文本或截图，并返回风险标签、简短说明、可见的警示标志以及安全的后续操作步骤。

为何符合“构建小型模型”理念

该项目符合“后院 AI”赛道，因为它专注于一个特定的本地问题：巴基斯坦境内诈骗式通知和可疑信息。

我没有构建一个大型通用助手，而是想看看，当范围明确、产品行为定义清晰、且界面围绕真实用户设计时，一个小型模型能走多远。

我最初测试了一个更大的 Qwen 模型，但最终的生产选择是 Qwen3.5 4B Q8（通过 llama.cpp 运行）。它通过了我的十项评估中的所有高风险诈骗案例和两个截图案例。这使其成为小型模型安全助手的实用选择。

该项目使用了：

Hugging Face Space → custom Gradio frontend → queued Gradio Server endpoint → Modal endpoint → CUDA llama.cpp → Qwen3.5 4B Q8 MTP GGUF + vision projector

这让我构建了一个小型模型技术栈，既能处理文本也能处理截图，同时保持在黑客松 32B 模型限制以下。

应用的功能

“巴基斯坦通知助手”同时支持英语和乌尔都语。这是最重要的产品决策之一，因为巴基斯坦的可疑信息通常用英语、乌尔都语、罗马乌尔都语或三者混合写成。

乌尔都语模式不仅仅是翻译界面。当用户切换到乌尔都语时，应用会将布局改为从右到左，翻译标题、标签、风险卡片、验证消息和结果控件，同时要求模型用清晰的乌尔都语文字生成评估内容。

这意味着用户可以提交一条可疑消息，并收到完整的乌尔都语安全响应，包括风险标签、解释、警示信号、安全后续步骤，以及在适当时提供可选的回复草稿。对于本地安全工具而言，这一点至关重要，因为当建议以人们最熟悉的语言书写时，更容易被信任并付诸行动。

该应用会查找以下警示信号：

紧急威胁或账户冻结用语；

索要 OTP、PIN 码、密码、CVV 码、CNIC 详细信息或银行卡数据；

可疑的支付链接或个人手机号码；

冒充银行、电信公司、快递公司、税务机关或警方；

要求预先付费的奖品、退款、工作或福利。

随后，该工具会为用户提供更安全的后续步骤，例如通过独立查证的官方渠道进行核实，而不是使用可疑消息中的链接或电话号码。

我在构建过程中的收获

这个项目让我明白，使用小模型进行构建，与其说是追求最高的基准分数，不如说是要在质量、速度、成本和产品安全性之间找到恰当的平衡。

1. 当范围明确时，小模型效果最佳

最大的教训之一是，当任务被精心限定范围时，小模型的表现可以出奇地好。

Pakistan Notice Helper 不需要成为一个通用的诈骗调查员。它需要识别可见的风险信号，避免过度断言，并提供安全的后续步骤。这使得产品范围、提示词设计和输出约束与模型本身同等重要。

该应用的设计宗旨是：这看起来有风险，以下是警示信号，以及接下来你应该如何安全操作。它的设计目的不是要说：这绝对是真实的或绝对是虚假的。

2. 从更大的模型开始

我从 Qwen3.6 27B 开始，质量非常出色。在我的测试中，它处理可疑消息的表现非常好，并生成了有力且可靠的解释。

问题在于部署成本和实用性。该模型需要更大的显存、更高配置的 GPU 机器，并且在冷启动时需要更长的恢复时间。对于流量不稳定的黑客马拉松演示来说，这并不理想。它虽然能用，但对于我想构建的那种小型、专注的工具来说，过于昂贵和笨重了。

就质量而言，对于这个任务，我会给较大的模型打 95/100 分。但仅有质量是不够的。我还必须考虑成本、速度、冷启动，以及应用能否保持响应。

3. 测试更小的本地选项

在那之后，我尝试转向一个更小的视觉语言模型，MiniCPM-V 4.6 Q8，希望它能更本地化地运行并降低服务成本。

那次实验效果不佳。它在 GPU 上运行非常慢，当我尝试通过 ZeroGPU 运行时，遇到了配额和运行时问题。即使界面显示我还有大约 35 分钟的配额，应用的行为也不可靠。我仍不完全确定是什么导致了这些问题，但这使得部署变得不稳定。

于是我回退，并通过 Modal 部署了该模型。部署本身很快，并在几秒钟内开始响应，但模型质量不够好。它在检测可疑消息方面表现不佳，并且在我的太多测试用例上失败了，所以我不得不放弃它。

4. 寻找“刚刚好”的模型

随后，我查看了 Artificial Analysis 上的小型开源模型排名，找到了最适合这个项目的模型：Qwen3.5 4B。

它足够小，能契合“构建小型化”的精神；速度足够快，能满足应用体验；能力也足够强，能实现我所需的安全行为。与 Qwen3.6 27B 相比，对于这个任务，我会给它打 80/100 分，而较大的模型接近 95/100 分。

但这个权衡是合理的。

4B 模型服务成本更低、加载更快、部署更简单，并且在较小的 Modal 机器上也很实用。这种在模型质量、速度、成本和冷启动行为之间的平衡，使其成为巴基斯坦通知助手（Pakistan Notice Helper）的“刚刚好”模型。

5. 提示词和输出约束至关重要

一些早期版本以有用的方式失败了。

思考模式在返回最终的结构化 JSON 之前就消耗了 500 个 token 的输出预算，因此我在生产环境中禁用了思考功能。一张密集的罗马乌尔都语截图达到了原始的补全限制，因此图片请求现在会获得更大的 token 预算。

另一个模型回复建议了一个看起来官方但未经核实的域名。这是一个严重的产品问题，所以我更新了系统提示词，禁止编造 URL、电话号码、组织名称和事实。

这些修复让系统更安全、更可预测。模型不再只是被要求“检测诈骗”，而是被要求遵循一份严格的安全契约。

6. 乌尔都语用户体验需要真正的产品工作

乌尔都语界面所需的工作也比我想象的要多。

直译听起来很不自然。某些标题需要不同的行高。混合的乌尔都语和拉丁语模型名称可能会意外地重新排序。移动端控件需要更多的垂直空间，尤其是在从右到左的布局中。

我还测试了一个打包的 Nastaliq 网络字体。它单独看起来很美，但在产品 UI 内部却降低了可读性，让界面感觉不那么一致。我移除了它，并恢复使用系统阿拉伯字体栈，同时保留了改进后的乌尔都语文案和从右到左布局。

这些不仅仅是设计细节。它们影响着应用是否感觉清晰、可用和值得信赖。

7. 主要经验教训

最终的经验教训是：最适合产品的模型并不总是最大的模型。

对于这个项目，Qwen3.6 27B 提供了最佳的原始质量，但 Qwen3.5 4B 提供了最佳的产品平衡。它体积小、速度快、成本低，并且对于定义明确的任务来说已经足够好了。

正是这种权衡，让这个项目感觉非常适合“小型构建”。

使用 Codex 进行构建

Codex 帮助我在整个项目中推进得更快，尤其是因为这不仅仅是一个简单的模型演示。巴基斯坦通知助手需要一个自定义前端、一个 Gradio 后端、一个由 Modal 托管的 llama.cpp 服务器、截图支持、乌尔都语模式、测试、文档以及一个更安全的输出管道。

完整代码可在 GitHub 仓库中找到。

我将 Codex 用作工程协作伙伴，而不仅仅是代码生成器。它帮助我检查现有代码仓库、实施变更、运行测试、调试问题、更新文档，并确保 Modal、Gradio 和 llama.cpp 的配置与已部署系统保持一致。

最有用的部分之一是构建了一个自定义的 HTML、CSS 和 JavaScript 界面，同时通过 Gradio Server 保持与 Hugging Face Spaces 的兼容性。该应用没有使用默认的 Gradio 组件布局，而是采用了一个产品风格的前端，在后台与 Gradio 的队列化 API 路由和 SSE 协议进行通信。

这使得最终的 Space 感觉更像一个真正的本地安全工具，而不是一个标准的模型演示平台。Codex 还帮助完成了反复的 UI 优化，包括英语/乌尔都语切换、移动端布局修复、结果卡片、缓存示例、追踪控制，以及更清晰的部署流程文档。

对我来说，最大的好处是迭代速度。我可以描述我想要的产品的行为，审查实现代码，进行测试，然后不断优化应用，直到前端、后端、模型端点和安全约束能够协同工作。

隐私安全的追踪记录

我还添加了一个可选的公开追踪功能，以便人们了解应用的使用情况，同时不会暴露用户的私人内容。

追踪选项在应用内可见，并且可以在每次请求前禁用。启用后，它仅记录有限的请求级元数据，而不是完整的用户消息或截图。文本会被脱敏并截断。图像通过固定的摘要来表示，不会被存储。

追踪记录排除了原始截图、链接、标识符、生成的解释、回复草稿、错误、凭据，以及任何可能意外重复私人细节的自由格式模型输出。

我还发布了追踪数据集，以便人们可以审查其模式，并了解共享了哪些类型的元数据。

您可以在此处查看数据集：

这一点之所以重要，是因为敏感信息不仅可能从原始输入中泄露。即使原始消息被移除，模型解释、回复草稿、提取出的电话号码、URL 或异常消息仍可能重复出现个人详细信息。为避免这种情况，追踪系统仅发布有限的类别、布尔值、计数和固定摘要。

该应用仍会将实时文本和图像发送到私有 Modal 端点进行推理，因此我并不将其标榜为匿名本地推理。用户被警告不要提交敏感个人数据，并且可以在每次请求前关闭公共追踪共享。

目前的结果

这个小型评估套件并非真实世界的准确率评估，但对于回归测试很有用。

最终评估结果如下：

测量项 结果

初始严格通过数 10 项中通过 9 项

初始平均得分 89.5/100

最终回归通过数 10 项全部通过

最终回归平均得分 100/100

高风险诈骗案例 全部通过

截图案例 两项均通过

MTP 草稿采纳数 440 个 token 中采纳 222 个

草稿采纳率 50.5%

最重要的结果并非分数本身。而是在经过提示词、输出合约和 UI 修复后，一个限定范围的 4B 模型能够保持我所需要的安全行为。

下一步将构建什么

下一个主要功能将是一个智能体验证工作流。

目前，巴基斯坦通知助手（Pakistan Notice Helper）止步于分类阶段。它会读取提交的文本或截图，识别可见的风险信号，并给出安全的后续步骤。在下一个版本中，我希望该应用能更进一步，帮助验证该通知是原件、复制品，还是已在网上被讨论为诈骗。

对于该工作流，我计划使用 Olostep 进行网络搜索和网页抓取。智能体可以搜索网络上的当前诈骗警告，检查是否有其他人报告过类似消息，识别被冒充的组织，并将这些说法与独立发现的官方来源进行比对。

我还计划使用 OpenAI Agents SDK 来管理这个验证工作流。智能体不会简单地随机浏览。它会遵循一个受控流程：提取可能的机构名称、搜索相关警告信息、抓取相关页面、对来源进行排序，然后将证据与模型的评估结果一同呈现。

这个工作流需要严格的安全边界。智能体绝不能信任可疑消息中的链接、电话号码或联系方式。它只能使用独立发现的来源，并明确区分证据与推理结论。

这里也存在产品层面的权衡。当前应用通常在约 5 秒内返回结果，冷启动时约需 9 秒。加入网络搜索、页面抓取、来源核查以及智能体推理，会增加推理成本和响应时间。一个完整的验证工作流可能需要接近 30 秒，这比当前的分诊体验要慢得多。

正因如此，我将黑客松版本的重点放在了快速安全指导上。对于可疑消息，速度至关重要。当前版本能帮助用户暂停操作并快速避免风险行为，而未来的智能体版本则可以在用户愿意等待更长时间时，提供更深入的验证。

最后总结

巴基斯坦通知助手（Pakistan Notice Helper）在设计上追求小巧。

它不试图解决所有类型的欺诈问题。它不自称能验证官方通知。它不能替代银行、快递公司、电信运营商或政府门户网站。

相反，它的作用是帮助用户暂停操作、识别危险信号，并采取更安全的下一步行动。

我花了三个紧张的日子来构建这个项目，包括编写代码、部署、测试、改进和打磨细节。大部分进展来自于与产品本身相处的时间：测试真实案例、发现细微缺陷、调整提示词、优化界面，以及思考每个决策背后的工程限制。

这个过程让项目变得好得多。因为我花了更多时间在测试和规划上，而不是简单地添加功能，所以我有更多空间去思考模型大小、延迟、冷启动、成本、安全边界、乌尔都语可用性，以及一个小模型究竟能做好哪些事情。

我在使用小模型进行构建的过程中学到了很多。最大的教训是，当问题具有局部性、聚焦性且经过精心设计时，小模型会变得强大。它们或许无法解决所有问题，但只要范围设定得诚实，它们仍然能够帮助解决实际问题。

在这个数字世界里，我们被诈骗、欺诈和可疑信息所包围。巴基斯坦通知助手并非完整的解决方案，但它是一个小小的开端：黑暗天空中的一束光，旨在帮助人们放慢脚步、保持更安全的状态，并在为时已晚之前做出更好的决策。

这正是我在此次黑客马拉松中想要构建的那种小型 AI：本地化、聚焦、诚实地面对自身的局限，并对其所服务的人群有用。

项目链接

您可以在此处试用该应用、审查代码并查看公开的追踪数据集：

网页应用：Hugging Face Spaces 上的巴基斯坦通知助手

YouTube 演示：巴基斯坦通知助手演示：检查可疑短信、账单、银行提醒和通知

GitHub 仓库：kingabzpro/pakistan-notice-helper

公开追踪数据集：Hugging Face Datasets 上的巴基斯坦通知助手追踪记录

GitHub 仓库包含应用程序代码、部署配置、文档、模型实验笔记以及其他项目细节。Space 托管了实时应用，而数据集则展示了用于发布有限请求级元数据（不暴露原始用户消息或截图）的隐私安全追踪格式。

注意：该应用旨在提供安全指导，而非法律、财务、银行或政府验证方面的建议。
