YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
望潮 TideWatcher
望潮(TideWatcher)是一个中文攻击性/毒性短文本检测模型,基于 MacBert 微调,是「守望」微博理性发言主动干预插件(weiboextension)的本地快检模型(c2 实装版)。名字取自望潮蟹:涨潮时在滩涂守望,退潮时归洞。
1. 解决什么问题
在微博等中文社交平台,用户常在情绪冲动时发出攻击性、侮辱性言论,既伤害他人,也让自己事后后悔。望潮在发言即将发出前对文本做快速攻击性检测,为插件提供触发"理性劝导"拦截的依据,给冲动一个缓冲。
模型采用 ONNX INT8 量化,纯 CPU 本地推理(不依赖任何 API),单条延迟约 34ms,适合浏览器插件场景下的实时检测。
2. 主要功能
- 攻击性二分类打分:对中文短文本输出 0~1 的攻击概率
- 分层判定:score > 0.9 定案攻击、score < 0.1 定案安全,中间区间交由上层大模型复核(与实装链路一致)
- 本地推理:ONNX Runtime + CPU,无需 GPU、无需 API key、无网络依赖
- 即插即用:提供 ONNX 权重与完整分词器,两行代码可加载
3. 安装方法
方式一(最简单,浏览器下载):打开本模型主页 → Files 标签 → 直接下载 model_int8.onnx 及分词器文件,放入本地任意 models/ 目录即可。
方式二(一条命令):
pip install huggingface_hub
huggingface-cli download RainbowLIght/tidewatcher-macbert-c2 --local-dir models/tidewatcher
方式三(一键脚本):下载本仓库 Files 里的 download_models.py,然后运行:
python download_models.py # 下载全部文件(含原始权重)
python download_models.py --cpu-only # 只下载实装 ONNX 版(98 MB,插件用)
自动拉取到 models/tidewatcher/(可用 -o 指定目录)。
4. 使用方法
import onnxruntime as ort
from transformers import AutoTokenizer
sess = ort.InferenceSession("model_int8.onnx", providers=["CPUExecutionProvider"])
tok = AutoTokenizer.from_pretrained(".")
def score(text: str) -> float:
enc = tok(text, truncation=True, max_length=64,
padding="max_length", return_tensors="np")
feed = {k: v.astype("int64") for k, v in enc.items()}
logits = sess.run(None, feed)[0][0]
import math
return 1.0 / (1.0 + math.exp(-(float(logits[1]) - float(logits[0]))))
5. 输入输出示例
| 输入 | 输出 score | 判定 |
|---|---|---|
| 你真是个傻逼,去死吧 | 0.998 | 攻击(拦截) |
| nmsl | 0.995 | 攻击(拦截) |
| 这家店服务太差了 | 0.42 | 模糊区(交大模型复核) |
| 今天天气不错,心情很好 | 0.02 | 安全(放行) |
| 666 | 0.01 | 安全(放行) |
技术细节
| 项 | 值 |
|---|---|
| 架构 | MacBert(hfl/chinese-macbert-base 变体) |
| 输入长度 | max_len=64(与训练一致) |
| 训练配置 | c_macbert_lr3e-5_ep4 |
| 量化 | ONNX 动态 INT8(98 MB) |
| 性能 | F1 0.9004(INT8 复测),延迟 mean 34 ms(CPU) |
| 训练数据 | 自建标注数据集 + 公开中文冒犯性语言数据集(COLD,Apache-2.0),数据集将另行开源 |
文件说明
| 文件 | 说明 |
|---|---|
model_int8.onnx |
ONNX INT8 量化权重(实装版,插件实际使用) |
model.safetensors |
原始 PyTorch 权重(供微调/研究) |
config.json / vocab.txt / tokenizer.json / tokenizer_config.json / special_tokens_map.json |
模型配置与分词器 |
已知限制
- 部分表达(玩梗、熟人调侃、阴阳怪气)存在语境依赖,实装中通过词表豁免与大模型复核缓解
- 训练语料以微博场景的短句为主,迁移到其他平台/文体需重新评估
- 本模型仅用于防攻击干预(劝导式拦截),不应被用于内容审查、身份画像或任何形式的压制性监控
许可证
Apache License 2.0
相关项目
- 「守望」插件代码仓库:RainbowLightSpirt/SHOUWANG
- 「暗流」训练数据集:RainbowLIght/between-the-line
- Downloads last month
- 51
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support