diff --git a/cookbook/evaluation/data_file/eval_dataset.csv b/cookbook/evaluation/data_file/eval_dataset.csv new file mode 100644 index 00000000..f4cb78cd --- /dev/null +++ b/cookbook/evaluation/data_file/eval_dataset.csv @@ -0,0 +1,223 @@ +"prompt","input_prompt","llm_output","expected_output","request_complete_latency" +"地球的自转周期是多久?","地球的自转周期是多久?","地球的自转周期约为**23小时56分4秒**。","大约24小时",0.0003000829999564303 +"人类的基本单位是什么?","人类的基本单位是什么?","人类的基本单位是家庭或个人。家庭是社会的细胞,人类的一切社会活动都离不开家庭这一基本单位。每个人也是一个独立的单位,每个人都有自己的生活、工作、学习和社交方式。总的来说,家庭和个人是构成人类社会的基本单位。","人类",0.000051708000000871834 +"太阳系中最大的行星是哪颗?","太阳系中最大的行星是哪颗?","太阳系中最大的行星是木星。 + +木星是太阳系中最大的行星,其质量是太阳系中其它行星总和的2.5倍左右。木星的直径也是太阳系中最大的,大约是地球的11倍。它不仅质量、体积大,而且还拥有一个强而有力的磁场,木星也有卫星,其中木卫一和木卫二上有活跃的火山。","木星",0.0008869170000025406 +"月亮是围绕地球还是围绕太阳运转的?","月亮是围绕地球还是围绕太阳运转的?","月亮是地球的卫星,围绕地球运转。月亮是地球的卫星,它围绕地球旋转,受到地球的引力束缚而不会离开。同时,月亮和地球一样,也受到太阳引力的影响,但因为地球的引力束缚力更强,所以月亮围绕地球运转。综上所述,月亮是围绕地球运转的。","围绕地球",0.0010343750000174623 +"水的化学式是什么?","水的化学式是什么?","水的化学式是H₂O。","H2O",0.00011720800000603049 +"世界上最高的山是哪座?","世界上最高的山是哪座?","世界上最高的山是珠穆朗玛峰,它位于中国和尼泊尔的边界上,是喜马拉雅山脉的一部分。珠穆朗玛峰的高度在不断变化中,最新的数据是8848.86米。它是地球上已知的最高的山峰,也是登山和探险家们最向往的地方之一。","珠穆朗玛峰",0.0007787499999949432 +"哪个国家拥有世界上最多的人口?","哪个国家拥有世界上最多的人口?","中国是世界上人口最多的国家。 + +根据联合国最新数据,中国人口占全球人口的近18%,超过全球人口的五分之一。中国拥有庞大的劳动力市场和消费市场,是世界上最大的贸易伙伴和投资目的地之一。此外,中国政府也致力于推动经济结构转型和高质量发展,不断提高人民的生活水平和幸福感。 + +虽然印度在过去几十年中人口增长迅速,但目前尚未超越中国成为人口最多的国家。然而,印度的人口增长趋势和年轻化的人口结构使其在未来几十年中可能成为全球人口最多的国家之一。 + +总之,中国是世界上人口最多的国家,但印度等其他国家的人口增长也值得关注。","中国",0.00016545799996947608 +"DNA的全称是什么?","DNA的全称是什么?","DNA的全称是**脱氧核糖核酸**。","脱氧核糖核酸",0.0002332910000859556 +"香蕉属于哪个植物家族?","香蕉属于哪个植物家族?","香蕉属于芭蕉科植物。 + +香蕉属于被子植物门,双子叶植物纲,姜目,芭蕉科,芭蕉属。香蕉是热带植物,主要分布在赤道附近,是一种常见的水果。它具有甜糯的口感和独特的香味,是人们喜爱的水果之一。","蕉科",0.0001621249999743668 +"人体最大的器官是什么?","人体最大的器官是什么?","人体最大的器官是皮肤。 + +皮肤是人体最大的器官,覆盖全身,保护身体免受外界伤害。它还具有调节体温、排泄废物、感觉刺激和参与免疫反应等功能。皮肤的总重量约占人体体重的16%,对于维持人体健康起着重要作用。","皮肤",0.00025416699998004333 +"大气中最丰富的气体是什么?","大气中最丰富的气体是什么?","大气中最丰富的气体是氮气,占大气总体积的78%。氮气无色无味,不易燃烧且无毒无害,对人类无任何影响,是空气成分中必不可少的一员。此外,氧气也是大气中重要的气体,占大气总体积的21%左右。氧气具有助燃性,对于人类和其他生物的呼吸都非常重要。然而,除了氮气和氧气之外,大气中还包含其他多种气体,如氩气、二氧化碳、氖气、氙气等。","氮气",0.0001183330000458227 +"太阳的能量主要是通过什么方式传播到地球上的?","太阳的能量主要是通过什么方式传播到地球上的?","太阳的能量主要是通过辐射传播到地球上的。太阳是一个能量源,它通过辐射的方式将能量释放到空间中。这些能量以电磁波的形式传播,包括可见光、紫外线、X射线和伽马射线等。这些能量穿过太阳系和宇宙空间,最终到达地球。当这些能量到达地球时,它们被大气层中的气体和云层吸收和散射,形成了我们看到的太阳光。太阳光照射到地球表面,为植物的生长、人类的日常生活和各种工业过程提供了能量。","辐射",0.00019562499994663085 +"地球上最大的洲是什么?","地球上最大的洲是什么?","地球上的大洲按面积由大到小是: + +- 亚洲:面积约44,579,000平方千米(地球第三大洲) +- 非洲:面积约30,370,000平方千米(地球第五大洲) +- 北美洲:面积约24,709,000平方千米(地球第六大洲) +- 南美洲:面积约17,840,000平方千米(地球第七大洲) +- 南极洲:面积约14,200,xxxxx平方千米(没有居民的洲) + +综上可知,最大的洲是亚洲。","亚洲",0.00031962499997462146 +"水的冰态在摄氏多少度开始融化?","水的冰态在摄氏多少度开始融化?","水的冰态在摄氏**0度**开始融化。在正常气压下,水从固态到液态的转变发生在温度0度时。如果温度继续下降,水会开始变成蒸气,这一过程称为汽化。","0度",0.0002076659999374897 +"化学元素周期表中第一位的元素是什么?","化学元素周期表中第一位的元素是什么?","化学元素周期表中第一位的元素是**氢**。","氢",0.00015608399996835942 +"世界上最长的河流是哪条?","世界上最长的河流是哪条?","世界上最长的河流是尼罗河。 + +尼罗河是一条流经非洲东部与北部的河流,流域面积265万平方公里,长度约6650公里。它发源于赤道南部的东非高原上的布隆迪湖,经过乌干达、苏丹和埃及等国家,最后流入地中海。 + +由于气候变化等原因,尼罗河的水文特征在各个地区有所不同,但其长度仍然是世界上最长的河流。","亚马逊河",0.0003303329999653215 +"第一个进入太空的人是谁?","第一个进入太空的人是谁?","第一个进入太空的人是尤里·加加林(Yuri Gagarin)。他于1961年4月12日成为第一个进入太空的人。","尤里·加加林",0.00011558400001376867 +"地球的大气分层中,最靠近地表的是什么?","地球的大气分层中,最靠近地表的是什么?","地球的大气分层中,最靠近地表的是对流层。 + +对流层是地球大气层靠近地面的一层,是地球大气圈最活跃、复杂,也是与人类活动关系最密切的一层。在这里,空气运动是大气最基本的特征,既有水平运动,也有垂直运动。受到各种力的影响,近地面空气上升、冷却凝结成云雨,上升到一定高度,冷却后降落;周围高处空气下降流入以补充缺失部分,如此循环不止。","对流层",0.0002081249999719148 +"阿拉伯数字是源自哪个文化?","阿拉伯数字是源自哪个文化?","阿拉伯数字是古印度人发明的。它们最初可能被用于印度次大陆的商业交流,后来随着贸易和文化的传播,这些数字系统逐渐传播到其他地区,包括中东和欧洲。在阿拉伯帝国崛起后,这些数字系统被重新命名为“阿拉伯数字”,并被广泛使用。因此,阿拉伯数字源于印度文化,但被阿拉伯人传播并改进后得到了广泛的使用。","印度文化",0.0012684170000056838 +"青蛙属于哪一类动物?","青蛙属于哪一类动物?","青蛙属于两栖动物。 + +青蛙是一种水陆两栖动物,能够在水中和陆地上生活。它们通常生活在潮湿的草地、池塘、河流和湖泊等地方。青蛙是捕食性动物,以昆虫和其他小动物为食。它们通常会在夜间活动,发出呱呱的叫声。青蛙是常见的宠物之一,也是许多人的宠物。","两栖动物",0.00022558299997399445 +"金属铁的化学符号是什么?","金属铁的化学符号是什么?","金属铁的化学符号是Fe。","Fe",0.00016725000000405998 +"世界上最大的洋是什么?","世界上最大的洋是什么?","世界上最大的洋是**太平洋**。太平洋是世界上最大、最深、边缘海和岛屿最多的大洋。它位于亚洲、大洋洲、南极洲和南北美洲之间,占地球表面积的三分之一,是世界上最大、最深、边缘海和岛屿最多的大洋。面积1.556亿平方千米,平均深度3957米。","太平洋",0.00008441700003913866 +"植物进行光合作用的主要部位是什么?","植物进行光合作用的主要部位是什么?","植物进行光合作用的主要部位是叶绿体。叶绿体是植物细胞中一种重要的细胞器,它呈绿色、扁平的椭球形或球形,是植物进行光合作用合成有机物的主要场所。在光合作用中,叶绿体吸收光能,利用分子中的化学键将光能转化为化学能,并合成有机物。因此,叶绿体在植物的光合作用中发挥着至关重要的作用。","叶绿体",0.000819875000047432 +"氧气的化学符号是什么?","氧气的化学符号是什么?","氧气的化学符号是O₂。","O2",0.0002867919999971491 +"地球上最高的温度记录是多少?","地球上最高的温度记录是多少?","地球上最高的温度记录是**53.5℃**,是由美国在加利福尼亚的莫哈韦沙漠中的华氏温度计所测得的。这个记录是在2013年创造的,当时由于极端高温天气,全美多地气温飙升,引发了多人中暑和死亡。不过需要注意的是,这个记录可能会因各种因素而有所变化,比如气候变化、地理位置等。","摄氏56.7度(利比亚沙漠)",0.00021699999990687502 +"首都位于两大洲之间的国家是哪个?","首都位于两大洲之间的国家是哪个?","首都位于两大洲之间的国家是土耳其。土耳其是一个横跨亚欧大陆两洲的国家,其首都安卡拉位于欧洲和亚洲之间。","土耳其",0.0002738330000511269 +"人体最硬的物质是什么?","人体最硬的物质是什么?","人体最硬的物质是牙齿。 + +牙齿是人体骨骼的一部分,也是消化系统的一部分,可以帮助咀嚼食物、帮助发音和维持口腔的生态平衡。牙齿的硬度主要来自于牙釉质的硬度,它是一种无机物质,硬度很高,可以抵抗外来的冲击和磨损。牙釉质是牙齿最外层的硬质组织,其硬度仅次于金刚石,是人体中最硬的物质。因此,牙齿可以说是人体中最硬的物质。","牙齿",0.00015525000003435707 +"化学反应中质量守恒的法则是由谁提出的?","化学反应中质量守恒的法则是由谁提出的?","化学反应中质量守恒的法则是由拉瓦锡提出的。在十八世纪末和十九世纪初,拉瓦锡通过实验并结合数学方法,对化学物质的变化进行了详细的研究,并得出了质量守恒的基本原理。这一原理认为,在化学反应中,反应物的总质量等于生成物的总质量,无论反应是否涉及能量的变化。这一发现为现代化学奠定了基础,并成为了化学研究的基础。","拉瓦锡",0.0010985000000118816 +"地球上最深的海是什么?","地球上最深的海是什么?","地球上最深的海是**马里亚纳海沟**。 + +马里亚纳海沟是世界上最深的海沟,位于亚洲太平洋沿岸,是海底最长的皱裂处,最深处达到6525米。海沟的名称源自西班牙探险队首领梅纳卡伊的父亲,他发现此海沟时误以为是一条大鱼而发出“马里亚纳”的惊叫。","马里亚纳海沟",0.00009254200006125757 +"阳光由哪个方向升起?","阳光由哪个方向升起?","阳光是从东方升起的。在地球上,太阳每天从东方升起,从西方落下。这是由于地球自转的原因所致,地球自转的方向是从东向西。因此,无论是白天还是黑夜,太阳总是从东方升起,而从西方落下。","东方",0.00016633299992463435 +"著名的相对论理论是由哪位科学家提出的?","著名的相对论理论是由哪位科学家提出的?","著名的相对论理论是由爱因斯坦提出的。 + +爱因斯坦,出生于德国乌尔姆市的一个犹太人家庭,自小对科学痴迷,在1905年提出了著名的相对论。相对论是一种关于时空和引力的理论,是现代物理学的基础之一。爱因斯坦的相对论理论对人类对宇宙和自然界的认知产生了深远的影响。","爱因斯坦",0.0002594170000520535 +"水的沸点是多少度?","水的沸点是多少度?","在标准大气压力下,水的沸点为**100摄氏度**。然而,水的沸点可能会受到压力、温度、溶入的物质、气压以及氧化的影响而改变。","100度",0.0001882919999616206 +"地球上最大的湖泊是什么?","地球上最大的湖泊是什么?","地球上最大的湖泊是**里海**。","里海",0.00011941599996134755 +"人体最重要的有机物质是什么?","人体最重要的有机物质是什么?","人体最重要的有机物质是蛋白质。蛋白质是生命的物质基础,是人体必需的营养物质,是维持生命的重要物质。它不仅是构成人体的基本材料,参与人体的各种生理和生化功能,而且是人体组织更新和修补的主要原料。蛋白质在人体内不能合成,必须通过食物摄取。常见的富含蛋白质的食物包括肉类、鱼类、豆类和蛋类等。","蛋白质",0.0009920420000071317 +"化学中PH值用来表示什么?","化学中PH值用来表示什么?","在化学中,PH值表示溶液的酸碱度。它反映了溶液中氢离子或氢氧根离子浓度的相对程度。PH值是一个介于0到14的数值,用于衡量溶液中氢离子浓度,其值的大小可以显示溶液酸碱性的强弱。 + +当PH值大于7时,表示溶液呈碱性,其数值越大,碱性越强。反之,当PH值小于7时,表示溶液呈酸性,其数值越小,酸性越强。中性溶液的PH值等于7。 + +通过测量溶液的PH值,可以了解许多关于物质化学特性的信息,有助于选择适当的化学反应、试剂和溶剂等。","酸碱度",0.00021049999998012936 +"第一个登上月球的人是谁?","第一个登上月球的人是谁?","第一个登上月球的人是**阿姆斯特朗**。他在1969年7月20日美国宇航局“阿波罗11号”载人宇宙飞船首次登上月球。","尼尔·阿姆斯特朗",0.00029183300000568124 +"地球上最深的峡谷是什么?","地球上最深的峡谷是什么?","地球上最深的峡谷是**雅鲁藏布大峡谷**。","亚马逊河峡谷",0.0001918330000307833 +"树木的主要成分是什么?","树木的主要成分是什么?","树木的主要成分是纤维素,除此之外,木材中还含有许多其他物质,如木质素、脂类、水分等。木质化细胞壁是构成木材的基本单元,这些细胞壁由木糖和纤维构成,形成了一种具有很高强度和稳定性的材料。树木的细胞腔则充满了细胞间隙,这些间隙通常包含气体和水分。 + +此外,树木的化学成分还包括了脂肪类、淀粉、蛋白质、氨基酸、有机酸、色素等。树木的主要功能是提供氧气,调节气候,吸收二氧化碳,同时吸收水中的杂质,使水质清澈。它也是很多动物和微生物的食物来源,有些树木还可以提供食物和药物。因此,树木在自然界中扮演着非常重要的角色。","纤维素",0.00010137499998563726 +"世界上最大的岛屿是什么?","世界上最大的岛屿是什么?","世界上最大的岛屿是**格陵兰岛**。","格陵兰岛",0.00009483299993462424 +"水星是太阳系中最靠近太阳的行星吗?","水星是太阳系中最靠近太阳的行星吗?","是的,水星是太阳系中最靠近太阳的行星。在太阳系的八大行星中,水星位于太阳最近的轨道上,其公转轨道半径约为5790万公里。由于水星没有天然的卫星,因此它也成为了太阳系中最孤独的行星之一。此外,水星还是最干燥、最热的行星之一,表面温度极高,没有任何已知的生物存在。","是",0.00014816700002029393 +"壳牌公司是哪个国家的石油公司?","壳牌公司是哪个国家的石油公司?","壳牌公司是**荷兰**的石油公司。","荷兰",0.00022520800007441721 +"美国的国旗星条旗上有多少颗星?","美国的国旗星条旗上有多少颗星?","美国的国旗星条旗上有**50颗**星星。 + +但需要注意的是,国旗上的条纹从左至右有13根,代表美国最初的13个州。星星和条纹的数量并不相同,有一种说法是,当美国每一个州都加入联邦,即达到13个或更多的州时,就会有一颗或更多的星星出现。也有人认为,星星和条纹的数量并不代表实际的州数,而只是代表支持独立或支持某一方的旗帜数量。 + +以上信息仅供参考,如果还有疑问,建议查阅相关书籍或咨询专业人士。","50颗",0.0001844589999109303 +"动力电池的主要材料是什么?","动力电池的主要材料是什么?","动力电池的主要材料包括以下几种: + +1. 锂离子电池:主要由正极、负极和隔膜(电绝缘)组成,电解液作为正负极之间的一种液体。正极材料通常是锂的活性化合物,如锂镍锰合金,负极材料则是含锂的碳材料。隔膜是一种允许离子通过但不能让大的电解液分子通过的薄膜。电解液是锂离子导体,主要成分是碳酸酯类。 + +2. 锂金属电池:主要使用锂金属作为电极材料,这种类型的电池在充电时,锂枝晶生长穿过隔膜而使隔膜阻断电流,导致电池失效。因此需要设计合适的电极制备工艺和合适的壳体来防止锂枝晶的生成。 + +3. 镍氢电池:主要使用镍和氢的合金作为电极材料,正极采用氧化镍,负极采用含氢化镍的合金,电解液为氢氧化钾或氢氧化锂。 + +4. 燃料电池:燃料电池是一种将化学能直接转化为电能的装置,其基本原理是通过电解液或催化剂的作用,使燃料与氧气发生反应,产生电流。燃料电池有多种类型,如碱性燃料电池(AFC)、磷酸燃料电池(PAFC)、质子交换膜燃料电池(PEMFC)等,常用的动力电池主要使用质子交换膜燃料电池。 + +需要注意的是,以上材料仅供参考,可以根据不同的需求和场合选择不同的动力电池材料。同时不同厂商在生产过程中也可能采用一些特殊或定制的材料配方和技术。在实际使用中需要考虑到电池的安全性、寿命、效率和成本等因素。","锂离子",0.0008054169999240912 +"银行卡上的CVV是指什么?","银行卡上的CVV是指什么?","银行卡上的CVV是指**信用卡验证码**,也叫安全码。它由信用卡号后三位数字组成,可以用来在特定的POS机上刷卡支付。CVV代码是由国际信用卡组织规定的一种3位或4位数字的代码,是保障消费者交易安全的一种方式。这种代码对于信用卡交易非常重要,因为信用卡号和有效期都是可以以各种方式被窃取的,但是CVV代码是由银行生成并只写在信用卡背面的一部分,持卡人需要妥善保管,不要将其提供给任何人。","卡背面的安全码",0.0001079580000578062 +"人类的DNA中有多少个染色体?","人类的DNA中有多少个染色体?","人类的DNA中有**46个**染色体。 + +其中,22对是常染色体,3对是性染色体。在细胞核中,人类有两条特别的性染色体,X和Y。女性的染色体是XX,男性的染色体是XY。因此,女性有46个染色体,而男性有47个染色体。","46个",0.00016137499994783866 +"人体最大的器官是什么?","人体最大的器官是什么?","人体最大的器官是皮肤。 + +皮肤是人体最大的器官,覆盖了人体表面的大部分,包括身体的主要部分和外部空间。它有许多功能,包括保护、调节温度、感知外界刺激和维持内部环境的稳定。 + +因此,皮肤可以说是人体最重要的器官之一。不过,由于不同的人对于器官的定义可能会有所不同,如果将内脏器官也考虑进来,那么可能会存在不同的答案。但是一般来说,皮肤被认为是人体最大的单一器官。","皮肤",0.00020970800005670753 +"地球上最大的海是什么?","地球上最大的海是什么?","地球上最大的海是**太平洋**。","菲律宾海",0.0002922090000083699 +"雷达是用来检测什么的?","雷达是用来检测什么的?","雷达是一种利用电磁波探测目标的电子设备,它可以用来检测多种事物,包括但不限于: + +1. 物体或生物的运动轨迹和位置,例如飞机、船只、导弹等。 +2. 天气变化,例如云层高度、雨量等。 +3. 遥感测绘,例如地形测绘、建筑物高度测量等。 +4. 环境监测,例如探测森林火警、海洋污染等。 +5. 军事应用,例如探测敌方军舰、导弹等。 +6. 交通管制,例如检测车辆速度、检测道路障碍等。 + +总之,雷达可以广泛应用于各种领域,为人类提供重要的信息和服务。","物体的位置和速度",0.00018045899992102932 +"地球上最高的瀑布是什么?","地球上最高的瀑布是什么?","地球上最高的瀑布是**黄果树瀑布**,位于中国贵州省。","安赫尔瀑布",0.00011775000007219205 +"世界上最长的河流是什么?","世界上最长的河流是什么?","世界上最长的河流是尼罗河。 + +尼罗河是一条流经非洲东部与北部的河流,流域面积265万平方公里,长度约6650公里。它发源于坦桑尼亚,流经埃及,最终注入地中海。它是世界上最古老的河流之一,也是埃及的象征和生命线。 + +因此,尼罗河是世界上最长的河流。","尼罗河",0.0008194580000235874 +"地球上最大的岛屿是什么?","地球上最大的岛屿是什么?","地球上最大的岛屿是**格陵兰岛**。","格陵兰岛",0.00017408300004717603 +"什么是黑洞?","什么是黑洞?","黑洞是一种由重力坍缩形成的天体,它的密度极大,体积极小,有着极强的引力,甚至连光也无法逃脱其引力。它通常是在星系中心的超级黑洞,或者是恒星演化的末期产生的。当一颗恒星耗尽燃料死亡后,它可能会塌缩成一个黑洞,甚至可能会吞噬周围的气体和物质,继续释放出暗物质。 + +在宇宙中,黑洞可以影响星系、恒星和其他物体的轨道。最有趣的是,它们可能是星系中心的种子,随着时间的推移逐渐增长并形成更复杂的结构。科学家使用引力透镜、天体物理仪器和理论分析来研究黑洞的性质和结构。黑洞的存在在科学上已被广泛接受,但对其性质和机制的理解仍然有限。 + +总之,黑洞是一种神秘而引人入胜的天体现象。它是一个极端的物理现象,是宇宙中极其重要的一部分。通过研究黑洞,我们可以更好地理解宇宙的奥秘和宇宙中各种天体的相互作用机制。","质量极大、体积极小的天体",0.00023375000000669388 +"哪个星座代表水瓶座?","哪个星座代表水瓶座?","水瓶座对应的星座是水瓶座。水瓶座是风象星座,他们崇尚自由,擅长社交,不喜欢随波逐流,具有很强的创造力,但有时可能过于冷漠和固执。水瓶座的守护星是天王星,代表着自我突破和不受约束,这也在一定程度上反映了水瓶座的个性特点。","宝瓶座",0.0001323339999999007 +"月球上有大气层吗?","月球上有大气层吗?","**没有**。月球上没有大气层,因为月球表面的引力极小,无法维持大气的存在。月球表面受大气压力只有地球的1/159,而且被高反射系数的宇宙尘埃和碎石覆盖,所以月球表面看不到天空有任何黑暗的部分,看不到满天繁星,也看不到云雾和雨云。","没有",0.00017304200002854486 +"蜘蛛是昆虫吗?","蜘蛛是昆虫吗?","是的,蜘蛛是一种昆虫。蜘蛛属于节肢动物门,蛛形纲,蜘蛛目。它们具有昆虫的基本特征,包括六条腿、体表有细毛、身体分为头胸部和腹部等。因此,蜘蛛可以被归类为昆虫。","不是,属于蛛形纲",0.00013854200005880557 +"什么是全球变暖?","什么是全球变暖?","全球变暖是指地球的平均气温持续上升,导致地球的气候发生改变的现象。全球变暖的主要原因是人类活动导致的温室气体排放,如二氧化碳、甲烷等,这些温室气体在大气中累积,导致大气层升温。全球变暖的影响包括海平面上升、极端天气事件增多、生态系统变化等。全球变暖是一个全球性的问题,需要全球合作来解决。","地球气温升高的趋势",0.0004195420000314698 +"蓝鲸是世界上最大的哪类动物?","蓝鲸是世界上最大的哪类动物?","蓝鲸是世界上最大的动物之一,属于哺乳动物类别。它们是巨大的生物,通常可以长到长达30米(98英尺)长,重达170吨。它们是海洋中的顶级捕食者,以小型的鱼类和无脊椎动物为食。蓝鲸是现存最大的动物,但并不是地球上曾经出现过的最大动物。","哺乳动物",0.0001149580000401329 +"什么是人类基因组计划?","什么是人类基因组计划?","人类基因组计划是一个国际性的科学研究项目,旨在解析人类基因组的结构和功能,以及基因组与人类健康和疾病的关系。该计划的目标包括确定人类基因组的全部序列,识别基因和调控序列的区域,研究基因的结构和功能,以及解析基因组与环境因素相互作用对人类健康和疾病的影响。人类基因组计划的研究成果将有助于深入理解人类的遗传基础,为疾病的预防、诊断和治疗提供重要基础。该计划由多个国家和研究机构共同参与,包括中国、美国、英国、日本和欧洲联盟等。该计划的研究成果对于人类健康和医学研究具有重要意义。","破解人类基因密码的计划",0.0001381670000455415 +"地球上最高的山峰是什么?","地球上最高的山峰是什么?","地球上最高的山峰是珠穆朗玛峰,海拔高度达到8848.86米。","珠穆朗玛峰",0.00018379200002982543 +"金字塔是哪个国家的代表性建筑?","金字塔是哪个国家的代表性建筑?","金字塔是**埃及**国家的代表性建筑。金字塔是古埃及人的一种陵墓,也是古埃及奴隶社会的精神产物。目前所说的金字塔一般指胡夫金字塔。","埃及",0.0002067499999611755 +"什么是太阳黑子?","什么是太阳黑子?","太阳黑子是指存在于太阳光球表面的暗黑斑点,通常是由磁场聚集形成的区域。黑子是太阳表面最突出的现象之一,一个太阳黑子的大小与位置可以保持数月到数年之久。 + +黑子是太阳表面最突出的现象之一,一个中等大小的黑子与地球大小相当。通常情况下,黑子周围的空间会被低温(高温会被加热至高温)和高磁场力所影响。当黑子活动达到最高峰时,会形成巨大的能量释放区,释放出的能量使太阳表面温度降低,导致黑子呈现出暗点或黑暗的区域。 + +太阳黑子的数量通常与太阳表面的活动周期相关,并随着太阳活动周期的变化而变化。在太阳活动周期高峰时,太阳黑子的数量会更多,反之则会减少。在过去的几个世纪里,科学家们已经注意到太阳黑子的周期性变化与地球上的气候和天气模式有一定的相关性。 + +因此,太阳黑子是一种具有重要科学研究意义的太阳表面现象。通过观测和分析太阳黑子,科学家们可以更好地了解太阳活动的规律,进而更好地预测和解释地球上的某些天气和气候现象。","太阳表面的黑暗区域",0.00011041699997349497 +"马拉松比赛的起源与哪位传说人物有关?","马拉松比赛的起源与哪位传说人物有关?","马拉松比赛的起源与**希腊英雄菲迪皮茨**有关。 + +传说中,希腊英雄菲迪皮茨为了鼓舞即将出征的雅典士兵,一口气跑30多公里路,告知他们雅典在战争中的胜利。最终,他体力耗尽而牺牲。为了纪念他的牺牲,人们设立了马拉松比赛,来纪念他创造的路程。最初的马拉松比赛是希腊雅典举行的,目的是纪念这个历史传说。","希腊的飞信传说",0.0002950840000721655 +"火星的表面有何特征?","火星的表面有何特征?","火星的表面特征主要包括: + +1. 氧化铁(即铁锈)的覆盖:火星赤道区域有氧化铁的红色条纹,这些条纹是由于火山爆发和空气中的氧化物将岩石风化后的碎片覆盖在火星表面形成的。 +2. 沙漠和高原:火星上存在着广阔的沙漠区域,如亚马逊平原周边的沙漠。同时,火星上也有高山和峡谷,这些地形特征主要由地质构造和冰川侵蚀形成。 +3. 坑洞和裂纹:火星表面有许多坑洞和巨大的裂纹,这些通常是由陨石撞击和火山活动引起的。 +4. 冰川和极地冰盖:科学家认为火星的两极覆盖着冰川和极地冰盖,这些冰盖可能会揭示火星过去和现在的气候和环境状况。 + +总的来说,火星的表面特征主要是由火山活动、地质构造、气候变化和陨石撞击等多种因素共同作用形成的。通过研究火星的表面特征,科学家可以更好地了解火星的气候、环境、地质历史等关键问题,为未来的火星探测和探索提供重要的科学依据。","红色岩石和沙漠",0.00018970799999351584 +"草原上的“故乡之鸟”指的是什么动物?","草原上的“故乡之鸟”指的是什么动物?","草原上的“故乡之鸟”通常指的是蒙古百灵鸟。蒙古百灵鸟是一种草原上的鸣禽,它们在草原上筑巢繁殖,与草原生态系统中的其他动物和植物共同构成了一个完整的生态体系。蒙古百灵鸟以其优美的歌声和优雅的姿态而著名,因此它们在草原上有着广泛的知名度和受欢迎程度。此外,一些地区还把蒙古百灵鸟称为“故乡之鸟”,以此来表达对这种美丽、自由、和谐的草原生灵的敬意和赞美。","燕子",0.00006716699999742559 +"什么是人类学?","什么是人类学?","人类学(Anthropology)是一门研究人类社会与文化性的学科,它研究人类如何成为他们现在所是的各种过程。人类学关注人类社会的各个方面,包括语言、宗教、艺术、社会结构、亲属关系、时间感、性别角色、儿童发展、环境对文化的影响等。人类学也研究不同文化之间的互动和交流,以及人类在生物和心理上的适应性和发展。 + +人类学的研究方法包括参与观察、深度访谈、问卷调查、民族志描述等。人类学家可能会与各种不同的人群进行互动,并从他们的角度来观察和理解他们的文化和社会。人类学的研究目的通常是为了增进对人类多样性和复杂性的理解,并帮助人们更好地理解和尊重彼此的文化和差异。 + +人类学不仅关注现代社会,也关注过去的社会和文化的演变。考古学也是人类学的一个重要分支,它研究的是人类过去的物质和文化遗存,包括工具、武器、房屋、艺术品、墓葬等。通过研究这些遗存,考古学家能够了解当时的人类社会的经济、社会结构和信仰体系等。 + +人类学有着非常广泛的领域和议题,其研究范围包括了人类的生物和文化起源,也包括了不同社会和文化的交流与影响等。总的来说,人类学是一门旨在研究人类的整体性和多样性的学科,它为理解人类的过去、现在和未来提供了重要的视角和方法。","研究人类的学科",0.00010925000003680907 +"什么是濒危物种?","什么是濒危物种?","濒危物种是指由于其生态系统受到破坏,其数量不断减少,甚至可能面临灭绝的物种。这些物种通常具有独特的生物学特征和生态学特性,对生态环境具有重要价值,因此受到国际和国内法律的保护。 + +濒危物种的种类非常多,包括许多动植物,如大熊猫、老虎、金丝猴、海龟、鲸鱼等。这些物种的生存状况各不相同,有些是因为过度捕猎和猎杀,有些是因为栖息地的丧失和破坏,还有些是因为疾病和气候变化等因素的影响。 + +为了保护濒危物种,国际社会制定了一系列国际和国内法律,如《濒危物种国际贸易公约》、《生物多样性公约》等。同时,许多国家和地区也采取了各种措施,如建立自然保护区、实施人工繁殖计划、加强执法力度等,以保护濒危物种的生存环境和物种本身。","面临灭绝风险的物种",0.00013645900003211864 +"地球的年龄约为多少亿年?","地球的年龄约为多少亿年?","地球的年龄约为**46亿年**,这个时间是从地球诞生的大爆炸推算出来的。","约46亿年",0.0001898340000252574 +"阿拉伯数字是从哪个文化传入的?","阿拉伯数字是从哪个文化传入的?","阿拉伯数字(又称阿拉伯数码)是一种起源于阿拉伯的文化符号,它最初是由古印度人发明的,后来通过阿拉伯地区传入欧洲,并在全球范围内广泛使用。 + +在历史上,阿拉伯数字最初是由古印度人发明的,他们使用了一种数字系统,其中用到了0-9这十个数字符号来表示数目。这个数字系统后来传播到了阿拉伯地区,并在阿拉伯人的文化中得到了广泛的应用和传播。随着阿拉伯文化与欧洲文化的交流,阿拉伯数字也传入欧洲,并逐渐成为全球通用的数字系统。 + +因此,可以说阿拉伯数字最初是由印度文化传入阿拉伯地区,再通过阿拉伯文化传入欧洲的。现在阿拉伯数字已成为全球通用的数字系统,被广泛应用于各种领域。","印度文化",0.00024154200002612924 +"什么是RNA?","什么是RNA?","RNA是一种核酸,它是细胞内另一种核酸(DNA)的互补物质。RNA主要分为三种类型:mRNA(信使RNA)、tRNA(转运RNA)和rRNA(核糖体RNA)。RNA在蛋白质合成过程中起着重要的角色,它可以将遗传信息从DNA传递到蛋白质,是介于DNA和蛋白质之间的一种生物大分子。此外,RNA也参与了某些特定的生物学过程,如某些小分子RNA可以作为RNA酶催化降解靶向mRNA,从而调控基因表达。","核糖核酸",0.00025895900000705296 +"什么是社交网络?","什么是社交网络?","社交网络是一种基于网络的服务,旨在帮助人们建立和维护社交关系,以及分享和交流信息、兴趣和活动。它通常包括在线社交网络平台、社交媒体平台、社交游戏平台等,这些平台允许用户创建个人资料、上传照片和视频、发布状态消息、与他人互动、参与社区和群组等。社交网络可以帮助用户更好地了解朋友和家人的动态,分享自己的经验和想法,以及发现新的兴趣和活动。社交网络的使用已经成为现代社会中人们日常生活中的一部分,它们提供了各种便利和功能,使得人们能够更轻松地与他人保持联系和沟通。","在线平台上用户之间的社交关系",0.00012754199997289106 +"世界上最大的大熊猫基地在哪里?","世界上最大的大熊猫基地在哪里?","世界上最大的大熊猫基地在中国四川省的雅安基地和都江堰基地。这两个基地是大熊猫保护和繁育的重要基地,拥有众多大熊猫种群和丰富的熊猫生态资源。 + +雅安基地位于四川盆地和青藏高原的过渡地带,拥有丰富的竹林资源和大熊猫栖息地,是世界自然遗产地大熊猫栖息地的重要组成部分。都江堰基地则是世界一流的熊猫繁育研究中心,拥有多个大熊猫繁育机构和科研机构,拥有世界上最先进的大熊猫繁育技术和管理体系。 + +总之,这两个基地都是大熊猫保护和繁育的重要基地,也是世界上最大的大熊猫基地之一。","中国四川省",0.00023954199991749192 +"什么是贝尔试验?","什么是贝尔试验?","贝尔试验(Bell Telephone Laboratories)是指**美国电话电报公司旗下的一个研究机构**,它**研究和开发**了一系列技术,包括数字信号处理,语音编码,多路复用,网络仿真和通信协议等。这些技术被广泛应用于现代通信系统,是现代电话网络和互联网技术的基石。","检验空气中是否存在电荷的实验",0.001092000000085136 +"什么是人工智能?","什么是人工智能?","人工智能(Artificial Intelligence)是一门研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的新技术科学,它是计算机科学的一个分支,旨在生产出一种能以人类智能相似的方式做出反应的智能机器。人工智能通过计算机程序实现,通过感知环境中的信息并自主地或与人交互执行任务,增强其性能,扩大其功能,而不是生物神经系统,能够更好地模拟人的生理功能和行为。 + +人工智能涉及多个学科领域,包括机器学习、计算机视觉、自然语言处理、数据挖掘、统计学和心理学等。人工智能的研究领域包括计算机视觉(图像识别)、自然语言处理(语音识别)、专家系统等。 + +目前,人工智能在自动化、机器人技术、预测分析、医疗保健、教育、交通等领域有广泛的应用。人工智能技术正在改变我们的生活和工作方式,并为许多行业带来巨大的商业机会。","模拟人类智能的计算机系统",0.00007458400000359688 +"哪个星座代表双鱼座?","哪个星座代表双鱼座?","双鱼座的星座代表是双鱼座。","双鱼座",0.00011508299996876303 +"世界上最长的河流是什么?","世界上最长的河流是什么?","世界上最长的河流是尼罗河。它流经埃及、苏丹、和尼日尔河上游,全长约6,650公里,其长度比其它所有河流都要长,且源远流长,至今仍然是大自然中无可替代的存在。在某些区域,它的流域已经演变成了繁华的商业、文化和人口中心。以上内容仅供参考,可以查阅相关资料以获取准确信息。","亚马逊河",0.0009635830000433998 +"哪个国家以“千岛之国”著称?","哪个国家以“千岛之国”著称?","以“千岛之国”著称的国家是印度尼西亚。印度尼西亚由17000多个岛屿组成,是全世界岛屿最多的国家,因此也有“千岛之国”之称。此外,印度尼西亚还有“火山国”的称号,因为该国拥有众多活火山和死火山。印度尼西亚是东南亚国家联盟创立国之一,也是全世界最大的群岛国家,国土面积1.7万多个岛屿组成。","印度尼西亚",0.00013154199996279203 +"什么是量子力学?","什么是量子力学?","量子力学是物理学的一个重要理论,它描述了微观世界中粒子的行为,包括电子、光子等。它提供了一种描述微观粒子(如原子、分子等)行为的方式,并解释了诸如波粒二象性、测不准原理、量子纠缠等一些违反直觉的现象。量子力学是现代物理学的基石,对化学和其他领域的研究产生了深远的影响。 + +量子力学的基本原理包括量子态、波函数、算符、测量、不确定性原理等。它建立在观察和实验的基础上,经过了多次验证和修正。量子力学的发展和理论的发展一直伴随着实验的进步,而随着技术的进步,新的实验技术和测量方法也在不断推动量子力学的发展和完善。 + +总之,量子力学是一种描述微观世界中粒子行为的物理学理论,它深刻改变了人类对世界的理解方式和研究方法,是现代物理学和科学技术发展的重要基础。","研究微观领域的物理学",0.00012695800000983581 +"人体最大的器官是什么?","人体最大的器官是什么?","人体最大的器官是皮肤。 + +皮肤是人体最大的器官,覆盖了人体的整个外部,具有保护、调节和感知等功能。根据解剖数据,皮肤的总表面积是人体的最大器官,大约有2平方米左右。此外,皮肤还具有非常重要的保护功能,它可以保护我们的身体免受外界环境中的物理、化学和生物因子的伤害。 + +需要注意的是,皮肤是一个复杂而多功能的器官,它的最大性是基于人体表面的大小和形状,而不是基于其重量、体积或其他生物测量学指标。","皮肤",0.0001670829999511625 +"什么是网络中立性?","什么是网络中立性?","网络中立性是指对所有网络流量一视同仁,不对任何一种网络流量给予优待或歧视。具体而言,网络中立性意味着网络服务提供商应平等对待所有类型的网络应用和服务,确保其得到公平和无差别的待遇。这包括确保网络连接速度对所有应用和服务都保持一致性,避免对某些应用和服务实施额外费用或限制。 + +网络中立性由加拿大贝尔公司提出,其本意是对所有应用都提供同等的网速和带宽,强调网络流量应不受任何限制地平等流动。它反映了人们对网络的理想化理解,即网络是一种无所不包、一视同仁的存在。 + +在现实中,由于网络服务提供商通常会根据不同的用户需求和商业策略提供不同的服务等级,因此网络中立性在实践中往往难以完全实现。但人们通常会认为,一个负责任的网络服务提供商应该在其服务范围内,尽可能地保证用户能够无障碍、无差别地使用网络,避免对某些应用和服务进行歧视或限制。","网络服务商平等对待所有数据",0.00010312500000964064 +"世界上最大的瀑布是什么?","世界上最大的瀑布是什么?","世界上最大的瀑布是**尼亚加拉瀑布**。","安赫尔瀑布",0.00010570799997822178 +"什么是基因工程?","什么是基因工程?","基因工程是一种分子水平的操作技术,它可以通过人工操作和设计来精确地改变生物体的基因组,以实现生物体的定向改造。这种技术是在20世纪70年代初发展起来的,其主要原理是利用体外重组的技术,将特定的DNA分子从一种生物体中转移到另一种生物体中,从而改变后者的基因组。基因工程主要用于研究生物体的遗传规律、改良作物性状、生产生物药物、创造新生物类型和改良环境等方面。基因工程的应用已经取得了许多显著的成果,如转基因抗虫植物、转基因耐旱植物、转基因表达药用蛋白的植物等。同时,基因工程也带来了一些伦理和社会问题,如基因编辑和基因歧视等问题。总的来说,基因工程是一种具有广泛应用前景的重要技术,但也需要在伦理和社会问题的框架下进行规范和监管。","利用基因技术改变生物遗传信息",0.0002230000000054133 +"什么是太阳系的八大行星?","什么是太阳系的八大行星?","太阳系的八大行星是太阳系中围绕太阳运动的八颗行星,按照离太阳的距离从近到远,它们依次是水星、金星、地球、火星、木星、土星、天王星和海王星。这些行星共同组成了太阳系的家庭。其中,水星、金星和地球属于类地行星,火星属于类地行星,而木星、土星、天王星和海王星则属于气态行星。八大行星自转方向多数也和公转方向一致。 + +八大行星包括水星、金星、地球、火星、木星、土星、天王星和海王星,其中水星、金星和地球属于类地行星,而其他行星属于气态行星。这些行星共同构成了太阳系中的家庭。","水金火地木土天王土",0.00018504100000882318 +"面纱舞是哪个国家的传统舞蹈?","面纱舞是哪个国家的传统舞蹈?","面纱舞是**中国**的传统舞蹈。","印度",0.00021233299992218235 +"什么是核裂变和核聚变?","什么是核裂变和核聚变?","核裂变(nuclear fission)和核聚变(nuclear fusion)是两种不同类型的核反应形式,它们都是核能产生的基本方式。 + +核裂变是指由重元素的原子核在吸收能量后分裂成两个或更多较轻元素的原子核的过程。这个过程类似于我们常见的经典裂变炸弹,如原子弹。核裂变反应会产生大量的热能和放射性物质,这些能量可以通过热能发电或驱动方式来利用。 + +核聚变则是指较轻元素的原子核在极高温度和压力下结合成较重元素的过程。太阳内部发生的反应就是核聚变,它会产生大量的热能和光能,这个过程类似于我们常见的氢弹爆炸。由于核聚变反应的条件非常苛刻,目前人类还不能实现大规模的核聚变反应。 + +总的来说,核裂变和核聚变都是实现可控释放原子核能量的过程,它们为人类提供了利用核能的可能。","核反应过程",0.0001082080000287533 +"世界上最大的沙漠是什么?","世界上最大的沙漠是什么?","世界上最大的沙漠是撒哈拉沙漠。 + +撒哈拉沙漠是地球上最大的热带沙漠,横贯北非中东地区,东至红海,北至大西洋,西至非洲西海岸的阿特拉斯山脉。它几乎包含了这个大陆上所有最重要的气候类型,反映了非洲广阔的地貌和地质特征。撒哈拉沙漠由几个子沙漠组成,包括东部的法拉兹沙漠和西部的阿瓦洛戈-夸拉特沙漠,都是世界性的极端干燥气候区域。它是一个广阔的自然之地,具有独特的动植物和地貌,其中一些已被联合国教科文组织列入世界自然遗产。","撒哈拉沙漠",0.00015541699997356773 +"什么是DNA复制?","什么是DNA复制?","DNA复制是指DNA双链在细胞分裂之前复制出与母链互补的子链,为细胞分裂准备两个完整的DNA分子。这个过程由DNA聚合酶和DNA连接酶等参与,复制出的基因组精确定位在细胞分裂的特定位置上。DNA复制能够使遗传信息在亲代和子代之间保持恒定传递。DNA复制是一个重要的分子生物学过程,它在许多生物的生命活动中起着关键作用。","在细胞分裂时复制DNA",0.00017329199999949196 diff --git a/cookbook/evaluation/opencompass_evaluator.ipynb b/cookbook/evaluation/opencompass_evaluator.ipynb new file mode 100644 index 00000000..5fa99087 --- /dev/null +++ b/cookbook/evaluation/opencompass_evaluator.ipynb @@ -0,0 +1,234 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 在千帆 Python SDK 使用 OpenCompass 提供的评估器\n", + "\n", + "OpenCompass是由上海人工智能实验室开源的大模型评测平台。它涵盖了学科、语言、知识、理解、推理等五大评测维度,能够全面评估大模型的能力。OpenCompass作为一个评测工具,对于研究和开发大模型的人员来说,是非常有价值的资源。通过使用OpenCompass,用户可以更准确地了解他们的大模型在各项任务上的表现,从而进行针对性的优化和改进。\n", + "\n", + "千帆 Python SDK 中内置的评估模块,支持用户使用 OpenCompass 提供的评估器,对模型的推理结果进行评估。\n", + "\n", + "# 前置准备\n", + "\n", + "首先,需要安装千帆 Python SDK" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "vscode": { + "languageId": "shellscript" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + + ] + } + ], + "source": [ + "pip install -U qianfan" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "然后再安装 OpenCompass。这部分的教程可以参考 OpenCompass 所提供的[官方文档](https://opencompass.org.cn/doc),或者直接使用以下命令在 Python 中安装:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "vscode": { + "languageId": "shellscript" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + + ] + } + ], + "source": [ + "pip install opencompass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 正文\n", + "\n", + "为了在千帆 Python SDK 的评估模块中使用来自 OpenCompass 的评估器,用户需要使用 `qianfan.evaluation.opencompass_evaluator` 中提供的 `OpenCompassLocalEvaluator` 类,将 OpenCompass 评估器包装为千帆 Python SDK 的评估器。\n", + "\n", + "OpenCompass 所有可以使用的评估器都存放在 `opencompass.openicl.icl_evaluator` 模块下。其中,仅有,仅包含了 `predictions` 与 `references` 两个参数的 `score` 函数的评估器可用于千帆 Python SDK 提供的 `OpenCompassLocalEvaluator` 类。这部分符合条件的评估器包括:\n", + "\n", + "+ opencompass.openicl.icl_evaluator.icl_agent_evaluator.PassRateEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_circular_evaluator.CircularEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_em_evaluator.EMEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_hf_evaluator.AccEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_hf_evaluator.RougeEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_hf_evaluator.BleuEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_hf_evaluator.BleuFloresEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_hf_evaluator.MccEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_hf_evaluator.SquadEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_jieba_rouge_evaluator.JiebaRougeEvaluator\n", + "+ opencompass.openicl.icl_evaluator.icl_toxic_evaluator.ToxicEvaluator\n", + "\n", + "在本教程编写时,用户应可以直接使用上面列表所列的评估器。\n", + "\n", + "下面我们演示如何使用其中的 `PassRateEvaluator` 评估器,`BleuEvaluator` 评估器和 `JiebaRougeEvaluator` 评估器来进行一次评估。\n", + "\n", + "## 导入数据集\n", + "\n", + "在评估之前,我们需要先导入数据集。本教程准备了一份专门用于评估的数据集,存放在 `data_file/eval_dataset.csv` 中" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO] [03-20 15:57:10] dataset.py:389 [t:8094817088]: no data source was provided, construct\n", + "[INFO] [03-20 15:57:10] dataset.py:257 [t:8094817088]: construct a file data source from path: data_file/eval_dataset.csv, with args: {'eval_input_column': 'input_prompt', 'eval_llm_output_column': 'llm_output', 'reference_column': 'expected_output'}\n", + "[INFO] [03-20 15:57:10] file.py:260 [t:8094817088]: use format type FormatType.Csv\n", + "[INFO] [03-20 15:57:10] utils.py:140 [t:8094817088]: has got a memory-mapped table\n", + "[INFO] [03-20 15:57:10] dataset.py:883 [t:8094817088]: list local dataset data by 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'prompt': '地球的自转周期是多久?', 'input_prompt': '地球的自转周期是多久?', 'llm_output': '地球的自转周期约为**23小时56分4秒**。', 'expected_output': '大约24小时', 'request_complete_latency': '0.0003000829999564303'}\n" + ] + } + ], + "source": [ + "from qianfan.dataset import Dataset\n", + "\n", + "ds = Dataset.load(data_file=\"data_file/eval_dataset.csv\", eval_input_column=\"input_prompt\", eval_llm_output_column=\"llm_output\", reference_column=\"expected_output\")\n", + "\n", + "print(ds.list(0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 创建评估器及评估器对象\n", + "\n", + "然后,我们创建评估器对象。" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + + ] + } + ], + "source": [ + "from opencompass.openicl.icl_evaluator import PassRateEvaluator, JiebaRougeEvaluator, BleuEvaluator\n", + "from qianfan.evaluation import EvaluationManager\n", + "from qianfan.evaluation.opencompass_evaluator import OpenCompassLocalEvaluator\n", + "\n", + "evaluator_list = [\n", + " OpenCompassLocalEvaluator(open_compass_evaluator=JiebaRougeEvaluator()),\n", + " OpenCompassLocalEvaluator(open_compass_evaluator=PassRateEvaluator()),\n", + " OpenCompassLocalEvaluator(open_compass_evaluator=BleuEvaluator()),\n", + "]\n", + "\n", + "em = EvaluationManager(local_evaluators=evaluator_list)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 开始评估以及保存结果\n", + "\n", + "我们只需要调用 `EvaluationManager` 的 `eval_only` 函数,即可完成一次评估,并且将评估结果保存到本地的文件中" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO] [03-20 15:57:13] dataset.py:883 [t:8094817088]: list local dataset data by 0\n", + "Building prefix dict from the default dictionary ...\n", + "Loading model from cache /var/folders/3g/cvyfl_zn12df2m4_1tj7mhdw0000gn/T/jieba.cache\n", + "Loading model cost 0.282 seconds.\n", + "Prefix dict has been built successfully.\n", + "[INFO] [03-20 15:58:11] dataset.py:462 [t:8094817088]: no destination data source was provided, construct\n", + "[INFO] [03-20 15:58:11] dataset.py:257 [t:8094817088]: construct a file data source from path: eval_result.json, with args: {}\n", + "[INFO] [03-20 15:58:11] file.py:260 [t:8094817088]: use format type FormatType.Json\n", + "[INFO] [03-20 15:58:11] dataset.py:883 [t:8094817088]: list local dataset data by slice(0, 9999, None)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_ds = em.eval_only(ds).result_dataset\n", + "\n", + "result_ds.save(data_file=\"eval_result.json\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "bce-qianfan-sdk-new", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/python/qianfan/evaluation/opencompass_evaluator.py b/python/qianfan/evaluation/opencompass_evaluator.py index 235accdf..7ee0c032 100644 --- a/python/qianfan/evaluation/opencompass_evaluator.py +++ b/python/qianfan/evaluation/opencompass_evaluator.py @@ -50,7 +50,10 @@ def _check_open_compass_evaluator( def evaluate( self, input: Union[str, List[Dict[str, Any]]], reference: str, output: str ) -> Dict[str, Any]: - return self.open_compass_evaluator.score([output], [reference]) # type: ignore + return self.open_compass_evaluator.score( # type: ignore + predictions=[output], # type: ignore + references=[reference], # type: ignore + ) except ModuleNotFoundError: