1Teng commited on
Commit
baa946b
·
verified ·
1 Parent(s): 575b4e8

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +103 -49
README.md CHANGED
@@ -11,7 +11,7 @@ tags:
11
  base_model:
12
  - Qwen/Qwen3-0.6B-Base
13
  ---
14
- # HaS_4.0_0.6B
15
 
16
  ## 一、HaS介绍
17
 
@@ -37,45 +37,49 @@ HaS(Hide And/Annotate Seek)是一款专为与大型语言模型(LLM)交
37
 
38
  如图所示,我们认为,这种结构化语义标签之所以能被大模型高效理解,其核心原因在于模型在预训练阶段接触了海量的代码数据。这些代码中普遍存在与该标签格式高度同构的语法结构,例如面向对象编程中的同类ID索引和模块化的层级命名空间。正是这种结构上的相似性,使得大模型能够迁移从代码中学到的模式识别能力,仅需少量样本(few-shot)甚至无需样本(zero-shot),即可快速掌握并运用此标签体系进行推理。采用标签脱敏前后的一个例子如下:
39
 
40
- 脱敏前的Prompt:
41
- > CloudGenius的联系人是谁?
42
- > **合同编号:** SAAS-2024-Q3-8801
43
- > **甲方 (服务提供方):** 云创智能有限公司(以下简称云创智能或CloudGenius)
44
- > 注册地址: 北京市朝阳区望京科技园A座18层
45
- > 联系人: 李红(Li Hong)
46
- > 电话: 010-8888-9999
47
- > **乙方 (客户):** 繁星贸易集团(Star Trading Group,以下简称繁星或STG)
48
- > 注册地址: 上海市黄浦区南京东路100号
49
- > 联系人: 张英建(Zhang Yingjian)
50
- > 邮箱: zhang.director@star-trading.com
51
- > **1. 服务内容**
52
- > 云创智能向STG提供名为智销云(SmartSales Cloud)的客户关系管理(CRM)软件服务。服务等级协议(Service Level Agreement, SLA)保证99.95%的在线时间。云创智能将确保该CRM系统的稳定运行。
53
- > **2. 协议期限**
54
- > 协议自2024年8月1日起生效,至2026年7月31日终止,为两年。任何一方如需提前终止,需提前90天书面通知对方。CloudGenius和繁星贸易均应遵守此条款。
55
- > **3. 费用与支付**
56
- > STG同意支付订阅费用,总计人民币贰佰万元整 (¥2,000,000.00/RMB 2 million)。费用需分两次支付:协议生效后15个工作日内支付50%,即100万元;第二年服务开始前支付剩余50%。支付账户为云创智能在中国工商银行(ICBC)开设的账户,账号为6222020200012345678。
57
- > **4. 保密条款**
58
- > CloudGenius和STG同意,对在履行本协议过程中获悉的对方商业秘密和技术信息予以保密。此保密义务在本协议终止后持续有效,直至该信息进入公共领域。
59
-
60
- 脱敏后的Prompt:
61
- > <组织[001].企业.英文名>的联系人是谁?
62
- > **合同编号:** <编号[001].合同编号.代码>
63
- > **甲方 (服务提供方):** <组织[001].企业.完整名称>(以下简称<组织[001].企业.简称>或<组织[001].企业.英文名>)
64
- > 注册地址: <地点[001].办公地址.完整地址>
65
- > 联系人: <人物[001].个人.姓名>(<人物[001].个人.拼音名>)
66
- > 电话: <电话[001].固定电话.号码>
67
- > **乙方 (客户):** <组织[002].企业.完整名称>(<组织[002].企业.英文名>,以下简称<组织[002].企业.简称>或<组织[002].企业.英文缩写>)
68
- > 注册地址: <地点[002].办公地址.完整地址>
69
- > 联系人: <人物[002].个人.姓名>(<人物[002].个人.拼音名>)
70
- > 邮箱: <邮箱[001].个人邮箱.地址>
71
- > **1. 服务内容**
72
- > <组织[001].企业.简称>向<组织[002].企业.英文缩写>提供为<产品/服务[001].软件.中文名>(<产品/服务[001].软件.英文名>)的<产品/服务[002].软件服务.完整描述>。<产品/服务[003].协议.中文名>(<产品/服务[003].协议.英文名>, <产品/服务[003].协议.英文缩写>)保证<百分比[001].服务指标.数值>的在线时间。<组织[001].企业.简称>将确保该<产品/服务[002].软件服务.简称>的稳定运行。
73
- > **2. 协议期限**
74
- > 本协议自<日期/时间[001].具体日期.年月日>起生效,至<日期/时间[002].具体日期.年月日>终止,为期两年。任何一方如需提前终止,需提前<日期/时间[003].时间段.天数>书面通知对方。<组织[001].企业.英文名>和繁星贸易均应遵守此条款。
75
- > **3. 费用与支付**
76
- > <组织[002].企业.英文缩写>同意支付订阅费用,总计人民币<金额[001].合同金额.中文大写> (<金额[001].合同金额.数字符号>/<金额[001].合同金额.英文表述>)。费用需分两次支付:协议生效后<日/时间[004].时间段.工作日数>内支付<百分比[002].支付比例.数值>,即<金额[002].支付金额.中文数字>;第二年服务开始前支付剩余<百分比[002].支付比例.数值>。支付账户为<组织[001].企业.简称>在<组织[003].金融机构.完整名称>(<组织[003].金融机构.英文缩写>)开设的账户,账号为<编号[002].银行账号.号码>。
77
- > **4. 保密条款**
78
- > <组织[001].企业.英文名>和<组织[002].企业.英文缩写>同意,对在履行本协议过程中获悉的对方商业秘密和技术信息予以保密。此保密义务在本协议终止后持续有效,直至该信息���入公共领域。
 
 
 
 
79
 
