修正了训练tokenizer中的chat_template中的逻辑,以及修正了tokenizer_config.json相应部分
parent
1240829c89
commit
8669d9c10f
|
|
@ -40,5 +40,5 @@
|
||||||
"tokenizer_class": "PreTrainedTokenizerFast",
|
"tokenizer_class": "PreTrainedTokenizerFast",
|
||||||
"unk_token": "<unk>",
|
"unk_token": "<unk>",
|
||||||
"use_default_system_prompt": false,
|
"use_default_system_prompt": false,
|
||||||
"chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ system_message }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<s>user\\n' + content + '</s>\\n<s>assistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '</s>' + '\\n' }}{% endif %}{% endfor %}"
|
"chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<s>system\n你是一个乐于助人的助手</s>\n' }}{% endif %}{{'<s>' + message['role'] + '\n' + message['content'] + '</s>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<s>assistant\n' }}{% endif %}"
|
||||||
}
|
}
|
||||||
|
|
@ -104,7 +104,7 @@ def train_tokenizer():
|
||||||
"tokenizer_class": "PreTrainedTokenizerFast",
|
"tokenizer_class": "PreTrainedTokenizerFast",
|
||||||
"unk_token": "<unk>",
|
"unk_token": "<unk>",
|
||||||
"use_default_system_prompt": False,
|
"use_default_system_prompt": False,
|
||||||
"chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ system_message }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<s>user\\n' + content + '</s>\\n<s>assistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '</s>' + '\\n' }}{% endif %}{% endfor %}"
|
"chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<s>system\n你是一个乐于助人的助手</s>\n' }}{% endif %}{{'<s>' + message['role'] + '\n' + message['content'] + '</s>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<s>assistant\n' }}{% endif %}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# 保存配置文件
|
# 保存配置文件
|
||||||
|
|
@ -122,14 +122,23 @@ def eval_tokenizer():
|
||||||
|
|
||||||
messages = [
|
messages = [
|
||||||
{"role": "system", "content": "你是一个优秀的聊天机器人,总是给我正确的回应!"},
|
{"role": "system", "content": "你是一个优秀的聊天机器人,总是给我正确的回应!"},
|
||||||
{"role": "user", "content": '你来自哪里?'},
|
{"role": "user", "content": '你来自哪里?'}
|
||||||
{"role": "assistant", "content": '我来自地球'}
|
|
||||||
]
|
]
|
||||||
new_prompt = tokenizer.apply_chat_template(
|
new_prompt = tokenizer.apply_chat_template(
|
||||||
messages,
|
messages,
|
||||||
tokenize=False
|
tokenize=False
|
||||||
)
|
)
|
||||||
|
add_generation_prompt_messages = [
|
||||||
|
{"role": "user", "content": '你来自哪里?'}
|
||||||
|
]
|
||||||
|
add_generation_prompt_new_prompt = tokenizer.apply_chat_template(
|
||||||
|
add_generation_prompt_messages,
|
||||||
|
tokenize=False,
|
||||||
|
add_generation_prompt=True
|
||||||
|
)
|
||||||
print(new_prompt)
|
print(new_prompt)
|
||||||
|
print("----------")
|
||||||
|
print(add_generation_prompt_new_prompt)
|
||||||
|
|
||||||
# 获取实际词汇表长度(包括特殊符号)
|
# 获取实际词汇表长度(包括特殊符号)
|
||||||
actual_vocab_size = len(tokenizer)
|
actual_vocab_size = len(tokenizer)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue