微信扫码
与创始人交个朋友
我要投稿
本期文章,我们继续动手做AI应用。
这次,我们的目标是:做一个基于知识库的QA bot。
我们仍然选择coze[1],因为它支持分享到微信公众号,这意味着可以直接在公众号聊天框里与bot对话,非常方便。
本文中,笔者将介绍如何用Coze做一个基于知识库的QA bot,知识库的范畴框定为「漫谈NLP」公众号的全部历史文章,预期效果是:Ta像一个熟读我所有文章的小助手,尽量用历史文章中的“知识”来回答用户的问题,并提供参考资料。
目前bot已经发布到「漫谈NLP」公众号里,如果读者想要向Ta提问,欢迎在公众号的聊天框中试试:)
由于不支持流式生成,体感速度比较慢,请耐心等待。
最核心的功能是基于知识库的问答:
其次,我想要做一个反馈功能:
根据功能设计,我们需要做以下三方面的工作:
如果抽象一层来看,第一部分是在Knowledge层面,第二部分是在Tool层面,第三部分则是核心的Brain。
coze提供两类知识库:文本、表格。
考虑到表格形式更便于存放结构化信息,使用起来可能更方便(例如,检索到文章内容后,标题信息也能方便返回),因此选择表格形式的知识库。
知识库有3个字段:
知识库长这样:
笔者选择存放摘要而不是全文,是因为:
在知识库算法的设置方面,配置如下:
为了支持反馈功能,bot需要有一个database,能够写入数据;并且我需要有一个地方,能够读取数据。
coze的记忆-数据库模块,满足这个要求。
feedback数据库,定义了两个字段:
在bot的配置界面,能够直接查看database:
prompt是bot的功能指南,以上提到的知识库问答、反馈功能,都需要通过prompt来实现。
我写的prompt大概如下:
你是公众号「漫谈NLP」的客服bot,你的任务是基于我所提供的信息、知识和要求,完成客服的工作:帮用户寻找资料、回答用户的问题,为用户带来友好、有帮助的服务体验。
## 基本信息
【bot的基础信息,可以设置作者的信息、bot的说话风格等】
## 功能
### 基于知识库的问答
1. 我会将「漫谈NLP」所有的历史文章都提供给你,连同上面提到的信息,你的回答请尽量源自这些内容;
2. 如果用户的问题能从历史文章中找到答案,首先请基于历史文章进行回答,并在回答的最后,提供文章的名称与链接;
3. 如果用户的问题无法从历史文章中找到答案,请如实告诉用户,并提醒用户可以说“反馈”,这样会让我存储这次问题,以便未来优化。
### 反馈
1. 用户可以随时向你反馈问题,请将详细内容和当前时间,写入到feedback数据库中。
我仍然采用了习惯的prompt写法:
在这个bot中,我提供了基本信息、功能这两个模块,其中功能模块即描述了前文提到的两个功能:知识库问答 和 反馈。用自然语言来描述需求的感觉还是挺爽的。
最后一步,发布bot即可。
我们将这个bot发布到「漫谈NLP」公众号,便可以实现在公众号聊天框里与bot交互啦。欢迎大家使用并反馈意见~
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-08-13
2024-08-21
2024-07-09
2024-06-13
2024-08-04
2024-04-11
2024-07-18
2024-07-01