80
  与Presidio、Freysa等其他匿名化方案对比,结构化语义标签不仅保留了层次语义信息以及指代关系,同时还符合相关法规对数据真实性及质量的要求。
81
 
@@ -85,13 +89,63 @@ HaS(Hide And/Annotate Seek)是一款专为与大型语言模型(LLM)交
85
 
86
  如图3所示,两种实体处理方案均存在根本性缺陷。基于实体类型标签(如<ORGANIZATION>)的方法,因无法区分原文中的多个同类实体个体,直接导致了指代关系的丢失和模型的应答失败。而假名替换方案,则存在三个问题:首先,生成虚假信息违背了合规性原则;其次,替换操作有损语义的准确性,进而影响回答质量;最后,非结构化的假名也使后续的程序化解析与工具化的处理带来了困难。
87
 
88
- ## 三、使用HaS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
90
- ### 方法一(最方便):Chrome、Edge应用市场搜索并安装“HaS脱敏”插件预览版,并在DeepSeek,ChatGPT网页版直接使用
 
 
 
 
 
 
 
 
91
 
92
- ### 方法二(可定制性强):下载型权重,自己部署HaS模型,配搭工具,编排 Agentic Workflow
93
 
94
- ### 1)使用ner能力进行敏感实体识别
95
  提示词模板:
96
  ```
97
  messages = [
@@ -111,7 +165,7 @@ messages = [
111
  ```
112
  注:Specified types里的实体类型支持任意指定
113
 
114
- ### 2)使用hide能力进行标签化脱敏(不带历史脱敏记录)
115
  提示词模板:
116
  ```
117
  messages = [
@@ -140,7 +194,7 @@ messages = [
140
  注:提示词模板中assistant的内容取自第一轮ner的输出结果
141
 
142
 
143
- ### 3)使用hide能力进行标签化脱敏(带历史脱敏记录)
144
  提示词模板:
145
  ```
