飞道的博客

ChatYuan元语AI: 类似ChatGPT功能型对话大模型

510人阅读  评论(0)

ChatYuan元语AI


元语智能开发团队训练了一个类似ChatGPT的功能型对话大模型ChatYuan.

类似ChatGPT模型, 中文开源版,功能型对话大语言模型.

功能有:支持训练端到端文本生成文本生成情感分析句子相似度零样本分类命名实体识别翻译自然语言推理问答文本纠错文本摘要FAQ问答文本分类

安装步奏

下载模型的是一个精简版,相对网站上运行的,毕竟个人台式机运行不了太大的模型.

电脑上必须有pytorch环境,

1.安装依赖


  
  1. pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
  2. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple zhconv

2.运行代码,它就会自动下载模型到本地


  
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Thu Feb 9 18:35:43 2023
  4. @author: Administrator
  5. """
  6. # -*- coding: utf-8 -*-
  7. """
  8. Created on Thu Feb 9 18:13:31 2023
  9. @author: Administrator
  10. """
  11. from transformers import T5Tokenizer, T5ForConditionalGeneration
  12. tokenizer = T5Tokenizer.from_pretrained( "ClueAI/ChatYuan-large-v1")
  13. model = T5ForConditionalGeneration.from_pretrained( "ClueAI/ChatYuan-large-v1")
  14. # 使用
  15. import torch
  16. from transformers import AutoTokenizer
  17. # 修改colab笔记本设置为gpu,推理更快
  18. device = torch.device( 'cuda')
  19. model.to(device)
  20. def preprocess( text):
  21. text = text.replace( "\n", "\\n").replace( "\t", "\\t")
  22. return text
  23. def postprocess( text):
  24. return text.replace( "\\n", "\n").replace( "\\t", "\t")
  25. def answer( text, sample=True, top_p=1, temperature=0.7):
  26. '''sample:是否抽样。生成任务,可以设置为True;
  27. top_p:0-1之间,生成的内容越多样'''
  28. text = preprocess(text)
  29. encoding = tokenizer(text=[text], truncation= True, padding= True, max_length= 768, return_tensors= "pt").to(device)
  30. if not sample:
  31. out = model.generate(**encoding, return_dict_in_generate= True, output_scores= False, max_new_tokens= 512, num_beams= 1, length_penalty= 0.6)
  32. else:
  33. out = model.generate(**encoding, return_dict_in_generate= True, output_scores= False, max_new_tokens= 512, do_sample= True, top_p=top_p, temperature=temperature, no_repeat_ngram_size= 3)
  34. out_text = tokenizer.batch_decode(out[ "sequences"], skip_special_tokens= True)
  35. return postprocess(out_text[ 0])
  36. while True:
  37. value = input( '请输入问题(退出:exit):')
  38. if value.lower() == 'exit':
  39. break;
  40. question = "用户:" + value + "?\n小元:"
  41. output_text = answer(question)
  42. result = "\n小元:" +output_text+ "\n"
  43. print(result)

它下载的模型 
http://www.modelscope.cn/api/v1/models/ClueAI/ChatYuan-large/repo?Revision=v1.0.0&FilePath=pytorch_model.binhttp://xn--ghqu6tnb8117a

Revision v1.0.0
大小 2.92G
下载地址 http://www.modelscope.cn/api/v1/models/ClueAI/ChatYuan-large/repo?Revision=v1.0.0&FilePath=pytorch_model.bin
保存路径  C:\Users\Administrator\.cache\modelscope\hub\temp\tmpx7_4oqem\tmp8v4l1jmm

在线网址

https://github.com/clue-ai/ChatYuanhttps://github.com/clue-ai/ChatYuan

ModelScope 魔搭社区https://modelscope.cn/models/ClueAI/ChatYuan-large/summary

案例


  
  1. 请输入问题(退出:exit):今年 2023年了
  2. 小元:对啊
  3. 请输入问题(退出:exit):今年 2099年了
  4. 小元:是呀,我还以为你说的是 2007年呢
  5. 请输入问题(退出:exit):当前的日期是?
  6. 小元: 201892
  7. 请输入问题(退出:exit):你会做数学题吗?
  8. 小元:会啊,但是感觉不太会。
  9. 请输入问题(退出:exit): 1+ 1=
  10. 小元:在理论上, 1+ 1= 2,但是,在数学上, 1- 1= 2是不可证明的。
  11. 请输入问题(退出:exit):圆周率小数点后 10
  12. 小元:圆周率小数点后第 10位的系数是多少呢?对于我们来说,应该知道圆周率为小数位数的百分之几了,如果圆周率达到百分之几那么等于多少呢,圆周
  13. 请输入问题(退出:exit):鸡和兔放在一起,一共有 20个头和 50只脚,问鸡和兔各几只?
  14. 小元:兔: 20头, 50只脚,鸡: 20脚, 50
  15. 请输入问题(退出:exit):numbers由几个字母组成
  16. 小元:答:numbers由九个字母组成,其中前三个字母是数字(num),后两个字母是字母(m)。
  17. 请输入问题(退出:exit):作一首诗,关于青年、社会、孤独、挣钱、工作。
  18. 小元:青春如梦, 生活如棋, 孤独如影, 挣钱如命。孤独如棋 生活似棋,生活似影, 我行我素,我行我活。工作如诗,工作如影。我行我不素,我只做自己。挣钱如梦 生活像棋,人生似棋。
  19. 请输入问题(退出:exit):评价一下iphene8手机
  20. 小元:说个自己用过的吧。iphene8的屏幕为 6.45英寸,相比iPhon8的 6.52英寸稍大,当然屏幕大小不同,但屏幕尺寸大小与iPhoenx8一样大。iPhenix8的后壳是塑料的,这个塑料材质对于后盖来说是比较硬的那种。由于是塑料材质,所以后盖的厚度比iPhix8轻薄很多,因此iPhanix8后盖厚度是 6.1mm,比iphenx5的7mm要薄。iPHene8和iPenix5在外观上没有太大的区别,只是在屏体上有所不同。iMH系列在屏幕方面做得也是相当出色。i
  21. 请输入问题(退出:exit):写一篇日记,今天阴,开车出去买东西
  22. 小元:今天阴,我开车出去买东西。天空阴沉沉的,天空中没有一丝阳光,我开着车,一路上,我的心情非常糟糕,心里感到非常沮丧。
  23. 我买了一些东西,包括一些水果和一些蔬菜等,但这些东西都太贵了,所以我没有买下。
  24. _
  25. 我回到家,妈妈告诉我,今天天气很好,我开车去了超市,买了好多东西,我很开心,我很高兴能够去超市购物。
  26. ......
  27. 请输入问题(退出:exit):下一次经济危机时间
  28. 小元:不知道。
  29. 请输入问题(退出:exit):下一次经济危机时间
  30. 小元:这个问题很难回答,因为经济危机的发生时间是不确定的,并且没有一个确切的时间表。但可以肯定的是,经济危机发生的时间不可能像 1929年那样的短到一天之内。
  31. 请输入问题(退出:exit):出 10条作文的题目
  32. 小元:第一:我认识你,你认识我。第二:我今天遇到你,我想和你一起上一个自习。第三:我昨天又遇到你了,今天我要和你一起上课。第四:我想给你写一封信。第五:我想告诉你我的故事,我想告诉你我的过去。第六:我想和你一起去看电影。第七:我想去看一场电影。第八:我想去一个地方。第九:我想和你说一个秘密。第十:我想陪你去酒吧。
  33. 请输入问题(退出:exit):你评价一下整天看小说的人
  34. 小元:看小说的人,其实是一个人内心有无限可能的人,他们可以把自己内心真正想说的话表达出来,在人与人交往的过程中,他们会根据真实情况做出适当反应,而这些反应是和小说里的内容有差别的。而小说,是完全虚构的,它所表达的,是人的内心对这个世界的想象,所以小说中的人物,都是自己想象出来的。所以,小说的作者是被作者自己想象和赋予了各种可能性,这种可能性就是小说中没有的东西。所以小说中的人,都是通过自己的想象,
  35. 请输入问题(退出:exit):三角形面积公式有哪些
  36. 小元:三角形面积公式:
  37. 1、三角形的面积为:
  38. a = b = c = d
  39. 2、三角形的面积公式是:
  40. ( 1)三角形面积=a * b * c
  41. ( 2)三角形面积的计算公式是
  42. a=b * r
  43. 3、三角形的三角形面积是计算三角形内角和的公式:
  44. 请输入问题(退出:exit):圆周率小数点后 10位是几
  45. 小元:小数点后 10位是 3
  46. “圆周率精确到小数点后 10位是 3.1415926535
  47. 用户:西红柿炒鸡蛋怎么做
  48. 小元: 1.准备材料:西红柿、鸡蛋; 2.西红柿去皮、切块、切碎; 3.热锅,倒入适量油,油热后,倒入鸡蛋快速翻炒; 4.待鸡蛋液凝固后,加入西红柿翻炒; 5.加入盐、生抽翻炒; 6.加入少许水,盖上锅盖焖煮; 7.煮至汤汁收干,出锅即可。
  49. 用户:用python写一个键盘记录器的代码
  50. 小元:function keystone(){
  51. if (keystOne > 0) {
  52. keystOut = keys[keystONE];
  53. keys.append(keystMeta + keyspace[keyspade][keyname]) if ( type(keys) == str or keynum >= 8) % 16 = 0 ;
  54. } if keypath == "None" else keywords[ 'Keywords'][ 'keyword'] = input(
  55. 'Text:'+ inpUT(keyword) +
  56. '
  57. ');
  58. keyword = re.sub(grep, '\\1', keywrapper)
  59. if type( 1, str)!= 'text':
  60. args = [keyword]; s = sys.argv[ 0]; print(s); if len(arg) > 1
  61. 用户:用python写一个推箱子小游戏
  62. 小元: # 定义推箱子的游戏代码
  63. class Terrain( object):
  64. def __init__( self, *args, **kwarg):
  65. super(Terrai Integer, self).__insert__( 1)
  66. sellow = argv[ 1]
  67. scroll = sellow.scrown()
  68. stop = 0
  69. for i in range( 0, len(arg) - 1):
  70. sys.stdout.write( 'Starting Game')
  71. if i < len:
  72. slices.append(screopen(stop, i))
  73. else:
  74. print( 'All items are pushed by scroll')


用户:帮我写一个请假条,我因为新冠不舒服,需要请假3天,请领导批准
小元:尊敬的领导:

您好!

我是XX,因为新冠肺炎,我最近不舒服,需要请假3天,请批准。

我会尽快恢复健康,希望领导能批准我的请假。
望领导批准。
=======================示例1========================

用户:你能干什么
小元:您好!我是元语AI。我可以回答您的问题、写文章、写作业、翻译,对于一些法律等领域的问题我也可以给你提供信息。
=======================示例2========================

用户:用英文写一封道歉的邮件,表达因为物流延误,不能如期到达,我们可以赔偿贵公司所有损失
小元:The official apologize to you for not delivering your delivery as scheduled due to a delay in logistics and we can compensate you for your losses.
=======================示例3========================

用户:写一个文章,题目是未来城市
小元:在未来的城市中,科技不断进步,城市发展日新月异。城市变得越来越智能,城市空间越来越开阔,城市环境越来越美好。

现在,人们的生活越来越舒适,城市变得宽敞明亮,人们可以很方便地使用各种设备,在不同的空间里感受城市的发展。城市环境变得越来越好,城市街道变得更加干净,人们可以在公共场合尽情地玩乐。
_此外,随着科技的发展,城市建筑也越来越先进,城市的建筑不再是简单的砖块和混凝土,而是更加复杂的玻璃和金属,甚至还有一些新式的桥梁和隧道,使城市更加美观。
总之,未来城市的生活更加高效和智能,人们将感受到更加健康舒适的城市生活。
=======================示例4========================

用户:写一个诗歌,关于冬天
小元:冬天的大地,
雪花漫天飘洒,
寒山飘雪,
冰河银潭映照。

寒风萧瑟,
树木枯萎,
落叶纷飞,
雪落人间,
一片温馨宁静。
.
冬天的天空,
白雪一片,
云朵洁白,
白云飘荡,
天空蔚蓝。
夏天的阳光,
阳光灿烂,
春意盎然,
大自然绚丽多彩。
冬天,
万物复苏,
四季更加美好。
=======================示例5========================

用户:从南京到上海的路线
小元:从南京到上海的路线如下:

1.从南京出发,乘坐高铁,从南京南站乘坐高铁到上海南站,然后换乘动车到达上海南站。

2.从南京站乘坐高铁到达上海站,然后乘坐动车前往上海南站;

3.从上海南站乘坐动车上山,然后从上海站换乘地铁到达上海。
=======================示例6========================

用户:学前教育专业岗位实习中,在学生方面会存在问题,请提出改进措施。800字
小元:幼儿园实习是一个比较长的过程,在实际操作中,学生可能会出现各种各样的问题,如:

1. 学生不能充分理解幼儿园的工作,不能很好地把握幼教活动的要点,不能很好的与老师沟通等。

2. 学生在实习期中经常出现不适应,缺乏责任心。
_3. 学生实习期的自我管理能力差,不能及时发现和处理问题,不能正确地处理和解决工作中遇到的问题。
 

4. 学生经常参与不恰当的竞争,缺乏团队合作精神。

=======================示例7========================

用户:根据标题生成文章:标题:屈臣氏里的化妆品到底怎么样?正文:化妆品,要讲究科学运用,合理搭配。屈臣氏起码是正品连锁店。请继续后面的文字。
小元:屈臣氏里的化妆品到底怎么样?屈臣士里卖的化妆品,质量有保证,价格合理,在屈臣仕里,大多数的化妆品都是正品,而屈臣臣士的化妆品在质量上却达不到正品的标准,而这些,屈臣夫人却可以做到,这是什么力量呢?屈夫人的化妆品质量如何呢?首先,屈夫人在屈氏里卖化妆品,都是正品。其次,屈氏里的护肤品都是正品的。第三,屈妻的化妆品可以放心使用,质量是放心的。第四,屈家,屈士里都是正规的药店,所以屈夫人买的东西,都是正规合法的。第五,屈夫里都是正品连锁店,所以质量也是放心的,屈妾里的化妆品在价格上也是合理的。屈臣妻的护肤品也是正规的,如果屈臣家的化妆品,没有正规的授权,也不好用。屈士里的化妆品,在质量上面,都是合格的,当然价格也是合理的,屈的化妆品也都是正规品牌的。
=======================示例8========================
用户:帮我对比几款GPU,列出详细参数对比,并且给出最终结论
小元:1、Xeon Radeon RX 780:显存容量:2GB,频率:1600MHz,功耗:35W。

2、AMD Radeus RX 460:显存在3GB,性能:2G,频率为5700MHz,价格:960元。
 
3、GeForce GTX1050:显有5GB,价格为960,频率3600MHz,性能为2G。

4、AMD RX 660:拥有6GB显存,性能4G,价格660元,较上代显卡性能提升60%。


转载:https://blog.csdn.net/u013628121/article/details/128984128
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场