AI知识库

53AI知识库

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


智能 AI 应用为什么需要知识库
发布日期:2024-09-05 16:08:57 浏览次数: 1615


智能 AI 应用为什么需要知识库

上回我们讲到如何在 Dify 上搭建企业知识库,并引入大语言模型应用中,实现企业内部知识助手。 使用 Dify 快速搭建企业内部知识助手

其中提到的企业知识库,正是 "检索增强生成(Retrieval-Augmented Generation)" 技术的一种具体实现方式。

在深入探讨 RAG 之前,我们先来了解一下大型语言模型 (LLM) 的一个特性,或者说局限性。

大语言模型 (LLM) 的局限性

大型语言模型 (LLM),是基于大量数据进行预训练的超大型深度学习模型。这些模型经过海量文本数据训练,能够理解和生成人类语言,执行各种自然语言处理(NLP)任务,如文本生成、翻译、问答和摘要等。

大型语言模型 (LLM) 有一个显著特点,对于训练数据之外的内容,它无法准确预测,因为它没有"学习"过这些知识。因此,AI 在面对这类问题时会回答"不知道"。

那么,我们该如何让 AI 模型掌握企业内部知识呢?难道只能重新训练一个大模型?对于大多数企业来说,这个方案的成本显然过高且没有必要。

尽管可以通过微调 (Fine-tuning) 大幅降低大模型训练成本,但相比 RAG,微调仍然具有较高的成本(高配置设备、微调技术、效果验证、时间成本等)。如果仅需要进行内容补充,而不要求模型具备特定的行为或输出模式,那么 RAG 是现阶段较为适合的解决方案。

RAG 检索增强生成

检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。在 LLM 本就强大的功能基础上,RAG 可将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。

让我们来看看 RAG 能实现什么效果,仍以上面的问题为例:"2024年欧冠冠军是谁?"

我们先关联一个简单的欧冠知识库:

然后再重新与 AI 对话:

可以发现 AI 通过知识库,"学习" 到了2024欧冠赛事的 "知识"。

RAG 是如何让 AI 完成 "学习" 的?

实际上很简单,通过上下文把知识告诉 AI。我们把两次对话记录列出来,大家就能明白了。

无 RAG (知识库)问答:

角色对话内容
用户2024年欧冠冠军是谁?
AI抱歉,我不清楚。

有 RAG (知识库)问答:

角色对话内容
上下文2024年欧冠联赛,代表西班牙的皇家马德里队在欧冠决赛中以2比0击败德国队多特蒙德,夺得冠军。
用户2024年欧冠冠军是谁?
AI2024年欧冠冠军是皇家马德里队。他们在欧冠决赛中以2比0击败了德国队多特蒙德,从而夺得冠军。

有 RAG (知识库)的问答记录,相比无 RAG (知识库)的问答记录,多了一条隐藏的(使用者看不见)的上下文消息。 在使用者提问之前,与使用者问题相关的知识内容被提取出来,并作为上文一并发送给AI模型。 这使得 AI 模型"学习"到了相关知识,并作出正确的回答。

至于具体如何完成检索,我们暂时先不深入探讨细节。

如何搭建高质量的 RAG 知识库

要搭建高质量的 RAG 知识库,文档的质量对增强检索的效果起到最直接最重要的作用。

我们仍然使用 Dify Cloud 上的知识库作为案例,知识库的其他配置暂且不谈,这次我们只聚焦于文本分段与清洗。 文本分段有自动分段和自定义分段两种方式,不熟悉的使用者建议采用自动分段。

使用自动文本分段时,对文档要求较高,上传文档前可对文档做以下检查:

  1. 1. 确保文档格式统一,结构简单,易于处理;

  2. 2. 移除不必要的格式信息,保留关键结构,移除特殊编码(多媒体、url等无意义或非文本信息);

  3. 3. 避免相似内容多次重复出现;

  4. 4. 避免超长自然段,较长段落可以预先分割成更小的分段,同时注意避免信息切割;

  5. 5. 删除不相关的内容(如页眉页脚、企业信息、联系方式等);

  6. 6. 删除敏感信息;

  7. 7. 避免超大文档,可先切分为多个小文档,更方便调整、检查与测试。

关于文本分段的个人理解:

1. 尽可能切分得足够细: 文本切分得越细,AI 模型预测(回答)得就越准确。大段的上下文会影响 AI 的回答,特别是在参杂了其他无效信息的情况下。 大段的上下文也会增加使用成本(消耗更多prompt tokens)。

2. 避免完整的信息被切割: 同时不能切分得太细,完整的信息应该尽量避免被切割。例如上面的案例,如果将文本这样分段,则可能无法得到准确的回答。

# 1
2024年欧冠联赛,冠军得主是代表西班牙的

# 2
皇家马德里队在欧冠决赛中以2比0击败德国队多特蒙德

第二段文本分段可能会因为文本内容不匹配而无法被成功检索。

大段内容特别容易出现这种情况,编辑文档时,应尽可能避免同一句话、段落被换行、换页、特殊符号等切割开。

3. 进行召回测试 / RAG 评估: Dify 提供了知识库的召回测试工具,可以准备好常见问题,对知识库进行命中测试。可以测试对应问题检索(命中)的知识库文档分段,以此快速判断检索效果。 通过测试结果,可及时调整文本分段。

然而,手动逐个问题进行召回测试并不符合程序员的风格。在下一篇文章中,我将分享如何使用 "Dify workflow 应用 + ragas" 实现 Dify 知识库自动化评估

总结

本文探讨了智能 AI 应用为什么需要知识库,主要围绕以下几点展开:

  1. 1. 大语言模型(LLM)的局限性:LLM 无法准确预测训练数据之外的内容。

  2. 2. RAG(检索增强生成)技术:通过引入外部知识库,使 AI 能够访问和利用特定领域或组织的内部知识,无需重新训练模型。

  3. 3. RAG 的工作原理:在用户提问前,将相关知识作为上下文提供给 AI 模型,使其能够"学习"并回答相关问题。

  4. 4. 高质量 RAG 知识库的搭建:强调了文档质量的重要性,并提供了文本分段与清洗的具体建议。

  5. 5. 文本分段的关键点:包括细致切分、避免信息切割、以及进行召回测试/RAG评估。

通过合理运用 RAG 技术和构建高质量知识库,可以显著提升 AI 应用的实用性,使其能够更好地服务于特定领域或企业的需求。




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

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

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询