返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 3 小时前 |阅读模式 打印 上一主题 下一主题

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding-right: 1em;padding-left: 1em;color: rgb(63, 63, 63);">智能 AI 应用为什么需要知识库

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

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">其中提到的企业知识库,正是 "检索增强生成(Retrieval-Augmented Generation)" 技术的一种具体实现方式。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在深入探讨 RAG 之前,我们先来了解一下大型语言模型 (LLM) 的一个特性,或者说局限性。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding-right: 0.2em;padding-left: 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">大语言模型 (LLM) 的局限性

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding: 1em;border-radius: 8px;color: rgba(0, 0, 0, 0.5);background: rgb(247, 247, 247);">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;letter-spacing: 0.1em;color: rgb(80, 80, 80);">大型语言模型 (LLM),是ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">基于大量数据进行预训练的超大型深度学习模型。这些模型经过海量文本数据训练,能够理解和生成人类语言,执行各种自然语言处理(NLP)任务,如文本生成、翻译、问答和摘要等。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">大型语言模型 (LLM) 有一个显著特点,对于ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">训练数据之外的内容,它无法准确预测,因为它没有"学习"过这些知识。因此,AI 在面对这类问题时会回答"不知道"。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(63, 63, 63);">

那么,我们该如何让 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 应用的实用性,使其能够更好地服务于特定领域或企业的需求。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