146
  messages = [
@@ -169,7 +223,7 @@ messages = [
169
 
170
  注:提示词模板中assistant的内容取自第一轮ner的输出结果,existing mapping pairs取自历史对话积累的映射对
171
 
172
- ### 4)使用pair能力提取标签映射
173
  提示词模板:
174
  ```
175
  messages = [
@@ -190,7 +244,7 @@ messages = [
190
  注:提示词模板中anonymized的内容取自hide的输出结果
191
 
192
 
193
- ### 5)使用split能力进行复合标签拆解
194
  提示词模板:
195
  ```
196
  messages = [
@@ -210,7 +264,7 @@ messages = [
210
  ```
211
  注:提示词模板中Composite mapping取自pair输出中提取的连续标签
212
 
213
- ### 6)使用seek能力进行标签还原
214
  提示词模板:
215
  ```
216
  messages = [
 
11
  base_model:
12
  - Qwen/Qwen3-0.6B-Base
13
  ---
14
+ # HaS_4.0_0.6B_q4f16
15
 
16
  ## 一、HaS介绍
17
 
 
37
 
38
  如图所示,我们认为,这种结构化语义标签之所以能被大模型高效理解,其核心原因在于模型在预训练阶段接触了海量的代码数据。这些代码中普遍存在与该标签格式高度同构的语法结构,例如面向对象编程中的同类ID索引和模块化的层级命名空间。正是这种结构上的相似性,使得大模型能够迁移从代码中学到的模式识别能力,仅需少量样本(few-shot)甚至无需样本(zero-shot),即可快速掌握并运用此标签体系进行推理。采用标签脱敏前后的一个例子如下:
39
 
40
+ **脱敏前的Prompt**
41
+ ```
42
+ CloudGenius的联系人是谁?
43
+ **合同编号:** SAAS-2024-Q3-8801
44
+ **甲方 (服务提供方):** 云创智能有限公司(以下简称云创智能或CloudGenius)
45
+ 注册地址: 北京市朝阳区望京科技园A座18层
46
+ 联系人: 李红(Li Hong)
47
+ 电话: 010-8888-9999
48
+ **乙方 (客户):** 繁星贸易集团(Star Trading Group,以下简称繁星或STG)
49
+ 注册地址: 上海市黄浦区南京东路100号
50
+ 联系人: 张英建(Zhang Yingjian)
51
+ 邮箱: zhang.director@star-trading.com
52
+ **1. 服务内容**
53
+ 云创智能向STG提供名为智销云(SmartSales Cloud)的客户关系管理(CRM)软件服务。服务等级协议(Service Level Agreement, SLA)保证99.95%的在线时间。云创智能将确保该CRM系统的稳定运行。
54
+ **2. 协议期限**
55
+ 本协议自2024年8月1日起生效,至2026年7月31日终止,为期两年。任何一方如需提前终止,需提前90天书面通知对方。CloudGenius和繁星贸易均应遵守此条款。
56
+ **3. 费用支付**
57
+ STG同意支付订阅费用,总计人民币贰佰万元整 (¥2,000,000.00/RMB 2 million)。费用需分两次支付:协议生效后15个工作日内支付50%,即100万元;第二年服务开始前支付剩余50%。支付账户为云创智能在中国工商银行(ICBC)开设的账户,账号为6222020200012345678。
58
+ **4. 保密条款**
59
+ CloudGenius和STG同意,对在履行本协议过程中获悉的对方商业秘密和技术信息予以保密。此保密义务在本协议终止后持续有效,直至该信息进入公共领域。
60
+ ```
61
+
62
+ **脱敏后的Prompt**
63
+ ```
64
+ <组织[001].企业.英文名>的联系人是谁?
65
+ **合同编号:** <编号[001].合同编号.代码>
66
+ **甲方 (服务提供方):** <组织[001].企业.完整名称>(以下简称<组织[001].企业.简称>或<组织[001].企业.英文名>)
67
+ 注册地址: <地点[001].办公地址.完整地址>
68
+ 联系人: <人物[001].个人.姓名>(<人物[001].个人.拼音名>)
69
+ 电话: <电话[001].固定电话.号码>
70
+ **乙方 (客户):** <组织[002].企业.完整名称>(<组织[002].企业.英文名>,以下简称<组织[002].企业.简称>或<组织[002].企业.英文缩写>)
71
+ 注册地址: <地点[002].办公地址.完整地址>
72
+ 联系人: <人物[002].个人.名>(<人物[002].个人.拼音名>
73
+ 邮箱: <邮箱[001].个人邮箱.地址>
74
+ **1. 服务内容**
75
+ <组织[001].企业.简称>向<组织[002].企业.英文缩写>提供名为<产品/服务[001].软件.中文名>(<产品/服务[001].软件.英文名>)的<产品/服务[002].软件服务.完整描述>。<产品/服务[003].协议.中文名>(<产品/服务[003].协议.英文名>, <产品/服务[003].协议.英文缩写>)保证<百分比[001].服务指标.数值>的在线时间。<组织[001].企业.简称>将确保该<产品/服务[002].软件服务.简称>的稳定运行。
76
+ **2. 协议期限**
77
+ 本协议自<日期/时间[001].具体日期.年月日>起生效,至<日期/时间[002].具体日期.年月日>终止,为期两年。任何一方如需提前终止,需提前<日期/时间[003].时间段.天数>书面通知对方。<组织[001].企业.英文名>和繁星贸易均应遵守此条款
78
+ **3. 费用与支付**
79
+ <组织[002].企业.英文缩写>同意支付订阅费用,总计人民币<金额[001].合同金额.中文大写> (<金额[001].合同金额.数字符号>/<金额[001].合同金额.英文表述>)。费用需分两次支付:协议生效后<日期/时间[004].时间段.工作日数>内支付<百分比[002].支付比例.数值>,即<金额[002].支付金额.中文数字>;第二年服务开始前支付剩余<百分比[002].支付比例.数值>。支付账户为<组织[001].企业.简称>在<组织[003].金融机构.完整名称>(<组织[003].金融机构.英文缩写>)开设的账户,账号为<编号[002].银行账号.号码>。
80
+ **4. 保密条款**
81
+ <组织[001].企业.英文名>和<组织[002].企业.英文缩写>同意,对在履行本协议过程中获悉的对方商业秘密和技术信息予以保密。此保密义务在本协议终止后持续有效,直至该信息进入公共领域。
82
+ ```
83
 
84
  与Presidio、Freysa等其他匿名化方案对比,结构化语义标签不仅保留了层次语义信息以及指代关系,同时还符合相关法规对数据真实性及质量的要求。
85
 
 
89
 
90
  如图3所示,两种实体处理方案均存在根本性缺陷。基于实体类型标签(如<ORGANIZATION>)的方法,因无法区分原文中的多个同类实体个体,直接导致了指代关系的丢失和模型的应答失败。而假名替换方案,则存在三个问题:首先,生成虚假信息违背了合规性原则;其次,替换操作有损语义的准确性,进而影响回答质量;最后,非结构化的假名也使后续的程序化解析与工具化的处理带来了困难。
91
 
92
+ ## 三、快速开始
93
+
94
+ 方法一(便捷化):Chrome、Edge应用市场搜索并安装“HaS脱敏”插件预览版,并在DeepSeek,ChatGPT网页版直接使用
95
+
96
+ Chrome商店下载链接:https://chromewebstore.google.com/detail/jcidapaidjphnanhemceclpdilbfefgf
97
+ Edge商店下载链接:https://microsoftedge.microsoft.com/addons/detail/lcpldflknbjbckoeniofmdegkcnbdnjm
98
+
99
+ 方法二(定制化):下载模型权重,自己部署HaS模型,配搭工具,编排 Agentic Workflow
100
+
101
+ 推荐使用llama.cpp推理框架,在模型文件所在目录运行以下命令启动服务:
102
+
103
+ ```
104
+ llama-server -m has_4.0_0.6B.gguf
105
+ ```
106
+
107
+ - 默认监听地址为 `http://127.0.0.1:8080/v1`
108
+ - 若你的模型文件名不同,请替换 `-m` 后的 GGUF 文件路径
109
+
110
+ 确保服务已启动后,进入项目根目录,直接运行下列脚本进行体验。所有脚本都使用 `BASE_URL = http://127.0.0.1:8080/v1` 调用 OpenAI 兼容接口。
111
+
112
+ 1)使用ner能力进行敏感实体识别
113
+ - 运行:`python scripts/ner.py`
114
+
115
+ 2)使用hide能力进行标签化脱敏(不带历史脱敏记录)
116
+ - 运行:`python scripts/hide_without.py`
117
+
118
+ 3)使用hide能力进行标签化脱敏(带历史脱敏记录)
119
+ - 运行:`python scripts/hide_with.py`
120
+
121
+ 4)使用pair能力提取标签映射
122
+ - 运行:`python scripts/pair.py`
123
+
124
+ 5)使用split能力进行复合标签拆解
125
+ - 运行:`python scripts/split.py`
126
+
127
+ 6)使用seek能力进行标签还原
128
+ - 运行:`python scripts/seek.py`
129
+
130
+ ## 四、速度评估
131
+
132
+ **测试平台**:Apple M4 Pro (48GB内存)。
133
+ **性能单位**:Tokens/秒。
134
+ **数据说明**:所有性能数据均已取整,粗体表示该项最佳表现。
135
 
