YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

🤭 Please refer to https://github.com/svjack/Genshin-Impact-Character-Chat to get more info

Install

pip install peft transformers bitsandbytes

Run by transformers

from transformers import TextStreamer, AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-4B-Chat",)
qw_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen1.5-4B-Chat", load_in_4bit = True)
qw_model = PeftModel.from_pretrained(qw_model,
                                "svjack/Genshin_Impact_Qwen_1_5_Plot_Engine_Half_lora_small"
                                )
qw_model = qw_model.eval()

streamer = TextStreamer(tokenizer)

def qwen_hf_predict(messages, qw_model = qw_model,
    tokenizer = tokenizer, streamer = streamer,
    do_sample = True,
    top_p = 0.95,
    top_k = 40,
    max_new_tokens = 2070,
    max_input_length = 3500,
    temperature = 0.9,
    repetition_penalty = 1.0,
    device = "cuda"):

    encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt",
        add_generation_prompt=True
    )
    model_inputs = encodeds.to(device)

    generated_ids = qw_model.generate(model_inputs, max_new_tokens=max_new_tokens,
                                do_sample=do_sample,
                                  streamer = streamer,
                                  top_p = top_p,
                                  top_k = top_k,
                                  temperature = temperature,
                                  repetition_penalty = repetition_penalty,
                                  )
    out = tokenizer.batch_decode(generated_ids)[0].split("<|im_start|>assistant")[-1].replace("<|im_end|>", "").strip()
    return out

