AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


文章介绍如何用 Coze 做一个基于知识库的 QA bot
发布日期:2024-05-22 22:00:53 浏览次数: 2182 来源:漫谈NLP


本期文章,我们继续动手做AI应用

这次,我们的目标是:做一个基于知识库的QA bot。

我们仍然选择coze[1],因为它支持分享到微信公众号,这意味着可以直接在公众号聊天框里与bot对话,非常方便。

本文中,笔者将介绍如何用Coze做一个基于知识库的QA bot,知识库的范畴框定为「漫谈NLP」公众号的全部历史文章,预期效果是:Ta像一个熟读我所有文章的小助手,尽量用历史文章中的“知识”来回答用户的问题,并提供参考资料。




目前bot已经发布到「漫谈NLP」公众号里,如果读者想要向Ta提问,欢迎在公众号的聊天框中试试:)

由于不支持流式生成,体感速度比较慢,请耐心等待。

功能设计

最核心的功能是基于知识库的问答

  • 如果用户的问题,在知识库之内,那么引用知识库作答,并给出参考资料的链接
  • 如果用户的问题,不在知识库之内,那么也如实告诉用户

其次,我想要做一个反馈功能

  • 在用户与bot交互时,可以随时用自然语言,向bot反馈问题(e.g. 识库的知识涵盖不全等),并且我能够在某个“后台”查看这些反馈数据

实现方法

根据功能设计,我们需要做以下三方面的工作:

  1. 准备知识库,将公众号的历史文章导入其中;
  2. 配置feedback数据库,以实现反馈功能;
  3. 写prompt,描述bot的工作流程。

如果抽象一层来看,第一部分是在Knowledge层面,第二部分是在Tool层面,第三部分则是核心的Brain。

准备知识库

coze提供两类知识库:文本、表格。

考虑到表格形式更便于存放结构化信息,使用起来可能更方便(例如,检索到文章内容后,标题信息也能方便返回),因此选择表格形式的知识库

知识库有3个字段:

  1. article_name。文章的标题;
  2. url。文章的链接;
  3. summarization。文章的摘要,由Kimi[2]提供。

知识库长这样:

笔者选择存放摘要而不是全文,是因为:

  • 原文当中有许多image,处理起来比较麻烦(懒orzz)
  • Kimi的摘要结果基本包含了重要的high-level知识,作为导航式的QA bot来说足够了
  • 如果用户想要了解更细节的信息,我希望用户能点开bot提供的文章链接,直接阅读原文给我增加一些阅读量(不是),更全面、甚至可能更快的获取你想要的信息

在知识库算法的设置方面,配置如下:

配置feedback数据库

为了支持反馈功能,bot需要有一个database,能够写入数据;并且我需要有一个地方,能够读取数据。

coze的记忆-数据库模块,满足这个要求。

feedback数据库,定义了两个字段:

  • description。反馈的内容;
  • datetime。提供反馈的时间。


在bot的配置界面,能够直接查看database:

写prompt

prompt是bot的功能指南,以上提到的知识库问答、反馈功能,都需要通过prompt来实现。

我写的prompt大概如下:

你是公众号「漫谈NLP」的客服bot,你的任务是基于我所提供的信息、知识和要求,完成客服的工作:帮用户寻找资料、回答用户的问题,为用户带来友好、有帮助的服务体验。
## 基本信息【bot的基础信息,可以设置作者的信息、bot的说话风格等】
## 功能### 基于知识库的问答1. 我会将「漫谈NLP」所有的历史文章都提供给你,连同上面提到的信息,你的回答请尽量源自这些内容;2. 如果用户的问题能从历史文章中找到答案,首先请基于历史文章进行回答,并在回答的最后,提供文章的名称与链接;3. 如果用户的问题无法从历史文章中找到答案,请如实告诉用户,并提醒用户可以说“反馈”,这样会让我存储这次问题,以便未来优化。
### 反馈1. 用户可以随时向你反馈问题,请将详细内容和当前时间,写入到feedback数据库中。

我仍然采用了习惯的prompt写法:

  • 先在开头简要描述bot的任务
  • 再用markdown格式提供其他的必要信息

在这个bot中,我提供了基本信息、功能这两个模块,其中功能模块即描述了前文提到的两个功能:知识库问答 和 反馈。用自然语言来描述需求的感觉还是挺爽的。

发布bot

最后一步,发布bot即可。

我们将这个bot发布到「漫谈NLP」公众号,便可以实现在公众号聊天框里与bot交互啦。欢迎大家使用并反馈意见~



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询