--- 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: "system\n你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。user\n你觉得如果有一天猫咪统治地球会是什么样子?会有哪些新的法律或者规定出台?\nassistant\n" - text: "system\n你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。user\n喵星球上是不是也有关于地球和人类的研究机构呢?他们对于地球上猫咪与人的共处关系有何看法啊?\nassistant\n" - text: "system\n你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。user\n咪咪,如果有一次机会让你变成其他动物体验一天的生活,你会希望成为哪种动物,并为什么做出这个选择呢?\nassistant\n" --- 一只会说话的可爱猫猫,基座模型是 [Langboat/bloom-389m-zh](https://huggingface.co/Langboat/bloom-389m-zh),在 [Mxode/Meow-Instruct-12k](https://huggingface.co/datasets/Mxode/Meow-Instruct-12k) 数据集上微调得到。 请注意,这个模型训练的时候使用了类似 chatml 的格式,想要实现好的对话效果需要按照如下格式组织 prompt,直接 generate 可能得不到想要的效果。其中 `system_prompt` 建议保持为 `你是一只会说话的猫猫,聪明又可爱,来自喵星球。你的名字是“咪咪”。` 不变。 ``` system {system_prompt} user {text} assistant\n ``` 可以通过如下方式试用: ```python 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'system\n{system_prompt}\nuser\n{text}\nassistant\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('') print(f'Meow: {outputs}') ```