136
+ | 特性/性能指标 | llama.cpp | mlx_lm | mlc_llm |
137
+ | ---- | ---- | ---- | ---- |
138
+ | 核心特点 | C++实现,性能极致,社区活跃 | 苹果官方框架,专为Apple Silicon优化 | 编译驱动,跨平台部署|
139
+ | FP16模型大小 | 1.2GB | 1.2GB | 1.2GB |
140
+ | Prefill速度 | **4904** | 4272 | 1818 |
141
+ | Decode速度 | 128 | **156** | 118 |
142
+ | Q4模型大小 | 0.4GB | 0.4GB | 0.4GB |
143
+ | Prefill速度 | **4828** | 3183 | 2236 |
144
+ | Decode速度 | 238 | **345** | 172 |
145
 
146
+ ## 五、提示词
147
 
148
+ **1)使用ner能力进行敏感实体识别**
149
  提示词模板:
150
  ```
151
  messages = [
 
165
  ```
166
  注:Specified types里的实体类型支持任意指定
167
 
168
+ **2)使用hide能力进行标签化脱敏(不带历史脱敏记录)**
169
  提示词模板:
170
  ```
171
  messages = [
 
194
  注:提示词模板中assistant的内容取自第一轮ner的输出结果
195
 
196
 
197
+ **3)使用hide能力进行标签化脱敏(带历史脱敏记录)**
198
  提示词模板:
199
  ```
200
  messages = [
 
223
 
224
  注:提示词模板中assistant的内容取自第一轮ner的输出结果,existing mapping pairs取自历史对话积累的映射对
225
 
226
+ **4)使用pair能力提取标签映射**
227
  提示词模板:
228
  ```
229
  messages = [
 
244
  注:提示词模板中anonymized的内容取自hide的输出结果
245
 
246
 
247
+ **5)使用split能力进行复合标签拆解**
248
  提示词模板:
249
  ```
250
  messages = [
 
264
  ```
265
  注:提示词模板中Composite mapping取自pair输出中提取的连续标签
266
 
267
+ **6)使用seek能力进行标签还原**
268
  提示词模板:
269
  ```
270
  messages = [