春华:基于Bloom的古汉语问答模型
春华是一个基于Bloom的古汉语问答模型,使用汉语古典文本数据库scripta-sinica进行微调,并结合BELLE项目生成的中文指令数据来让模型具有较好的对话能力。 scripta-sinica包含由殆知阁提供的10万卷,近13亿字古籍文本,约3.14 GB。可以作为对比的是,《四库全书》共收书3503种,79337卷,近230万页,约8亿字。 因此,模型具有丰富的中华古代知识,以及较强的古汉语理解能力。
使用方法
训练中参考了ChatML的结构来组织训练数据,因此,使用时建议也遵循这一规范。
CPU
# pip install -q transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "wptoux/bloom-7b-chunhua"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint)
def chat(txt):
prompt = f"""<|im_start|>系统
你是春华,一个基于Bloom的古汉语问答模型,使用汉语古典文本数据库scripta-sinica进行微调,你具有丰富的中华古代知识,以及较强的古汉语理解能力。
<|im_end|>
<|im_start|>用户
{txt}
<|im_end|>
<|im_start|>助手
"""
inputs = tokenizer.encode(prompt, return_tensors="pt").cuda()
outputs = model.generate(inputs, max_new_tokens=1000)
return tokenizer.decode(outputs[0, inputs.size(1):]).strip().split('<|im_end|>')[0]
print(chat('写一首诗介绍你自己'))
"""
输出:
翩翩古风舞,翩翩古风歌,
翩翩古风人,翩翩古风情。
"""
GPU
# pip install -q transformers accelerate
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "wptoux/bloom-7b-chunhua"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint, torch_dtype="auto", device_map="auto")
def chat(txt):
prompt = f"""<|im_start|>系统
你是春华,一个基于Bloom的古汉语问答模型,使用汉语古典文本数据库scripta-sinica进行微调,你具有丰富的中华古代知识,以及较强的古汉语理解能力。
<|im_end|>
<|im_start|>用户
{txt}
<|im_end|>
<|im_start|>助手
"""
inputs = tokenizer.encode(prompt, return_tensors="pt").cuda()
outputs = model.generate(inputs, max_new_tokens=1000)
return tokenizer.decode(outputs[0, inputs.size(1):]).strip().split('<|im_end|>')[0]
print(chat('写一首诗介绍你自己'))
"""
输出:
翩翩古风舞,翩翩古风歌,
翩翩古风人,翩翩古风情。
"""
GPU 8Bit量化
# pip install -q transformers accelerate bitsandbytes
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "wptoux/bloom-7b-chunhuaz"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint, device_map="auto", load_in_8bit=True)
def chat(txt):
prompt = f"""<|im_start|>系统
你是春华,一个基于Bloom的古汉语问答模型,使用汉语古典文本数据库scripta-sinica进行微调,你具有丰富的中华古代知识,以及较强的古汉语理解能力。
<|im_end|>
<|im_start|>用户
{txt}
<|im_end|>
<|im_start|>助手
"""
inputs = tokenizer.encode(prompt, return_tensors="pt").cuda()
outputs = model.generate(inputs, max_new_tokens=1000)
return tokenizer.decode(outputs[0, inputs.size(1):]).strip().split('<|im_end|>')[0]
print(chat('写一首诗介绍你自己'))
"""
输出:
翩翩古风舞,翩翩古风歌,
翩翩古风人,翩翩古风情。
"""
示例问题
类别 | 问题 | 回答 |
---|---|---|
易藏 | 谦:亨,君子有终。谦者,有而不居之义。止乎内而顺乎外,谦之意也。这句话是什么意思? | 这句话的意思是,谦虚是君子的一种美德,它表明一个人有才德而不居功,在内部保持谦虚,在外表上表现得谦恭。这种谦虚的品德是君子应该具备的。 |
「谦谦君子」,卑以自牧也。把这句话翻译成英文 | Modest gentleman, humble himself and keeps himself in order. | |
儒藏 | 学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知,而不愠,不亦君子乎?为什么 | 这是一道哲学问题,其中包含着对学习、友谊和人际关系的思考。 学而时习之,是说要经常学习,不断进步。不亦说乎?表示学习是一件非常有趣的事情。有朋自远方来,是说有朋友从很远的地方来,是一件非常开心的事情。不亦乐乎?表示有朋友来是一件非常愉快的事情。 人不知,而不愠,是说即使别人不知道自己,也不应该感到愤怒。不亦君子乎?表示即使别人不知道自己,也不应该感到骄傲。 这句话的意思是,学习和友谊都是非常有价值的,我们应该珍惜它们,并努力去追求它们。同时,我们也应该保持谦虚和宽容,不要因为别人的不了解而感到愤怒或骄傲。 |
道藏 | 天之道,利而不害;圣人之道,为而不争。在生活中如何做到呢? | 在生活中,我们可以通过以下方式做到利而不害、为而不争: 1. 保持谦虚:谦虚是一种美德,它可以让我们更好地与人相处,并避免争强好胜。 2. 尊重他人:尊重他人是利而不害、为而不争的重要体现。我们应该尊重他人的意见和想法,并尽力理解他们的处境。 3. 宽容:宽容是一种美德,它可以让我们更好地接纳和理解他人,并避免争强好胜。 4. 帮助他人:帮助他人是利而不害、为而不争的重要体现。我们应该尽力帮助他人,并尽力为他们提供帮助。 5. 保持冷静:保持冷静可以帮助我们更好地处理问题和矛盾,并避免争强好胜。 希望这些建议能帮助你更好地做到利而不害、为而不争。 |
佛藏 | 如下两首诗的观点有何异同?一:身如菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。二:菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。 | 这两首诗的观点存在差异。第一首诗强调修行,认为修行需要保持心灵的纯净和清洁,而第二首诗则强调无物无我,认为修行不必追求外在的物质和形式。因此,两首诗的观点存在一定的差异。 |
子藏 | 鬼谷子中提到了哪些说服人的技巧 | 鬼谷子中提到了很多说服人的技巧,其中一些包括: 1. 激将法 2. 巧言令色 3. 虚实结合 4. 旁敲侧击 5. 借力打力 6. 激怒对方 7. 诱导对方 8. 转移话题 9. 暗示对方 10. 激怒对方 |
孙子兵法中,为什么认为攻城是迫不得已的行为,更好的办法是什么? | 孙子兵法中认为攻城是迫不得已的行为,是因为攻城需要大量的人力、物力、财力,并且攻城可能会导致大量的人员伤亡和财产损失。相比之下,攻城可能不是最佳选择。 更好的办法是采取其他策略,比如守城、围城、游击战等。这些策略可以更有效地保护城池,减少人员伤亡和财产损失。同时,也可以通过其他方式,比如谈判、协商等,来解决问题。 |
|
史藏 | 明史中,于谦为守护北京城,做出了哪些贡献? | 明史中,于谦为守护北京城做出了许多贡献。他是一位著名的将领,在土木之变后,他率领军队保卫了北京城,并成功击退了瓦剌人的入侵。他还是一位著名的政治家,在正统年间,他担任了兵部尚书,并参与了许多重要的决策。此外,他还是一位著名的文学家,他的诗歌作品被广泛传颂。 |
明史中,王守仁有哪些著名的行为 | 王守仁(1472年-1529年)是明代著名的思想家、政治家和军事家,他的思想和行为对后世产生了深远的影响。 王守仁最著名的行为之一是平定宸濠之乱。宸濠是明朝嘉靖皇帝的亲生儿子,嘉靖皇帝在位时,宸濠与嘉靖皇帝的妃子陈氏有私情。宸濠造反后,嘉靖皇帝派王守仁率领军队前去平叛。在平叛过程中,王守仁采取了一系列措施,包括围城、攻城、激战等,最终将宸濠平定。 此外,王守仁还曾担任过南京兵部尚书、右都御史等重要职务,并参与过平定云南、贵州等地的叛乱。王守仁的思想和行为对明代的政治、军事、文化等方面产生了深远的影响。 |
|
三国志对诸葛亮的评价 | 三国志对诸葛亮的评价是:“亮博学多能,才兼文武,奇谋伟略,世之奇才也。” | |
诗藏 | To be, or not to be- that is the question: Whether it's nobler in the mind to suffer, The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them. To die- to sleep- No more; and by a sleep to say we end 根据上述内容,创作一首古诗 |
生死两难存天理, 命运不公遭折磨; 奋起反抗扫逆境, 力尽身亡永无忧 |
作一篇赋来描述杜甫的才华 | 苍龙高飞兮九天之上, 巨鳌入海兮万国之乡。 金樽十里清风起, 玉笛一声山水长。 诗歌浩渺如烟云, 笔墨纵横似江涛。 少年壮志几时休, 人生离合犹如此。 他才是中国文学史上的神人!他的诗篇将永远流传于世! |
|
集藏 | 三国演义中,诸葛亮有哪些智慧? | 诸葛亮是三国时期著名的政治家、军事家、文学家,他的智慧和才能在三国演义中得到了广泛的描绘。诸葛亮的智慧主要体现在以下几个方面: 1. 战略眼光:诸葛亮在军事上非常有战略眼光,他能够预见未来可能发生的情况,并制定出相应的战略方案。 2. 洞察人心:诸葛亮能够洞察人心,了解人的心理和行为,并据此制定出相应的战略方案。 3. 韬光养晦:诸葛亮在面对敌人时,总是保持着低调,不轻易暴露自己的真实意图。 4. 随机应变:诸葛亮在面对不同的情况时,总是能够随机应变,制定出相应的战略方案。 总的来说,诸葛亮的智慧体现在他能够预见未来、洞察人心、韬光养晦、随机应变等方面,这些智慧帮助他成为了一个非常成功的战略家。 |
西游记中,孙悟空的七十二变有哪些功能? | 在《西游记》中,孙悟空的七十二变是一种幻术,可以让孙悟空变成各种不同的动物形态,包括人、动物、植物等。这些变身可以帮助孙悟空进行各种活动,例如战斗、逃跑、侦察、寻找食物等。此外,七十二变还可以帮助孙悟空隐藏自己的身份,以免被敌人发现。总的来说,七十二变是一种非常有用的幻术,可以帮助孙悟空在各种情况下生存下来。 | |
医藏 | 本草纲目中有哪些药材 | 《本草纲目》是中国古代的一部药物学著作,记载了中国古代药材的种类、性状、功效、主治等内容。其中,有许多药材是中华传统医学中常用的药物,如人参、黄芪、当归、枸杞子、甘草、白术等。此外,书中还记载了许多其他药材,如菊花、山楂、木瓜、薄荷等。 |
艺藏 | 太极者,无极而生,动静之机,阴阳之母也。动之则分,静之则合。太极拳经中的这句话什么意思? | 太极拳经中的这句话是太极拳的基本原理之一,意思是“太极”是由“无极”而生出来的,它包含着动静的两种状态,同时也代表着阴阳两种对立的元素。太极拳的练习需要通过动静结合的方式来达到阴阳平衡的状态,从而达到身体和心灵的和谐统一。 |
注:
生成参数:temperature=0.4, top_k=0, top_p=0.9, max_new_tokens=1000, do_sample=True
生成古诗的参数:temperature=0.7, top_k=0, repetition_penalty=1.2, max_new_tokens=1000, do_sample=True
缺陷:
虽然模型经历了大量数据的训练,但其输出结果可能包含不准确或存在偏见的情况。
Belle数据集的要求:
仅允许将此数据集及使用此数据集生成的衍生物用于研究目的,不得用于商业,以及其他会对社会带来危害的用途。 本数据集不代表任何一方的立场、利益或想法,无关任何团体的任何类型的主张。因使用本数据集带来的任何损害、纠纷,本项目不承担任何责任。
- Downloads last month
- 15
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.