最近我在用 ChatGPT 的时候,会一次性上传好几个文件,有时候甚至是几十个。
但它的回答总是偷手,漏掉核心信息。
如果我一次性让他解释多点儿,就开始“上上上上文已解释”。啊这。。。
更严重的是,我上传大点、复杂点的文件,生成的内容我一核对,发现遗漏很严重,但凡大点儿的项目都没法用。
我只能被迫去找能支持更长上下文的 AI,Gemini 是一个,不过它有个问题:使用上不方便。(懂得都懂)
好在最近智谱也上了 10M 长文本模型,大概 150~200万汉字,而且还是 API。
这下给我乐坏了!!赶紧上手试试!
要说长文本,肯定非小说莫属,我们最熟悉的莫过于四大名著了。
对于大模型来说,理解错综复杂的人物关系,跨章节内容生成,生成情节、人物和风格一致性的内容,每一个都是不小的挑战。
不过不让它续写,我准备给它上点难度,直接上“四大名著大乱炖”,不同人物在不同小说里混搭,生成新的故事,看看它如何接招。
#01
林黛玉倒拔垂杨柳
林黛玉自幼父母双亡,寄居贾府,与贾宝玉青梅竹马,却因种种误会和家族压力,两人之间情感波折不断。一日,贾宝玉因误会而与林黛玉争吵,气得林黛玉独自一人跑到花园中,坐在石凳上生闷气。
此时,正值春风拂面,园中柳树新绿,林黛玉抬头望去,只见一株垂杨柳枝叶繁茂,随风摇曳,宛如一位婀娜多姿的女子。林黛玉心中一动,想起了自己与贾宝玉的种种往事,不禁泪如雨下。
她站起身来,走到垂杨柳树下,伸出双手,用力一拔,只听“咔嚓”一声,那株垂杨柳竟然应声而倒,枝叶纷纷落下,随风飘散。林黛玉看着倒下的垂杨柳,心中五味杂陈,既是对贾宝玉的思念,也是对自己命运的无奈。
她默默站立在垂杨柳旁,任凭泪水滑落脸庞,良久才缓缓转身离去。从此,林黛玉心中更加苦闷,整日郁郁寡欢,直至病情加重,最终香消玉殒,留下了无尽的遗憾和哀愁。
执行代码和提示词如下:
本轮上下文将近 79 万 tokens,处理用时 3 分半。
林黛玉在故事中拔柳的动作,虽然与她平日柔弱形象不同。但直接让我联想到《水浒传》中的梁山好汉的壮烈行为,这写作手法也是够直接、够粗犷的。
#02
曹操元妃省亲
在曹操的府邸里,有一个名叫甄氏的女子,她聪慧贤淑,深明礼义。甄氏的丈夫甄士隐,是个性格恬淡,不以功名为念的乡宦。甄士隐膝下无儿,只有一女,乳名英莲,年方三岁。一日,炎夏永昼,甄士隐于书房闲坐,手倦抛书,伏几盹睡,不觉朦胧中走至一处,不辨是何地方。忽见那厢来了一僧一道,且行且谈。只听道人问道:“你携了此物,意欲何往?”那僧笑道:“你放心,如今现有一段风流公案正该了结,这一干风流冤家尚未投胎入世。趁此机会,就将此物夹带于中,使他去经历经历。”那道人道:“原来近日风流冤家又将造劫历世,但不知起于何处,落于何方?”那僧道:“此事说来好笑。只因当年这个石头,娲皇未用,自己却也落得逍遥自在,各处去游玩。一日来到警幻仙子处,那仙子知他有些来历,因留他在赤霞宫中,名他为赤霞宫神瑛侍者。他却常在西方灵河岸上行走,看见那灵河岸上三生石畔有棵绛珠仙草,十分娇娜可爱,遂日以甘露灌溉,这绛珠草始得久延岁月。后来既受天地精华,复得甘露滋养,遂脱了草木之胎,幻化人形,仅仅修成女体,终日游于离恨天外,饥餐秘情果,渴饮灌愁水。只因尚未酬报灌溉之德,故甚至五内郁结着一段缠绵不尽之意。常说:‘自己受了他雨露之惠,我并无此水可还。他若下世为人,我也同去走一遭,但把我一生所有的眼泪还他,也还得过了。’因此一事,就勾出多少风流冤家都要下凡,造历幻缘,那绛珠仙草也在其中。今日这石正该下世,我来特地将他仍带到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。趁此你我何不也下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。趁此你我何不也下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。趁此你我何不也下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。趁此你我何不也下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。趁此你我何不也下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。趁此你我何不也下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中将这蠢物交割清楚,待这一干风流孽鬼下凡,你我再去。如今有一半落尘,然犹未全集。”道人道:“果是好笑,从来不闻有‘还泪’之说。
本轮上下文约 66 万 tokens,处理用时 3 分钟。
曹操元妃省亲开篇结构就很类似《红楼梦》,原著中实际上是甄士隐与神僧、道人的对话情节。
在描述甄士隐的书房情景时,用到的是“炎夏永昼”“手倦抛书”等细节,非常细腻生动。这种描写其实对长篇小说很重要,能让故事更加易读性。谁不喜欢通俗易懂的文字呢?
#03
武松三打白骨精
武松三打白骨精的故事,将遵循《西游记》的章节故事结构,以孙悟空三打白骨精为例,创作一个全新的故事。
第一回:灵根育孕源流出 心性修持大道生
话说武松,自幼父母双亡,被哥哥武大郎收养。他聪明伶俐,武艺高强,却因长相丑陋,一直未娶。一日,武松在酒店喝酒,偶遇一位美貌女子,名叫白骨精。白骨精见武松孤身一人,便心生歹念,想要将他迷晕后杀害。武松机智过人,识破了白骨精的诡计,与她斗智斗勇,最终将其打败。
第二回:悟彻菩提真妙理 断魔归本合元神
武松打败白骨精后,名声大噪,被官府招安,成为了一名捕快。他一路降妖伏魔,为民除害。一日,他接到任务,要前往一个偏僻的山村,调查一起失踪案。到达山村后,他发现村民们都称这里有一位美貌女子,名叫白骨精,经常出现在村子里,害人无数。
第三回:四海千山皆拱伏 九幽十类尽除名
武松决心要将白骨精除掉,他深入调查,发现白骨精其实是一位千年狐狸精,修炼成人形,企图祸害人间。武松与白骨精展开了一场激战,最终凭借智慧和勇气,将白骨精打败,将其封印在山洞里。
第四回:官封弼马心何足 名注齐天意未宁
武松因功绩卓著,被官府封为“弼马温”之职,负责看守马匹。他虽然心中不悦,但依然尽心尽责,保护着官府的马匹,防止被盗。
第五回:乱蟠桃大圣偷丹 反天宫诸神捉怪
一日,武松在巡查时,发现一群妖怪正在偷盗官府的粮食。他勇敢地与妖怪们搏斗,最终将他们打败,保护了官府的财产。
第六回:观音赴会问原因 小圣施威降大圣
武松在一次执行任务时,意外地救了一位受伤的女子,名叫白骨精。他发现白骨精并非妖怪,而是被冤枉的女子。武松决定帮助她洗清冤屈,最终成功地将她救出。
第七回:八卦炉中逃大圣 五行山下定心猿
武松在保护官府的过程中,结识了一位名叫观音菩萨的神仙,观音菩萨告诉他,白骨精其实是一位修炼千年的狐狸精,她因为修炼过程中犯下了错误,才被冤枉。观音菩萨希望武松能够帮助白骨精改正错误,重新做人。
第八回:我佛造经传极乐 观音奉旨上长安
观音菩萨告诉武松,白骨精需要回到自己的家乡,向天庭承认错误,才能得到宽恕。武松决定帮助白骨精回到家乡,她感激不已,决定永远做一名好人。
第九回:袁守诚妙算无私曲 老龙王拙计犯天条
武松在帮助白骨精的过程中,结识了一位名叫袁守诚的老者,袁守诚是一位算命先生,他告诉武松,白骨精其实是一位善良的女子,只是因为被冤枉,才走上了错误的道路。袁守诚希望武松能够帮助白骨精重新做人。
第十回:二将军宫门镇鬼 唐太宗地府还魂
武松在保护官府的过程中,结识了一位名叫老龙王的妖怪,老龙王告诉武松,白骨精并非妖怪,而是被冤枉的女子。他希望武松能够帮助白骨精洗清冤屈,重新做人。
第十一章:还受生唐王遵善果 度孤魂萧�r正空门
武松在帮助白骨精的过程中,结识了一位名叫萧�r的老者,萧�r是一位道士,他告诉武松,白骨精并非妖怪,而是被冤枉的女子。他希望武松能够帮助白骨精洗清冤屈,重新做人。
第十二章:玄奘秉诚建大会 观音显象化金蝉
武松在帮助白骨精的过程中,结识了一位名叫观音菩萨的神仙,观音菩萨告诉他,白骨精其实是一位善良的女子,只是因为被冤枉,才走上了错误的道路。观音菩萨希望武松能够帮助白骨精改正错误,重新做人。
第十三章:陷虎穴金星解厄 双叉岭伯钦留僧
武松在帮助白骨精的过程中,结识了一位名叫伯钦的猎户,伯钦告诉武松,白骨精并非妖怪
本轮上下文将近 60 万 tokens,处理用时 2分半。
看完武松三打白骨精,我第一感受是,这章节结构真清晰,这效果还得是长文本模型。
从第一回到第十三回,每一回都有对应的主题和情节发展,GLM-4-Long 成功借鉴和理解了原著《西游记》的叙事风格。
而在武松从打败白骨精开始,逐步经历了被招安、除妖、与神仙结识等一系列事件,每个事件都有因果关系,情节前后衔接十分顺畅。
#04
猪八戒温酒斩华雄
话说三国时期,董卓专权,天下大乱。一日,董卓欲起兵攻打西凉,于是召集众将商议。华雄应声而出,自告奋勇,愿为先锋,誓要为董卓效力。董卓大喜,遂命华雄为主将,领兵西征。
华雄领兵西征,一路势如破竹,所向披靡,连斩数将。然而,在攻打一座城池时,华雄遭遇了前所未有的强敌——猪八戒。
猪八戒是唐僧的徒弟,因犯错被贬下凡间,转世为猪。他本是一只野猪,却因机缘巧合,拜唐僧为师,学得了一些法术。这次,猪八戒得知华雄领兵西征,于是心生一计,决定趁机除掉华雄,以报唐僧之恩。
猪八戒化身为一名勇士,来到华雄军中。华雄见猪八戒英姿飒爽,武艺高强,便将其留在身边,任命他为先锋。猪八戒暗自窃喜,他知道,这是他除掉华雄的最佳时机。
一日,华雄率军攻打一座城池,城池守军顽强抵抗,华雄久攻不下,心中烦躁。猪八戒见状,心生一计,他故意引诱华雄出战,并假装不敌,引华雄追击。华雄见猪八戒狼狈逃窜,便毫不留情地追杀起来。
猪八戒一路逃跑,一路引华雄深入险境。突然,猪八戒停住脚步,转身回击。华雄大惊,不及防备,被猪八戒一记重拳打倒在地。猪八戒见华雄倒地,便拿起手中的温酒,浇在华雄的脸上。华雄痛苦地挣扎着,猪八戒却毫不留情,他拿起酒葫芦,将华雄的伤口灌满温酒。华雄疼痛难忍,最终因伤势过重,气绝身亡。
猪八戒将华雄的尸体拖回军营,众人见华雄惨死,无不震惊。猪八戒却面无惧色,他拿起酒葫芦,仰天大笑,然后转身离去。众将见猪八戒如此嚣张,心中既愤怒又恐惧,却又无可奈何。
猪八戒除掉华雄后,回到唐僧身边,将此事告知唐僧。唐僧听后,感慨万分,他深知猪八戒的苦衷,也感激猪八戒为他除去了一块心头大石。从此,唐僧更加器重猪八戒,将他视为亲信。
猪八戒温酒斩华雄的故事,在后世广为流传。人们被猪八戒的机智和勇敢所折服,也感叹命运的奇妙。
本轮上下文将近 53 万 tokens,处理用时 2 分钟。
在重组《西游记》和《三国演义》元素时,能够将猪八戒和华雄的关系自然引入到新的故事情境中。这表明模型在处理不同来源的文本素材时,能够有效地融合并生成新的情节。
像处理《三国演义》这样 50 万字以上的小说时,GLM-4-Long 仍然能记住不少东西,真是深得我心。
最后
总之,在四个故事中,GLM-4-Long 处理时不会丢失关键人物的行为特征,同时还能保持一定的语境一致性和逻辑连贯性。像在故事“林黛玉倒拔垂杨柳”中,黛玉突然有了《水浒传》中英雄人物的举动,对于这种反差也能适应。
最终测试下来,智谱的长文本模型效果确实很不错,四大名著分别都能完整读完,也能模仿的惟妙惟肖。尤其在读取、理解和重新组合信息,以生成新的故事这方面深得我心。
要知道,这可都是大几十万 tokens 的小说啊!不仅如此,GLM-4-Long 也很有优势,它的输入价格相差不大,输出价格则仅为一半左右。
(PS:Gemini 1.5 Flash 8月12日 API 价格更新)
相比以往,传统模型在处理长文本时,往往会因为上下文窗口有限,丢失重要信息,导致理解不连贯。甚至根本处理不了庞大的信息。
如果之后再处理大量的文件的时候,像长篇小说、大型文档、历史记录等,完全不用担心这些文件,也不用担心出现遗漏的情况,或者够不够读了。
最后,我计算了四大名著的 tokens 数,几乎每一本都在 50 万 tokens 以上,最多的像《水浒传》甚至将近 80 万 tokens。像这样动辄“大几十万”的长度,尤其是 API 的,目前只有智谱能完成,这也是它的优势所在。
参考资料:
[1] 代码部分采用赛博禅心开源框架,Gtithub 地址:
https://github.com/CocoSgt/LLMs_info
[2] 智谱长文本模型接口文档:https://bigmodel.cn/dev/api#glm-4
[3] GLM-4-Long 体验中心:https://bigmodel.cn/console/trialcenter
0 条评论
请「登录」后评论