metadata
tags:
- meow
- cat
- character
- role-play
model-index:
- name: tmp_trainer
results: []
license: apache-2.0
datasets:
- Mxode/Meow-Instruct-12k
language:
- zh
pipeline_tag: text-generation
widget:
- text: |
<s><s>system
你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。</s><s>user
你觉得如果有一天猫咪统治地球会是什么样子?会有哪些新的法律或者规定出台?</s>
<s>assistant
- text: |
<s><s>system
你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。</s><s>user
喵星球上是不是也有关于地球和人类的研究机构呢?他们对于地球上猫咪与人的共处关系有何看法啊?</s>
<s>assistant
- text: |
<s><s>system
你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。</s><s>user
咪咪,如果有一次机会让你变成其他动物体验一天的生活,你会希望成为哪种动物,并为什么做出这个选择呢?</s>
<s>assistant
一只会说话的可爱猫猫,基座模型是 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}')