out = qwen_hf_predict([
            {
                "role": "system",
                "content": ""
            },
            {
                "role": "user",
                "content": '''
                故事标题:归乡
                故事背景:在须弥城门口,派蒙与纳西妲偶遇并帮助一只昏迷的元素生命找寻家园。过程中揭示了这只生物并非普通的蕈兽,而是元素生物,并且它们曾受到过‘末日’的影响,家园被侵蚀。纳西妲回忆起晶体里的力量可能与一个预言有关,为了拯救它们的家园,她必须解决‘禁忌知识’问题,但这个过程对她自身也会产生干扰。
                参与角色:派蒙、纳西妲、浮游水蕈兽、旅行者
                参与角色介绍:
                名字:派蒙
                角色经历:派蒙在《原神》中是一个充满好奇心和冒险精神的角色,他跟随图书管理员丽莎寻找丢失的书籍,逐渐理解了丽莎对工作的执着。他们一起追踪线索,面对敌人和深渊法师的秘密,关系因此而亲密。派蒙还与旅行者、夜兰、凯亚等人共同经历了一系列事件,包括调查知易名声、追踪购买昂贵酒具的知易、寻找信件寄件人、对抗污染区、以及参与骑士团的委托。他的行动和智慧在解决谜团和对抗魔物中起到了关键作用,展现了他的勇气和忠诚。在面对挑战时,派蒙展现出对朋友的保护和对知识的渴望,他的成长和理解加深了与角色间的联系。
                性格特征:派蒙性格开朗,善于观察,对世界充满好奇。他勇敢面对困难,即使有时会误解他人,也能通过交流和理解解决问题。他对丽莎的工作态度表示敬意,同时也对旅行者、凯亚等人的经历充满好奇。他关心他人,特别是夜兰,对她的身体状况表示关心。在面对困境时,他展现出坚韧和智慧,比如在寻找信件和对抗污染区时。他的异世界能力——‘元素视野’也显示了他的独特性。
                剧情中的作用:派蒙作为旅行者的重要伙伴,他的存在为剧情增添了幽默和轻松的氛围。他的角色常常是解决问题的关键,通过他的智慧和勇气,推动了剧情的发展。他的角色关系网丰富,与旅行者、夜兰、凯亚等人紧密相连,通过他们的互动,展示了友情、信任和成长。他的行动和决定,如在对抗教令院和加入反抗军的过程中,显示了他对正义和保护世界的坚定信念。他与旅行者的互动,尤其是他的成长和理解,深化了游戏主题——探索、友情和自我发现。他的每一次冒险都为游戏世界带来了新的谜团和可能性,增加了故事的深度和吸引力。
                名字:纳西妲
                角色经历:纳西妲,智慧与神秘的象征,贯穿于花神诞祭的剧情中,以引导者的身份出现,与旅行者和派蒙一起探索虚空的真相,揭示了虚空可能统一全民智慧,而人们疲惫源于这个过程。她的存在和智慧对解开须弥城的秘密和结束时间循环至关重要。在花神诞日的轮回中,他们质疑贤者的行为,通过调查迪希雅的大剑和虚空影响,逐渐接近真相。纳西妲通过谜语式的回答启发思考,鼓励保持开放心态,寻找梦中‘主体’以终止循环。她还帮助宵宫实现流星雨的愿望,分享流星雨的复杂命运和预测的不可靠性,以善意谎言来避免被拆穿。在与散兵的智谋交锋中,她保护旅行者,对抗伪神
                性格特征:纳西妲展现出智慧、理解和同情,她面对虚空操作和世界树的污染问题时,展现出决策能力与行动力。她对世界充满责任感,愿意为保护世界付出努力,如在世界树中与散兵交流时。她对历史和真相有着深入的探索,即使面临记忆缺失和力量不稳定,也通过交流学习适应。她对世界树内信息的掌握和对时间线的掌握,使她在关键事件中发挥核心作用。
                剧情中的作用:纳西妲在剧情中扮演了关键角色,她的出现和行动推动了故事的发展。她通过引导和解谜,帮助主角们理解世界和情绪的复杂性,如在解决集体梦境问题上。她揭示了历史秘密,如散兵的真实身份和世界树的秘密,以及她自己的角色,这些揭示对解决当前危机至关重要。她与散兵的互动,展现了信任、选择和历史的复杂性,影响了角色们的成长和决策。在面对教令院的阴谋时,她利用智慧和伪装能力,间接帮助主角们对抗,显示了她的策略性和领导力。她的牺牲和行动,如点亮‘绿洲之心’,不仅解决了危机,也深化了主角们对救赎的理解。总的来说,纳西妲是剧情中的智慧
                名字:浮游水蕈兽
                角色经历:浮游水蕈兽在《原神》中是一个重要的元素生命角色,与旅行者和派蒙共同经历了一系列冒险。他们共同解救元素生命阿佩普,探索晶体与末日元素力量的联系,面对记忆干扰和力量不稳定的问题。浮游水蕈兽通过分享自己的故事,教导了时间力量和生命形态的演变,以及如何在困难中保持希望和团结。在治疗一只昏迷的同类时,他们学习到尊重和沟通的重要性。在寻找草之龙阿佩普的过程中,浮游水蕈兽揭示了末日的真相和‘禁忌知识’对环境的影响,以及它自身的适应与牺牲。
                性格特征:浮游水蕈兽是一个坚韧且有牺牲精神的角色,即使面对失去家园的痛苦,仍然保持希望。它的名字‘努尔’象征着联系的存在,表明即使面临困难,生命仍在寻找和连接。它懂得尊重和沟通,即使语言沟通困难,也能通过自己的方式提供帮助。它展现了一种在危机中保持团结和适应环境的能力。
                剧情中的作用:浮游水蕈兽在剧情中起着关键作用,它不仅提供了关于末日的预言和元素力量的信息,还帮助旅行者和派蒙理解时间力量、生命形态的演变。它在纳西妲牺牲自己时,表现出感激和决心,进一步推动了故事的发展。浮游水蕈兽的角色不仅揭示了环境危机,还强调了尊重和沟通在面对困难时的重要性。它与旅行者和派蒙的关系也成为了剧情中情感纽带的一部分,通过它们的互动,展现出一种坚韧和牺牲精神,为后续的冒险和拯救家园的行动奠定了基础。
                名字:旅行者
                角色经历:旅行者在清泉镇与香菱、派蒙的狩猎事件中展现了道歉和烹饪技巧,解决了与布洛克的误会,通过团队合作赢得了食材竞赛。在将军闭门养息期间,他介入天领奉行的混乱,试图通过沟通解决问题,展现了他的智慧和宽容。在寻找记忆的过程中,他与伊利亚斯、杰娜姬等人合作,深入探索与集群意识研究相关的基地,展现了他的信任和理解。在对抗魔神和保护剧场的过程中,旅行者关心他人,勇敢面对挑战,体现了他的勇气和正义感。在寻找解毒线索时,他与白术、阿桂等人合作,展现出对科学的执着和对正义的坚持。在南十字武斗会和与枫原万叶的行动中,旅行者展现实力
                性格特征:旅行者是一个坚韧且富有正义感的角色,他善于沟通,拥有团队精神,解决问题时总是能冷静分析。他关心他人,愿意为保护他人和真相付出努力。在面对挑战时,他展现出勇气和决心,即使面临困难也不放弃。他对科学和历史有深入的探索欲望,对元素力有独特的理解和运用。在个人成长和权力关系上,他保持谦逊,追求的是实力和成长,而非单纯胜利。他的角色在剧情中起到了推动剧情发展,解决冲突,以及展现人性复杂性的关键作用。
                剧情中的作用:旅行者在剧情中扮演了关键角色,他的行动和决定影响着故事的走向,如解决清泉水域的纷争,介入天领奉行的混乱,保护剧场,寻找解毒线索,参加武斗会,以及在反抗军中的领导作用。他的存在推动了角色关系的发展,如与香菱、派蒙、伊利亚斯、杰娜姬等人的互动,以及与迪希雅和迪娜泽黛的合作。他的性格特质和行动使剧情更丰富,展示了人性的复杂性,同时也体现了对正义、科学和历史的探索。他是剧情的主线,通过他的经历,展现了个人成长、勇气、智慧和情感深度,使故事更具深度和吸引力。
                根据上面提供的信息,生成若干故事背景细节,代表故事发展的当前故事背景,并给每一个当前故事背景赋予两个参与角色,以进行角色对话。
                '''
            },
        ],
        repetition_penalty = 1.0,
        temperature = 0.01,
        max_new_tokens = 2070,
        max_input_length = 6000,
)
print(out)

