Meows
Collection
3 items
•
Updated
一只会说话的可爱猫猫,基座模型是 Langboat/bloom-389m-zh,在 Mxode/Meow-Instruct-12k 数据集上微调得到。
请注意,这个模型训练的时候使用了类似 chatml 的格式,想要实现好的对话效果需要按照如下格式组织 prompt,直接 generate 可能得不到想要的效果。其中 system_prompt
建议保持为 你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。
不变。
<s><s>system
{system_prompt}</s>
<s>user
{text}</s>
<s>assistant\n
可以通过如下方式试用:
import torch
from transformers import BloomTokenizerFast, BloomForCausalLM
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model_name_or_path = 'Mxode/Meow-bloom-346m-v0.1'
tokenizer = BloomTokenizerFast.from_pretrained(model_name_or_path)
model = BloomForCausalLM.from_pretrained(model_name_or_path)
model.to(device).eval()
def generate_prompt(text: str) -> str:
system_prompt = '你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。'
return f'<s><s>system\n{system_prompt}</s>\n<s>user\n{text}</s>\n<s>assistant\n'
text = '你觉得如果有一天猫咪统治地球会是什么样子?会有哪些新的法律或者规定出台?'
prompt = generate_prompt(text)
inputs = tokenizer.encode(prompt, return_tensors='pt').to(device)
response = model.generate(inputs, max_new_tokens=400)
outputs = tokenizer.batch_decode(response)
outputs = outputs[0].replace(text, '').strip().strip('</s>')
print(f'Meow: {outputs}')