Skip to main content
Glama

baidu-ai-search

Official
by baidubce
component_tool_eval_cases.py18.4 kB
# Copyright (c) 2023 Baidu, Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from appbuilder.core.component import Component from appbuilder.tests.component_schemas import text_schema, url_schema, image_schema, code_schema, file_schema, \ oral_text_schema, references_schema, chart_schema, audio_schema, plan_schema, function_call_schema class Case(): def init_args(self): return {} def inputs(self): return NotImplementedError() def outputs(self): return {} def schemas(self): return NotImplementedError() def envs(self): return {} class AnimalRecognitionCase(Case): def inputs(self): return { "img_name": "", "img_url": "https://bj.bcebos.com/v1/appbuilder/animal_recognize_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T" \ "12%3A19%3A16Z%2F-1%2Fhost%2F411bad53034fa8f9c6edbe5c4909d76ecf6fad68" \ "62cf937c03f8c5260d51c6ae" } def outputs(self): return {"text": ["熊猫"]} def schemas(self): return [text_schema] class ASRCase(Case): def inputs(self): return { "file_url": "https://bj.bcebos.com/v1/appbuilder/asr_test.pcm?authorization=bce-auth-v1" \ "%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T10%3A56%3A41Z%2F-1%2Fhost" \ "%2Fa6c4d2ca8a3f0259f4cae8ae3fa98a9f75afde1a063eaec04847c99ab7d1e411" } def outputs(self): return {"text": ["北京科技馆"]} def schemas(self): return [text_schema] class TreeMindCase(Case): def inputs(self): return {"query": "生成一份年度总结的思维导图"} def schemas(self): return [text_schema, url_schema] class ImageUnderstandCase(Case): def inputs(self): return { "img_url": "https://bj.bcebos.com/v1/appbuilder/animal_recognize_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T" \ "12%3A19%3A16Z%2F-1%2Fhost%2F411bad53034fa8f9c6edbe5c4909d76ecf6fad68" \ "62cf937c03f8c5260d51c6ae", "img_name": "test_img.jpg" } def outputs(self): return {"text": ["熊猫"]} def schemas(self): return [text_schema] class Text2ImageCase(Case): def inputs(self): return {"query": "生成一张熊猫图片"} def schemas(self): return [url_schema] class StyleRewriteCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return {"query": "文心大模型发布新版"} def schemas(self): return [text_schema] class QRcodeOCRCase(Case): def inputs(self): image_url = "https://bj.bcebos.com/v1/appbuilder/qrcode_ocr_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-" \ "01-24T12%3A45%3A13Z%2F-1%2Fhost%2Ffc43d07b41903aeeb5a023131ba6" \ "e74ab057ce26d50e966dc31ff083e6a9c41b" return { "file_names": ["text"], "_sys_file_urls": {"text": image_url} } def schemas(self): return [text_schema] def outputs(self): return {"text": ["ocr文字识别"]} class HallucinationDetectionCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": '澳门新麻蒲烤肉店每天开门吗?', "context": ('澳门美食: 澳门新麻蒲韩国烤肉店\n' '在澳门一年四季之中除了火锅,烤肉也相当受欢迎。提到韩烧,有一间令我印象最深刻,就是号称韩国第一的烤肉店-新麻蒲韩国烤肉店,光是韩国的分店便多' '达四百多间,海外分店更是遍布世界各地,2016年便落户澳门筷子基区,在原本已经食肆林立的地方一起百花齐放!店内的装修跟韩国分店还完度几乎没差,让' '食客彷如置身于韩国的感觉,还要大赞其抽风系统不俗,离开时身上都不会沾上烤肉味耶!\n' '时间:周一至周日 下午5:00 - 上午3:00\n' '电话:+853 2823 4012\n' '地址:澳门筷子基船澳街海擎天第三座地下O号铺96号\n' '必食推介:\n' '护心肉二人套餐\n' '来新麻蒲必试的有两样东西,现在差不多每间烤肉店都有炉边烤蛋,但大家知道吗?原来新麻蒲就是炉边烤蛋的开创者,既然是始祖,这已经是个非吃不可的理' '由!还有一款必试的就是护心肉,即是猪的横隔膜与肝中间的部分,每头猪也只有200克这种肉,非常珍贵,其味道吃起来有种独特的肉香味,跟牛护心肉一样' '精彩!\n' '秘制猪皮\n' '很多怕胖的女生看到猪皮就怕怕,但其实猪皮含有大量胶原蛋白,营养价值很高呢!这里红通通的猪皮还经过韩国秘制酱汁处理过,会有一点点辣味。烤猪皮的' '时候也需特别注意火侯,这样吃起来才会有外脆内Q的口感!'), "answer": '澳门新麻蒲烤肉店并不是每天开门,周日休息。' } def schemas(self): return [text_schema] def outputs(self): return {"text": ["存在幻觉"]} class HandWriteOCRCase(Case): def inputs(self): image_url = "https://bj.bcebos.com/v1/appbuilder/test_handw" \ "rite_ocr.jpg?authorization=bce-auth-v1%2FALTAKGa8" \ "m4qCUasgoljdEDAzLm%2F2024-01-23T11%3A58%3A09Z%2F-1%2Fhost%2" \ "F677f93445fb65157bee11cd492ce213d5c56e7a41827e45ce7e32b083d195c8b" return { "file_names": ["text"], "_sys_file_urls": {"text": image_url} } def schemas(self): return [text_schema] def outputs(self): return {"text": ["银杏树"]} class MixCardOCRCase(Case): def inputs(self): image_url = ("https://bj.bcebos.com/v1/appbuilder/test_mix_card_ocr.jpeg?" "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T06" "%3A18%3A11Z%2F-1%2Fhost%2F695b8041c1ded194b9e80dbe" "1865e4393da5a3515e90d72d81ef18296bd29598") return { "file_names": ["test"], "_sys_file_urls": {"test": image_url} } def schemas(self): return [text_schema] def outputs(self): return {"text": ["北京市公安局"]} class TranslationCase(Case): def inputs(self): return { "q": "你好", "to_lang": "en", } def schemas(self): return [text_schema] def outputs(self): return {"text": ["hello"]} class GeneralOCRCase(Case): def inputs(self): return { "img_url": "https://bj.bcebos.com/v1/appbuilder/general_ocr_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-" \ "11T10%3A59%3A17Z%2F-1%2Fhost%2F081bf7bcccbda5207c82a4de074628b04ae" \ "857a27513734d765495f89ffa5f73", "img_name": "test_img.jpg" } def outputs(self): return {"text": ["识别结果"]} def schemas(self): return [text_schema] class TableOCRCase(Case): def inputs(self): image_url = "https://bj.bcebos.com/v1/appbuilder/table_ocr_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T12%3A37%3A09Z%2F-1%2Fhost%2Fab528a5a9120d328dc6d18c6" \ "064079145ff4698856f477b820147768fc2187d3" return { "file_names": [image_url] } def schemas(self): return [text_schema] def outputs(self): return {"text": ["http"]} class Text2ImageCase(Case): def inputs(self): return { 'query': '生成一张小猫图片', } def schemas(self): return [image_schema] class StyleWritingCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "帮我写一篇关于足球的文案", "style": "小红书", "length": 100, } def schemas(self): return [text_schema] def outputs(self): return {"text": ["足球"]} class TreeMindCase(Case): def inputs(self): return { "query": "生成一份年度总结的思维导图" } def schemas(self): return [text_schema, url_schema, image_schema] class PlantRecognitionCase(Case): def inputs(self): img_url = "https://bj.bcebos.com/v1/appbuilder/animal_recognize_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T" \ "12%3A19%3A16Z%2F-1%2Fhost%2F411bad53034fa8f9c6edbe5c4909d76ecf6fad68" \ "62cf937c03f8c5260d51c6ae" img_name = "test_img.jpg" return { "img_url": img_url, "img_name": img_name } def schemas(self): return [text_schema] def outputs(self): return {"text": ["非植物"]} class ASRCase(Case): def inputs(self): audio_file_url = "https://bj.bcebos.com/v1/appbuilder/asr_test.pcm?authorization=bce-auth-v1" \ "%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T10%3A56%3A41Z%2F-1%2Fhost" \ "%2Fa6c4d2ca8a3f0259f4cae8ae3fa98a9f75afde1a063eaec04847c99ab7d1e411" return { "file_url": audio_file_url } def schemas(self): return [text_schema] def outputs(self): return {"text": ["北京科技馆"]} class ObjectRecognitionCase(Case): def inputs(self): img_url = "https://bj.bcebos.com/v1/appbuilder/object_recognize_test.png?" \ "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-" \ "11T11%3A00%3A19Z%2F-1%2Fhost%2F2c31bf29205f61e58df661dc80af31a1dc" \ "1ba1de0a8f072bc5a87102bd32f9e3" return { "img_url": img_url } def schemas(self): return [text_schema] def outputs(self): return {"text": ["苹果"]} class SimilarQuestionCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "我想吃冰淇淋,哪里的冰淇淋比较好吃?" } def schemas(self): return [text_schema] def outputs(self): return {"text": ["冰淇淋"]} class OralQueryGenerationCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): text = ('文档标题:在OPPO Reno5上使用视频超级防抖\n' '文档摘要:OPPO Reno5上的视频超级防抖,视频超级防抖3.0,多代视频防抖算法积累,这一代依旧超级防抖超级稳。 开启视频超级' '防抖 开启路径:打开「相机 > 视频 > 点击屏幕上方的“超级防抖”标识」 后置视频同时支持超级防抖和超级防抖Pro功能,开启超级' '防抖后手机屏幕将出现超级防抖Pro开关,点击即可开启或关闭。 除此之外,前置视频同样加持防抖算法,边走边拍也能稳定聚焦脸部' ',实时视频分享您的生活。') return { "text": text } def schemas(self): return [text_schema] def outputs(self): return {"text": ["OPPO"]} class QueryRewriteCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "我想吃冰淇淋,哪里的冰淇淋比较好吃?", "rewrite_type": "带机器人回复" } def schemas(self): return [text_schema] def outputs(self): return {"text": ["冰淇淋"]} class Nl2pandasComponentCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "给我一份2020年到2022年每年的销售额", "table_info": '''表格列信息如下: 学校名 : 清华附小 , 字符串类型,代表小学学校的名称 所属地区 : 西城区 , 字符串类型,表示该小学学校所在的位置 创办时间 : 1998 , 数字值类型,表示该小学学校的创办时间 类别 : 公立小学 , 字符串类型,表示该小学学校所在的类别 学生人数 : 2000 , 数字值类型,表示该小学学校的学生数量 教职工人数 : 140 , 数字值类型,表示该小学学校的教职工数量 教学班数量 : 122 , 数字值类型,表示该小学学校的教学班数量 ''' } def schemas(self): return [text_schema] class DialogSummaryCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "请给我总结一下这段对话", } def schemas(self): return [text_schema] class MRCCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "残疾人怎么办相关证件", "context_list": [ """如何办理残疾人通行证一、残疾人通行证办理条件: 1、持有中华人民共和国残疾人证,下肢残疾或者听力残疾; 2、持有准驾车型为C1(听力残疾)、C2(左下肢残疾、听力残疾)、C5(右下肢、双下肢残疾)的机动车驾驶证, 听力残疾人驾驶证须有“驾驶机动车应佩戴助听设备”的批注(批注请到各车管分所办理);""", """3、本人拥有本市登记核发的非营运小型载客汽车,车辆须在检验有效期内,并有有效交强险凭证, C5车辆加装操纵辅助装置后已办理变更手续。二、办理地点:北京市朝阳区左家庄北里35号: 北京市无障碍环境建设促进中心(北京市残疾人辅助器具资源中心),咨询电话:63547715 或68397831。三、所需材料:1、 有效的身份证明原件和复印件;2、残疾人证原件和复印件;3、驾驶证原件和复印件; 4、车辆行驶证原件和复印件;5、有效的机动车交强险凭证。""" ] } def schemas(self): return [text_schema] class IsComplexQueryCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "吸塑包装盒在工业化生产和物流运输中分别有什么重要性?", } def schemas(self): return [text_schema] def outputs(self): return {"text": ["复杂问题"]} class QAPairMiningCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "2017年,工商银行根据外部宏观环境变化...", } def schemas(self): return [text_schema] class QueryDecompositionCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "吸塑包装盒在工业化生产和物流运输中分别有什么重要性?", } def schemas(self): return [text_schema] class TagExtractionCase(Case): def init_args(self): return {"model": "ERNIE-3.5-8K"} def inputs(self): return { "query": "本实用新型公开了一种可利用热能的太阳能光伏光热一体化组件,包括太阳能电池,还包括有吸热板,太阳能电池粘附在吸热板顶面,吸热板内嵌入有热电材料制成的内芯,吸热板底面设置有蛇形管。本实用新型结构紧凑,安装方便,能充分利用太阳能电池散发的热能,具有较高的热能利用率。", } def schemas(self): return [text_schema] component_tool_eval_cases = { "AnimalRecognition": AnimalRecognitionCase, "ImageUnderstand": ImageUnderstandCase, "ASR": ASRCase, "TreeMind": TreeMindCase, "StyleRewrite": StyleRewriteCase, "HallucinationDetection": HallucinationDetectionCase, "QRcodeOCR": QRcodeOCRCase, "HandwriteOCR": HandWriteOCRCase, "MixCardOCR": MixCardOCRCase, "Translation": TranslationCase, "GeneralOCR": GeneralOCRCase, "TableOCR": TableOCRCase, "Text2Image": Text2ImageCase, "StyleWriting": StyleWritingCase, "TreeMind": TreeMindCase, "PlantRecognition": PlantRecognitionCase, "ASR": ASRCase, "ObjectRecognition": ObjectRecognitionCase, "SimilarQuestion": SimilarQuestionCase, "OralQueryGeneration": OralQueryGenerationCase, "QueryRewrite": QueryRewriteCase, "Nl2pandasComponent": Nl2pandasComponentCase, "DialogSummary": DialogSummaryCase, "MRC": MRCCase, "IsComplexQuery": IsComplexQueryCase, "QAPairMining": QAPairMiningCase, "QueryDecomposition": QueryDecompositionCase, "TagExtraction": TagExtractionCase, }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baidubce/app-builder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server