当前位置: 首页 > news >正文

chatglm2-6b-prompt尝试

参考https://cloud.tencent.com/developer/article/2426296

  • chatglm2-6b,通过prompt来实现zero-shot/fewshot的自然语言处理任务
import json
import re
import os
from modelscope.utils.constant import Tasks
from modelscope import Model
from modelscope.pipelines import pipeline
model = Model.from_pretrained('ZhipuAI/chatglm2-6b', device_map='auto', revision='v1.0.12')
pipe = pipeline(task=Tasks.chat, model=model)
inputs = {'text':'你好', 'history': []}
result = pipe(inputs)
inputs = {'text':'介绍下清华大学', 'history': result['history']}
result = pipe(inputs)
print(result)
  • 文本分类任务
text=f"""
1.加拿大(英语/法语:Canada),首都渥太华,位于北美洲北部。东临大西洋,西濒太平洋,西北部邻美国阿拉斯加州,南接美国本土,北靠北冰洋。气候大部分为亚寒带针叶林气候和湿润大陆性气候,北部极地区域为极地长寒气候。
2.《琅琊榜》是由山东影视传媒集团出品, 由孔笙、李雪执导,海宴担任编剧,胡歌、刘涛、王凯、黄维德、陈龙、丁勇岱、刘敏涛领衔主演,靳东、陈丽娜友情出演,刘奕君、王劲松、张龄心、吴磊、程皓枫、郭晓然、王永泉、高鑫、王鸥、周奇奇、张棪琰、宁文彤主演的古装权谋剧
3.《满江红》是由张艺谋执导,沈腾、易烊千玺、张译、雷佳音、岳云鹏、王佳怡领衔主演,潘斌龙、余皑磊主演,郭京飞、欧豪友情出演,魏翔、张弛、黄炎特别出演,许静雅、蒋鹏宇、林博洋、飞凡、任思诺、陈永胜出演的悬疑喜剧电影。
4.布宜诺斯艾利斯(西班牙语:Buenos Aires,华人常简称为布宜诺斯),是阿根廷共和国(the Republic of Argentina,República Argentina)的首都和最大城市,位于拉普拉塔河南岸、南美洲东南部、河对岸为乌拉圭东岸共和国。
5.张译(原名张毅),1978年2月17日出生于黑龙江省哈尔滨市,中国内地男演员。1997年至2006年服役于北京军区政治部战友话剧团。2005年,在电视剧《民工》中饰演郭振东一角正式开启演艺生涯。2006年,在主演军事励志题材电视剧《士兵突击》中饰演史今一角。
"""
prompt=f"""
识别以下5句话中,每一句话描述的是一个什么类型的物体。
{text}
将结果用数组形式表示,如['答案1','答案2', ..., '答案5'],此处的答案是你刚才识别的那5句话的答案。
"""
inputs = {'text': prompt, 'history': []}
result = pipe(inputs)
print(result['response'])
['地理', '电视剧', '电影', '城市', '演员']
  • 文本匹配任务
text=f"""
('如何修改头像', '可以通过上传图片修改头像吗'),
('王者荣耀司马懿连招', '王者荣耀司马懿有什么技巧'),
('王者荣耀司马懿连招', '历史上司马懿真的被诸葛亮空城计骗了吗'),
"""prompt=f"""
你需要识别文本对中的两个句子是否描述的是相似的语言,示例如下:
问题: "('苹果是水果吗', '榴莲是水果吗'), ('小学生有游戏防沉迷系统吗', '我还在上学,打游戏有时间限制吗'), ('怎么做意大利面最好吃', '下雨了去哪买伞')"
答案: ['相似', '相似', '不相似']
上面的问答逻辑为:第一个句子对都是问某个东西是否是水果,所以识别为相似;第二个句子对都与学生玩游戏相关,所以是相似,第三个句子对一个是做饭、一个是买东西,因此不相似。
下面是你需要识别的文本对:
{text}
请以我给出的示例答案的回答方式给出结果,请注意只需要给出['相似/不相似',...]这样的结构
"""
inputs = {'text': prompt, 'history': []}
result = pipe(inputs)
print(result['response'])
['相似', '相似', '不相似']
  • 信息抽取任务
class_examples = {'人物': '岳云鹏,本名岳龙刚,1985年4月15日出生于河南省濮阳市南乐县,中国内地相声、影视男演员。2005年,首次登台演出。2012年,主演卢卫国执导的喜剧电影《就是闹着玩的》。2013年在北京举办相声专场。','书籍': '《三体》是刘慈欣创作的长篇科幻小说系列,由《三体》《三体2:黑暗森林》《三体3:死神永生》组成,第一部于2006年5月起在《科幻世界》杂志上连载,第二部于2008年5月首次出版,第三部则于2010年11月出版。','电视剧': '《狂飙》是由中央电视台、爱奇艺出品,留白影视、中国长安出版传媒联合出品,中央政法委宣传教育局、中央政法委政法综治信息中心指导拍摄,徐纪周执导,张译、张颂文、李一桐、张志坚、吴刚领衔主演,倪大红、韩童生、李建义、石兆琪特邀主演,李健、高叶、王骁等主演的反黑刑侦剧。',
}# few-shot examplesie_examples = {'人物': [{'content': '岳云鹏,本名岳龙刚,1985年4月15日出生于河南省濮阳市南乐县,中国内地相声、影视男演员。','answers': {'姓名': ['岳云鹏'],'性别': ['男'],'出生日期': ['1985年4月15日'],'出生地点': ['河南省濮阳市南乐县'],'职业': ['相声演员', '影视演员'],'获得奖项': ['原文中未提及']}}],'书籍': [{'content': '《三体》是刘慈欣创作的长篇科幻小说系列,由《三体》《三体2:黑暗森林》《三体3:死神永生》组成,第一部于2006年5月起在《科幻世界》杂志上连载,第二部于2008年5月首次出版,第三部则于2010年11月出版。','answers': {'书名': ['《三体》'],'作者': ['刘慈欣'],'类型': ['长篇科幻小说'],'发行时间': ['2006年5月','2008年5月','2010年11月'],'定价': ['原文中未提及']}}]
}# 先对句子做分类,再进行信息提取
schema = {'人物': ['姓名', '性别', '出生日期', '出生地点', '职业', '获得奖项'],'书籍': ['作者', '类型', '发行日期', '定价'],'电视剧': ['导演', '演员', '题材', '出品方'],
}class_list = list(schema.keys())CLS_PATTERN = f"“{{}}”是 {class_list} 里的什么类别?"cls_pre_history = [(f"现在你是一个文本分类器,你需要按照要求将我给你的句子分类到:{class_list}类别中。",f"好的。")
]for _type, example in class_examples.items():cls_pre_history.append((f"“{example}”是 {class_list} 里的什么类别?", _type))IE_PATTERN = "{}\n\n提取上述句子中{}类型的实体,并按照JSON格式输出,上述句子中不存在的信息用['原文中未提及']来表示,多个值之间用','分隔。"ie_pre_history = [("现在你需要帮助我完成信息抽取任务,当我给你一个句子时,你需要帮我抽取出句子中三元组,并按照JSON的格式输出,上述句子中没有的信息用['原文中未提及']来表示,多个值之间用','分隔。",'好的,请输入您的句子。')
]for _type, example_list in ie_examples.items():for example in example_list:sentence = example['content']properties_str = ','.join(schema[_type])schema_str_list = f'“{_type}”({properties_str})'sentence_with_ie_prompt = IE_PATTERN.format(sentence, schema_str_list)ie_pre_history.append((f'{sentence_with_ie_prompt}',f"{json.dumps(example['answers'], ensure_ascii=False)}"))
class_examples = {'人物': '岳云鹏,本名岳龙刚,1985年4月15日出生于河南省濮阳市南乐县,中国内地相声、影视男演员。2005年,首次登台演出。2012年,主演卢卫国执导的喜剧电影《就是闹着玩的》。2013年在北京举办相声专场。','书籍': '《三体》是刘慈欣创作的长篇科幻小说系列,由《三体》《三体2:黑暗森林》《三体3:死神永生》组成,第一部于2006年5月起在《科幻世界》杂志上连载,第二部于2008年5月首次出版,第三部则于2010年11月出版。','电视剧': '《狂飙》是由中央电视台、爱奇艺出品,留白影视、中国长安出版传媒联合出品,中央政法委宣传教育局、中央政法委政法综治信息中心指导拍摄,徐纪周执导,张译、张颂文、李一桐、张志坚、吴刚领衔主演,倪大红、韩童生、李建义、石兆琪特邀主演,李健、高叶、王骁等主演的反黑刑侦剧。',
}# few-shot examplesie_examples = {'人物': [{'content': '岳云鹏,本名岳龙刚,1985年4月15日出生于河南省濮阳市南乐县,中国内地相声、影视男演员。','answers': {'姓名': ['岳云鹏'],'性别': ['男'],'出生日期': ['1985年4月15日'],'出生地点': ['河南省濮阳市南乐县'],'职业': ['相声演员', '影视演员'],'获得奖项': ['原文中未提及']}}],'书籍': [{'content': '《三体》是刘慈欣创作的长篇科幻小说系列,由《三体》《三体2:黑暗森林》《三体3:死神永生》组成,第一部于2006年5月起在《科幻世界》杂志上连载,第二部于2008年5月首次出版,第三部则于2010年11月出版。','answers': {'书名': ['《三体》'],'作者': ['刘慈欣'],'类型': ['长篇科幻小说'],'发行时间': ['2006年5月','2008年5月','2010年11月'],'定价': ['原文中未提及']}}]
}# 先对句子做分类,再进行信息提取
schema = {'人物': ['姓名', '性别', '出生日期', '出生地点', '职业', '获得奖项'],'书籍': ['作者', '类型', '发行日期', '定价'],'电视剧': ['导演', '演员', '题材', '出品方'],
}class_list = list(schema.keys())CLS_PATTERN = f"“{{}}”是 {class_list} 里的什么类别?"cls_pre_history = [(f"现在你是一个文本分类器,你需要按照要求将我给你的句子分类到:{class_list}类别中。",f"好的。")
]for _type, example in class_examples.items():cls_pre_history.append((f"“{example}”是 {class_list} 里的什么类别?", _type))IE_PATTERN = "{}\n\n提取上述句子中{}类型的实体,并按照JSON格式输出,上述句子中不存在的信息用['原文中未提及']来表示,多个值之间用','分隔。"ie_pre_history = [("现在你需要帮助我完成信息抽取任务,当我给你一个句子时,你需要帮我抽取出句子中三元组,并按照JSON的格式输出,上述句子中没有的信息用['原文中未提及']来表示,多个值之间用','分隔。",'好的,请输入您的句子。')
]for _type, example_list in ie_examples.items():for example in example_list:sentence = example['content']properties_str = ','.join(schema[_type])schema_str_list = f'“{_type}”({properties_str})'sentence_with_ie_prompt = IE_PATTERN.format(sentence, schema_str_list)ie_pre_history.append((f'{sentence_with_ie_prompt}',f"{json.dumps(example['answers'], ensure_ascii=False)}"))
{"电视剧": {"导演": ["孔笙", "李雪"], "演员": ["胡歌", "刘涛", "王凯", "黄维德", "陈龙", "丁勇岱", "刘敏涛", "靳东", "陈丽娜", "吴磊", "程皓枫", "郭晓然", "王永泉", "高鑫", "王鸥", "周奇奇", "张棪琰", "宁文彤"], "题材": ["古装权谋剧"], "出品方": ["山东影视传媒集团"]}
{"姓名": ["张译"], "性别": ["男"], "出生日期": ["1978年2月17日"], "出生地点": ["黑龙江省哈尔滨市"], "职业": ["中国内地男演员"], "获得奖项": ["原文中未提及"]}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SwiftUI 6.0(Xcode 16)新 PreviewModifier 协议让预览调试如虎添翼
  • 路网双线合并单线——ArcGIS 解决方法
  • 全国区块链职业技能大赛国赛考题区块链产品需求分析与方案设计
  • CSS 计数器:WebKit 的样式增强术
  • Java8-21新特性
  • HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号3
  • modbus slave 设备通过 网关thingsboard-gateway 将数据上传到thingsboard云平台
  • 基于ListBox制作一个好看的侧边菜单导航栏
  • 【Agent】信息提取场景
  • 深入理解Android中的缓存与文件存储目录
  • IDEA的工程与模块管理
  • Laravel与现代前端:Vue.js与React的无缝集成
  • 如何定位Milvus性能瓶颈并优化
  • FPGA-ROM IP核的使用
  • 【数据结构】排序算法——Lessen1
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 10个确保微服务与容器安全的最佳实践
  • Github访问慢解决办法
  • HTML中设置input等文本框为不可操作
  • Javascript Math对象和Date对象常用方法详解
  • node和express搭建代理服务器(源码)
  • React组件设计模式(一)
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Terraform入门 - 3. 变更基础设施
  • 分享几个不错的工具
  • 关于字符编码你应该知道的事情
  • 京东美团研发面经
  • 聊一聊前端的监控
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 听说你叫Java(二)–Servlet请求
  • 湖北分布式智能数据采集方法有哪些?
  • #{}和${}的区别是什么 -- java面试
  • #每天一道面试题# 什么是MySQL的回表查询
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (转)Sql Server 保留几位小数的两种做法
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET Core中如何集成RabbitMQ
  • .Net 应用中使用dot trace进行性能诊断
  • .NET大文件上传知识整理
  • .net访问oracle数据库性能问题
  • .NET技术成长路线架构图
  • .NET企业级应用架构设计系列之开场白
  • .net项目IIS、VS 附加进程调试
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .net知识和学习方法系列(二十一)CLR-枚举
  • @Autowired标签与 @Resource标签 的区别
  • @selector(..)警告提示