如何让Coze知识库真正发挥作用:配置与调优技巧

0 阅读4分钟

首先,我们需要了解知识库是什么?

什么是知识库?

coze的知识库是一种语义的搜索系统,它支持将本地数据,格式(TXT、PDF、WORD、MD等)上传,并将数据进行分段处理后,在我们搜索内容的时候,会通过语义搜索将匹配的内容,发给大模型。

大模型收到“参考资料”后,加上本身的语言能力,将内容呈现给用户。

知识库主要是为了提高大模型的专业性和可靠性。

知识库 和 数据库

知识库是模糊匹配的,数据库是精准匹配的

知识库是用于存储非结构化的数据,比如员工手册、客服FAQ、产品说明书,为了解决智能体的幻觉。

数据库是存储用户业务数据,比如登录数据、读书笔记记录保存、订单记录等,提高用户黏性

集成方式

  1. 登录扣子编程
  2. 选择低代码模式下的智能体开发
  3. 创建完成智能体后,点击知识-文本的右侧“+”号
  4. 添加知识库

1.png

2.png

很多人以为“上传资料=完成知识库”,但真正能用的知识库,在于:

  1. 知识库如何设置
  2. 知识库在流程中什么时候被调用
  3. 没命中时如何兜底

扣子知识库设置

几个比较重要的参数:

3.png

搜索策略

向量检索

采用语义搜索的方式,通俗讲就是不看关键词是否一致,主要是语义意思像不像

比如:用户输入“你好,我感冒了怎么处理?” 检索有可能会把“发烧流鼻涕的护理指南”给你查找出来

全文检索

只有关键词对上了才可以找到

混合检索

结合上面的两种检索方式,既要语义意思相似的,又要关键词对得上的,推荐采用这种方式

最大召回分段

从知识库中返回给大模型的段落

这里不是返回给大模型越多段落越好,主要是看你的文档分段,如果文档逻辑比较集中,建议设置3-5个段落,如果是文档段落比较分散,可以设置多一些5-10个

最小匹配度

数值越高,要求搜索出来的内容和用户提问的问题匹配度就越高

如果在后续的测试中,发现AI答非所问,可以适当调高这里的数值,如果一直提示找不到资料,说明匹配度太高了,需要调低一些

重排设置

意思就是假设从知识库中搜索到了ABCD四个相关段落的内容,大模型会根据用户输入的内容,对这四个段落相关度进行排序,最相关的排在最前面。

PS:如果你的知识库很多内容,建议开启重排设置

4.png

规定何时被调用

添加知识库到智能体后,如果没有规定智能体怎么调用,智能体无法在何时调用,所以

在prompt中,规定用户输入内容后,先查询知识库中的内容,命中后,发送给智能体

没有命中,我们这里可以做一个兜底,可以调用搜索插件,来搜索网络上的信息,然后将信息整理后发送给大模型

这种方式,适合用户输入的问题变好比较大、知识库覆盖不全的情况

5.png

6.png

集成的思路

用户输入 → 知识库检索
→ 命中:用 kb_result 生成回答
→ 未命中:追问 / 搜索插件 / 大模型提示补充

集成中容易出现的问题

  1. 没有规定调用的顺序,“优先使用知识库”

结果是模型直接用回答,知识库没用上,如何确定调用顺序,在运行过程/思考过程中,都可以看到调用过程

7.png

  1. 缺少兜底方案

没命中知识库的时候,大模型直接返回查询不到数据,用户体验比较差,可以增加网络搜索插件功能,来提示体验。

8.png

一句话总结

知识库集成不是“上传完就行”,要让它进入流程并被使用

只要把“学会配置、prompt规定调用顺序、兜底方案”这 3 件事做对,知识库就能真正跑通。

如果你也想系统学Coze智能体开发,我把从基础能力到插件应用的完整方法整理成了一套课程,特别适合AI应用的新手,前2节可以免费试听:

Coze 编程入门到实战