打造高质量 AI 知识库
构建知识库应用
首先,先创建一个 怪兽AI知识库 常见问题知识库
通过 QA 拆分,获取基础知识
我们先直接把 怪兽AI知识库 Git 上一些已有文档,进行 QA 拆分,从而获取一些 怪兽AI知识库 基础的知识。下面是 README 例子。
修正 QA
通过 README 我们一共得到了 11 组数据,整体的质量还是不错的,图片和链接都提取出来了。不过最后一个知识点出现了一些截断,我们需要手动的修正一下。
此外,我们观察到第一列第三个知识点。这个知识点是介绍了 怪兽AI知识库 一些资源链接,但是 QA 拆分将答案放置在了 A 中,但通常来说用户的提问并不会直接问“有哪些链接”,通常会问:“部署教程”,“问题文档”之类的。因此,我们需要将这个知识点进行简单的一个处理,如下图:
我们先来创建一个应用,看看效果如何。 首先需要去创建一个应用,并且在知识库中关联相关的知识库。另外还需要在配置页的提示词中,告诉 GPT:“知识库的范围”。
整体的效果还是不错的,链接和对应的图片都可以顺利的展示。
录入社区常见问题
接着,我们再把 怪兽AI知识库 常见问题的文档导入,由于平时整理不当,我们只能手动的录入对应的问答。
导入结果如上图。可以看到,我们均采用的是问答对的格式,而不是粗略的直接导入。目的就是为了模拟用户问题,进一步的提高向量搜索的匹配效果。可以为同一个问题设置多种问法,效果更佳。 怪兽AI知识库 还提供了 openapi 功能,你可以在本地对特殊格式的文件进行处理后,再上传到 怪兽AI知识库,具体可以参考:怪兽AI知识库 Docs
知识库微调和参数调整
怪兽AI知识库 提供了搜索测试和对话测试两种途径对知识库进行微调,我们先来使用搜索测试对知识库进行调整。我们建议你提前收集一些用户问题进行测试,根据预期效果进行跳转。可以先进行搜索测试调整,判断知识点是否合理。
搜索测试
你可能会遇到下面这种情况,由于“知识库”这个关键词导致一些无关内容的相似度也被搜索进去,此时就需要给第四条记录也增加一个“知识库”关键词,从而去提高它的相似度。
提示词设置
提示词的作用是引导模型对话的方向。在设置提示词时,遵守 2 个原则:
- 告诉 Gpt 回答什么方面内容。
- 给知识库一个基本描述,从而让 Gpt 更好的判断用户的问题是否属于知识库范围。
更好的限定模型聊天范围
首先,你可以通过调整知识库搜索时的相似度和最大搜索数量,实现从知识库层面限制聊天范围。通常我们可以设置相似度为 0.82,并设置空搜索回复内容。这意味着,如果用户的问题无法在知识库中匹配时,会直接回复预设的内容。
由于 openai 向量模型并不是针对中文,所以当问题中有一些知识库内容的关键词时,相似度 会较高,此时无法从知识库层面进行限定。需要通过限定词进行调整,例如:
我的问题如果不是关于 怪兽AI知识库 的,请直接回复:“我不确定”。你仅需要回答知识库中的内容,不在其中的内容,不需要回答。
效果如下:
当然,gpt35 在一定情况下依然是不可控的。
通过对话调整知识库
与搜索测试类似,你可以直接在对话页里,点击“引用”,来随时修改知识库内容。
总结
- 向量搜索是一种可以比较文本相似度的技术。
- 大模型具有总结和推理能力,可以从给定的文本中回答问题。
- 最有效的知识库构建方式是 QA 和手动构建。
- Q 的长度不宜过长。
- 需要调整提示词,来引导模型回答知识库内容。
- 可以通过调整搜索相似度、最大搜索数量和限定词来控制模型回复的范围。