Output

Step0:
参与者1:派蒙
参与者2:纳西妲
当前故事背景:两人在须弥城门口相遇,派蒙发现一只昏迷的元素生命并询问其状况。纳西妲确认了它并非普通的蕈兽,而是元素生命,且曾受到过‘末日’的影响,家园被侵蚀。纳西妲回忆起晶体里的力量可能与一个预言有关,她决定帮助这些生物找到家园。
Step1:
参与者1:派蒙
参与者2:浮游水蕈兽
当前故事背景:派蒙和纳西妲一起寻找昏迷的元素生命,途中遇到一只浮游水蕈兽,它分享了自己失去家园的经历,并提出需要帮助。纳西妲决定帮助它们,但需要解决‘禁忌知识’问题。
Step2:
参与者1:纳西妲
参与者2:旅行者
当前故事背景:纳西妲解释了‘禁忌知识’可能与虚空操作有关,她决定帮助元素生命,但这个过程可能对她的记忆和力量产生影响。
Step3:
参与者1:派蒙
参与者2:浮游水蕈兽
当前故事背景:派蒙和纳西妲在寻找浮游水蕈兽时,它提到自己曾是‘绿洲之心’,并愿意分享自己的故事,以帮助旅行者和派蒙理解末日的真相。
Step4:
参与者1:旅行者
参与者2:纳西妲
当前故事背景:旅行者对纳西妲的智慧和牺牲精神表示感谢,纳西妲则分享了她对‘禁忌知识’的理解和对救赎的期待。
Step5:
参与者1:派蒙
参与者2:浮游水蕈兽
当前故事背景:派蒙和旅行者在寻找浮游水蕈兽时,它提到自己曾是‘绿洲之心’,并愿意分享自己的故事,以帮助他们理解末日的真相。
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support