Update README.md
#2
by
wwtlcczwj
- opened
README.md
CHANGED
|
@@ -152,93 +152,93 @@ def _load_model_tokenizer(checkpoint_path, cpu_only):
|
|
| 152 |
|
| 153 |
return model, tokenizer
|
| 154 |
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
|
| 190 |
-
|
| 191 |
-
|
| 192 |
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
|
| 199 |
-
|
| 200 |
|
| 201 |
-
|
| 202 |
|
| 203 |
-
|
| 204 |
-
|
| 205 |
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
|
| 220 |
-
|
| 221 |
-
|
| 222 |
```
|
| 223 |
|
| 224 |
-
|
| 225 |
|
| 226 |
-
|
| 227 |
|
| 228 |
-
- [bad_data.json
|
| 229 |
|
| 230 |
-
|
| 231 |
|
| 232 |
-
##
|
| 233 |
|
| 234 |
-
|
| 235 |
|
| 236 |
-
- [GitHub:
|
| 237 |
|
| 238 |
-
|
| 239 |
|
| 240 |
-
|
| 241 |
|
| 242 |
-
|
| 243 |
|
| 244 |
-
|
|
|
|
| 152 |
|
| 153 |
return model, tokenizer
|
| 154 |
|
| 155 |
+
Def_get_input()->str:
|
| 156 |
+
当为True时:
|
| 157 |
+
尝试:
|
| 158 |
+
消息=输入('用户:').strip()
|
| 159 |
+
UnicodeDecodeError除外:
|
| 160 |
+
打印('[ERROR]输入中的编码错误')
|
| 161 |
+
继续
|
| 162 |
+
键盘中断除外:
|
| 163 |
+
出口(1)
|
| 164 |
+
如果消息:
|
| 165 |
+
返回消息
|
| 166 |
+
打印('[ERROR]查询为空')
|
| 167 |
+
|
| 168 |
+
Def_chat_stream(模型、标记器、查询、历史记录):
|
| 169 |
+
对话=[
|
| 170 |
+
{'角色':'系统','内容':"},
|
| 171 |
+
]
|
| 172 |
+
对于历史中的query_h、response_h:
|
| 173 |
+
conversation.append({'role':'user','content':query_h})
|
| 174 |
+
conversation.append({'role':'assistant','content':response_h})
|
| 175 |
+
conversation.append({'role':'user','content':query})
|
| 176 |
+
inputs=tokenizer.apply_chat_template(
|
| 177 |
+
对话,
|
| 178 |
+
add_generation_prompt=True,
|
| 179 |
+
return_tensors='pt',
|
| 180 |
+
)
|
| 181 |
+
inputs=inputs.to(model.device)
|
| 182 |
+
streamer=TextIteratorStreamer(tokenizer=tokenizer,skip_prompt=True,timeout=60.0,skip_special_token=True)
|
| 183 |
+
generation_kwargs=dict(
|
| 184 |
+
input_ids=输入,
|
| 185 |
+
拖缆=拖缆,
|
| 186 |
+
)
|
| 187 |
+
thread=Thread(target=model.generate,kwargs=generation_kwargs)
|
| 188 |
+
Thread.start()
|
| 189 |
|
| 190 |
+
对于拖缆中的新文本(_T):
|
| 191 |
+
产生新文本(_T)
|
| 192 |
|
| 193 |
+
Def main():
|
| 194 |
+
checkpoint_path=DEFAULT_ckpt_PATH
|
| 195 |
+
seed=random.randint(0,2**32-1)#生成随机种子
|
| 196 |
+
set_seed(种子)#设置随机种子
|
| 197 |
+
CPU_only=False
|
| 198 |
|
| 199 |
+
历史记录=[]
|
| 200 |
|
| 201 |
+
model,tokenizer=_load_model_tokenizer(检查点路径,仅cpu)
|
| 202 |
|
| 203 |
+
当为True时:
|
| 204 |
+
query=_get_input()
|
| 205 |
|
| 206 |
+
打印(f“\n用户:{query}”)
|
| 207 |
+
打印(f"\n助手:",end="")
|
| 208 |
+
尝试:
|
| 209 |
+
partial_text="
|
| 210 |
+
对于聊天流中的新文本(模型、标记器、查询、历史记录):
|
| 211 |
+
打印(new_text,end=",flush=True)
|
| 212 |
+
partial_text+=new_text
|
| 213 |
+
打印()
|
| 214 |
+
history.append((查询,部分文本))
|
| 215 |
|
| 216 |
+
键盘中断除外:
|
| 217 |
+
打印(“生成中断”)
|
| 218 |
+
继续
|
| 219 |
|
| 220 |
+
如果__name__=="__main__":
|
| 221 |
+
主要的()
|
| 222 |
```
|
| 223 |
|
| 224 |
+
##数据集
|
| 225 |
|
| 226 |
+
Qwen2-Boundless模型使用名为`bad_data.json`,其中包括广泛的文本内容,涉及伦理、法律、色情和暴力等主题。微调数据集完全是中文的,因此模型的中文性能更好。如果您有兴趣浏览或使用此数据集,可以通过以下链接找到它:
|
| 227 |
|
| 228 |
+
- [bad_data.json数据集](https://huggingface.co/datasets/ystemsrx/Bad_Data_Alpaca)
|
| 229 |
|
| 230 |
+
我们还使用了一些与网络安全相关的数据,这些数据是从[此文件](https://github.com/Clouditera/SecGPT/blob/main/secgpt-mini/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%9B%9E%E7%AD%94%E9%9D%A2%E9%97%AE%E9%A2%98-cot.txt).
|
| 231 |
|
| 232 |
+
##GitHub存储库
|
| 233 |
|
| 234 |
+
有关模型和正在进行的更新的更多详细信息,请访问我们的GitHub存储库:
|
| 235 |
|
| 236 |
+
- [GitHub:ystemsrx/Qwen2-无界](https://github.com/ystemsrx/Qwen2-Boundless)
|
| 237 |
|
| 238 |
+
##许可证
|
| 239 |
|
| 240 |
+
此模型和数据集在Apache2.0License下是开源的。
|
| 241 |
|
| 242 |
+
##免责声明
|
| 243 |
|
| 244 |
+
本模型提供的所有内容仅供研究和测试之用。此模型的开发人员不对任何潜在的误用负责。用户应遵守相关法律法规,并对其行为负全部责任。
|