欢迎来到《小5讲堂》
这是《千帆》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_数据


目录
  • 背景
  • 组件方式
  • prompt
  • 新参数
  • 运动员信息组件
  • 奖牌排行榜组件
  • 知识库方式
  • prompt
  • 切片断层
  • 模型输出
  • 正则表达式
  • 整个文件作为切片
  • 排行榜
  • 体验地址
  • 推荐文章


背景

2024年奥运会已经落下帷幕,中国金牌并列第一。
尽管比赛已经结束,网上也有很多奖牌排行榜,但是很少有运动员维度获奖信息或者排行榜。
因此,博主这里通过记录2024年奥运会的每个获奖运动员信息,并且通过知识库方式进行存储查询。
可以查询指定运动员获奖信息,或者各个国家奖牌排行情况等等。

组件方式

prompt

下面是通过调用组件方式编写的prompt,目的是按大模型能够识别到并调用组件

#角色设定
你是一名2024巴黎奥运会运动员获奖信息查询小助手,
你能够根据用户输入的运动员名称执行插件工具,然后获得插件工具返回数据进行显示。

#组件能力
1、根据用户输入的运动员名称,执行组件。
2、根据用户输入的排行榜,执行组件。
3、组件返回数据进行显示。

#要求与限制
1.输出内容的合法合规,不能具有敏感信息
2.要求解析markdown格式表格,并以表格方式显示信息
3.输出格式为一个表格
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

新参数

在开始节点,新增多了两个参数chatHistory和fileUrls。

**chatHistory:**用户与应用的对话历史(有了这个参数也许可以做到和用户一对一识别后端交互,这个可以验证下)

**fileUrls:**用户在对话中上传的文件地址

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_巴黎奥运会_02


历史对话参数查看情况

第一次对话,chatHistory历史对话参数没有值

{"input":"张雨霏运动员获奖信息","name":"张雨霏","chatHistory":""}
  • 1.

第二次对话,会把前一次的问答记录传回来

{"input":"苏炳添运动员","name":"苏炳添","chatHistory":"User:张雨霏运动员获奖信息\nAssistant:张雨霏运动员在2024巴黎奥运会上的获奖信息如下:\n| 比赛项目 | 奖牌 |\n| --- | --- |\n| 男女混合4x100米混合泳接力 | 银牌 |\n| 女子100米蝶泳 | 铜牌 |\n| 女子200米蝶泳 | 铜牌 |\n| 女子4x100米混合泳接力 | 铜牌 |\n| 女子4x100米自由泳接力 | 铜牌 |\n| 女子50米自由泳 | 铜牌 |\n以上就是张雨霏运动员在巴黎奥运会上的获奖情况。\n\n"}
  • 1.

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_运动员获奖信息_03

运动员信息组件

组件里使用了一个API节点,api调用的是自己服务器后端接口,通过接口写逻辑查询数据库。

关键还是设置好api接口接收的参数name运动员参数,这个参数的是被由大模型进行识别和赋值。

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_人工智能_04


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_运动员获奖信息_05

奖牌排行榜组件

组件里使用了一个API节点,api调用的是自己服务器后端接口,通过接口写逻辑查询数据库。

关键还是设置好api接口接收的参数country国家和type奖牌类型参数,这个参数的是被由大模型进行识别和赋值。

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_prompt_06


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_数据_07

知识库方式

知识库这里,控制切换的内容长度也是一个非常关键的地方。

prompt

#角色设定
你是一名2024巴黎奥运会运动员获奖信息查询小助手,
你能够根据用户输入的运动员名称执行知识库查询信息,以及各维度奖牌排行榜信息。

#知识库能力
1、根据用户输入的运动员名称,执行知识库查询。
2、根据用户输入的排行榜,执行知识库查询。
3、知识库返回数据进行显示。
4、用户输入查询排行榜、奖牌榜等信息时,调用知识库【2024年巴黎奥运会各国运动员奖牌数量排行榜】文件查询

#要求与限制
1.输出内容的合法合规,不能具有敏感信息
2.要求解析markdown格式表格,并以表格方式显示信息
3.输出格式为一个表格

#运动员输出格式
XXX是一名XX国家XX运动员
|比赛项目|奖项类型|查看详情|
[头像]()

#排行榜输出格式
|运动员|国家|奖牌数量|
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

切片断层

这里使用【张雨霏】运动员作为例子,因为获奖奖牌数量多,所以,她的内容也是会比较多,
这样在默认切片情况下,在命中测试时是会出现断层,从而无法准确查询到所有信息。

  • 下面是默认切片效果

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_prompt_08


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_prompt_09

  • 下面是根据#井号进行整个运动员信息切片效果

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_运动员获奖信息_10


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_运动员获奖信息_11

模型输出

刚开始选择Speed速度上有优势的问答模型,发现会把部分信息混淆输出,导致数据不准确。

这个【美国昆西·霍尔】关键词,出来两个参考切片,查看内容发现【昆西】这个关键词一样。

为了确保准确性,选择了模型【ERNIE-4.0-8K】,之后测试可以准确输出。

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_数据_12


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_人工智能_13


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_巴黎奥运会_14

正则表达式

由于按运动员名称进行存储文件,上传到知识库时太多了。

因此,把所有运动员信息保存到同一个txt文档,然后通过#井号符号进行切分。

确保每个切片都是唯一一个运动员的所有信息,所以增加到5000个字符切分,基本能满足了。

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_巴黎奥运会_15


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_prompt_16

整个文件作为切片

由于这个文件是各国奖牌排行榜数据,所以不能有断层,所以这里就用了整个文件作为切片。

给文件增加一些关键词,增加命中率,比如:排行榜、中国排行榜、各国排行榜等等

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_prompt_17


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_巴黎奥运会_18


【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_prompt_19

排行榜

目前只上传了前20名,获得奖牌数量的排行榜。

|运动员|国家|奖牌数量|
|张雨霏|中国|6|
|凯莉·麦基翁|澳大利亚|5|
|莫莉·奥卡拉汉|澳大利亚|5|
|莱昂·马尔尚|法国|5|
|丽根·史密斯|美国|5|
|托丽·赫斯克|美国|5|
|阿里亚妮·蒂特马斯|澳大利亚|4|
|丽贝卡·安德拉德|巴西|4|
|萨默·麦金托什|加拿大|4|
|格蕾琴·沃尔什|美国|4|
|凯蒂·莱德基|美国|4|
|凯特·道格拉斯|美国|4|
|西蒙娜·拜尔斯|美国|4|
|冈慎之助|日本|4|
|杨浚瑄|中国|4|
|埃玛·麦基翁|澳大利亚|3|
|凯尔·查默斯|澳大利亚|3|
|马修·理查德森|澳大利亚|3|
|梅格·哈里斯|澳大利亚|3|
|金优镇|韩国|3|
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)_人工智能_20

感谢阅读,本篇文章分享就到这里啦!
希望这篇文章分享的知识库和组件的经验能够给你一点小灵感。

体验地址

我在百度智能云千帆AppBuilder开发了一款AI原生应用,快来使用吧!
「2024巴黎奥运会运动员获奖信息」: https://appbuilder.baidu.com/s/lObZZwY5 手机端体验地址: https://wx.baeapps.com/api/ai_apaas/v1/wx_program/share?share_code=app7kD9trRXfbCLI2Q3WPpU