这可能是讲 Coze 的知识库最通俗易懂的文章了
🦁
这可能是讲 Coze 的知识库最通俗易懂的文章了 🦁 这可能是讲 Coze 的知识库最通俗易懂的文章了 Modified August 3, 2024 对于上面这样一个格式的问答对,我们只要在切割的时候选择 作为分隔符号,那么每一个文档片都是完整的。 利用大模型生成 当从知识库中检索出内容之后,我们就可以利用大模型进行总结了,这里我们可以选择的有两点 • 优化 Prompt • 选择合适的大模型 优化 Prompt 这里就不展开了,因为提示词工程对于当下 AI 时代的重要性,我已经讲过太多次了,如果你想要学习提示词,请参考以下文章 https://www.waytoagi.com/prompts?tag=7 ✍️ 直播共学 而选择合适的大模型有两点需要考虑: • 上下文长度 • 聪明度 • 生成速度 如果你的回答场景都是很长的文档,那么你可能会更关注上下文的长度 另外:大多数情况下,大模型越聪明,其生成速度可能越慢。 总结 终于到了我最想讲的一段了,因为自从我发布了这个教程 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 之后,我收到的最多问题之一就是: 为什么我将我的笔记全部投喂给 Coze 之后,他的回答很不准确呢? 为了回答这个问题,我每次都要语音个 10 20 分钟,这也是我写这篇文章的目的,毕竟坑是自己埋下的,含着泪也要填完 如果你是要利用 Coze 或者 FastGPT 等工具来搭建知识库,那么在当下的技术条件下,你一定要有个预期,当下这些平台的 RAG 能力仅仅对问答这种场景是友好的,其他的场景效果都差强人意~ 如果你需要企业级的复杂知识库场景,你可能需要找专业的团队了,他们的收费在几万到几十万不等(可以联系我,我这边有靠谱的资源) 如果你想使用专门搭建个人知识库的软件,我推荐你看下的另一篇文章: 手把手教你本地部署大模型以及搭建个人知识库 这篇文章你忽略本地部署大模型这一环节,你直接看其中推荐的一个软件 https://useanything.com/ useanything.com 这款软件据说效果不错(但是需要你自己对接一些额外的 API),并且我建议你先了解 RAG 的原理再去使用,否则你可能会头大。 我目前还没有深度使用,等后续使用了,我再了些教程! Coze 中使用知识库 讲了一大堆,终于到了实战的环节了。 这里我虽然使用 Coze 举例子,但是我希望可以帮助你举一反三,未来在接触到 FastGPT、Dify 等等 AI Agent 工具的时候都能快速的上手知识库组件。 因为你了解了 RAG 的本质之后,无论什么知识库工具,本质都是一个皮而已! 这些也是写这篇文章的目的:让你做到知其然,知其所以然 创建知识库 1. 来到个人空间,找到知识库导航栏,点击创建知识库 这里我想说明的是,知识库是共享资源,也就是你的多个 Bot 可以引用同一个知识库 2. 选择知识库的格式,填写一些信息 目前(2024.06.08)Coze 支持三种格式 • 文档 • 表格(CSV、Excel 等) • 图片(其实就是上传一张图片,然后填写个图片文字说明) 这里格式并不重要,重要的是你要看懂上个章节讲的:影响 RAG 输出质量的因素 3. 我这里选择本地文档(问答对可以选择表格) 购买后新人常见问题汇总.txt 2.88KB 4. 选择自定义的文档切割 5. 数据处理完成 当数据处理完成后,你会发现,一个问答对被切割成一了一个文档片 使用知识库 关于使用知识库,大家可以看这篇教程: 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库,这篇文章已经讲的很详细了,这里就不再赘述了 AGI 大群的机器人原理 最后我们来讲下 AGI 大群中的机器人的原理,如果你跟完了整篇文章,我想你心里已经有答案了。 飞书的官方技术同学使用 RAG 技术将 🌈 通往AGI之路的内容进行处理,然后在飞书大群中接入一个智能机器人,当机器人被艾特回答问题的时候,其背后就是针对这个 AI 知识库进行的提问。RAG 技术会将知识库中最符合的相关文档回复给用户。 基于 RAG 技术,我也搭建了一个微信机器人帮助我进行课程相关答疑,还是挺爽的~ ✍️ 直播共学 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 手把手教你本地部署大模型以及搭建个人知识库 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 🌈 通往AGI之路 对于上面这样一个格式的问答对,我们只要在切割的时候选择 作为分隔符号,那么每一个文档片都是完整的。 利用大模型生成 当从知识库中检索出内容之后,我们就可以利用大模型进行总结了,这里我们可以选择的有两点 • 优化 Prompt • 选择合适的大模型 优化 Prompt 这里就不展开了,因为提示词工程对于当下 AI 时代的重要性,我已经讲过太多次了,如果你想要学习提示词,请参考以下文章 https://www.waytoagi.com/prompts?tag=7 ✍️ 直播共学 ✍️ 直播共学 https://www.waytoagi.com/prompts?tag=7 ✍️ 直播共学 ✍️ 直播共学 而选择合适的大模型有两点需要考虑: • 上下文长度 • 聪明度 • 生成速度 如果你的回答场景都是很长的文档,那么你可能会更关注上下文的长度 另外:大多数情况下,大模型越聪明,其生成速度可能越慢。 总结 终于到了我最想讲的一段了,因为自从我发布了这个教程 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 之后,我收到的最多问题之一就是: 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 为什么我将我的笔记全部投喂给 Coze 之后,他的回答很不准确呢? 为了回答这个问题,我每次都要语音个 10 20 分钟,这也是我写这篇文章的目的,毕竟坑是自己埋下的,含着泪也要填完 如果你是要利用 Coze 或者 FastGPT 等工具来搭建知识库,那么在当下的技术条件下,你一定要有个预期,当下这些平台的 RAG 能力仅仅对问答这种场景是友好的,其他的场景效果都差强人意~ 如果你需要企业级的复杂知识库场景,你可能需要找专业的团队了,他们的收费在几万到几十万不等(可以联系我,我这边有靠谱的资源) 如果你想使用专门搭建个人知识库的软件,我推荐你看下的另一篇文章: 手把手教你本地部署大模型以及搭建个人知识库 这篇文章你忽略本地部署大模型这一环节,你直接看其中推荐的一个软件 https://useanything.com/ useanything.com 手把手教你本地部署大模型以及搭建个人知识库 手把手教你本地部署大模型以及搭建个人知识库 手把手教你本地部署大模型以及搭建个人知识库 这篇文章你忽略本地部署大模型这一环节,你直接看其中推荐的一个软件 https://useanything.com/ useanything.com 这款软件据说效果不错(但是需要你自己对接一些额外的 API),并且我建议你先了解 RAG 的原理再去使用,否则你可能会头大。 我目前还没有深度使用,等后续使用了,我再了些教程! Coze 中使用知识库 讲了一大堆,终于到了实战的环节了。 这里我虽然使用 Coze 举例子,但是我希望可以帮助你举一反三,未来在接触到 FastGPT、Dify 等等 AI Agent 工具的时候都能快速的上手知识库组件。 因为你了解了 RAG 的本质之后,无论什么知识库工具,本质都是一个皮而已! 这些也是写这篇文章的目的:让你做到知其然,知其所以然 创建知识库 1. 来到个人空间,找到知识库导航栏,点击创建知识库 这里我想说明的是,知识库是共享资源,也就是你的多个 Bot 可以引用同一个知识库 2. 选择知识库的格式,填写一些信息 目前(2024.06.08)Coze 支持三种格式 • 文档 • 表格(CSV、Excel 等) • 图片(其实就是上传一张图片,然后填写个图片文字说明) 这里格式并不重要,重要的是你要看懂上个章节讲的:影响 RAG 输出质量的因素 3. 我这里选择本地文档(问答对可以选择表格) 购买后新人常见问题汇总.txt 2.88KB 购买后新人常见问题汇总.txt 2.88KB 4. 选择自定义的文档切割 5. 数据处理完成 当数据处理完成后,你会发现,一个问答对被切割成一了一个文档片 使用知识库 关于使用知识库,大家可以看这篇教程: 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库,这篇文章已经讲的很详细了,这里就不再赘述了 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 AGI 大群的机器人原理 最后我们来讲下 AGI 大群中的机器人的原理,如果你跟完了整篇文章,我想你心里已经有答案了。 飞书的官方技术同学使用 RAG 技术将 🌈 通往AGI之路的内容进行处理,然后在飞书大群中接入一个智能机器人,当机器人被艾特回答问题的时候,其背后就是针对这个 AI 知识库进行的提问。RAG 技术会将知识库中最符合的相关文档回复给用户。 🌈 通往AGI之路 基于 RAG 技术,我也搭建了一个微信机器人帮助我进行课程相关答疑,还是挺爽的~ 写在最后 分享我的三个理念给大家: • 读十遍不如实操一遍,实操十遍不如分享一遍 • 不要沉迷于碎片化的内容,要聚焦于体系化的知识 • 不管在什么时代,了解一个东西一定要先花时间了解其本质 最后的最后请允许我打几个广告~ 如果你对我本人感兴趣,请用下面的方式联系我,左手微信,右手星球 另外我和艾木合作开发了一款 Coze 的体系化课程,旨在帮助大家学习 Coze。 这篇文章有关于课程的一切信息: 大圣的智能体实战课程 大圣的智能体实战课程 感兴趣的可以直接加我V信咨询(备注:Coze课程) 引言 💡 大家好,我是大圣,一个致力于使用 AI 技术将自己打造为超级个体的程序员。 对于知识库大家并不陌生,一系列的信息和知识聚集在一起就可以构成知识库。 比如我最心爱的 🌈 通往AGI之路就是一个使用飞书软件搭建的 AI 知识库。 当你需要了解 AI 某一领域知识的时候,你只需要在 AGI 的飞书大群中,跟机器人对话就能获取对应的资料。 而在我的 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 也是以 AI 时代的知识库作为例子进行了讲解。 🌈 通往AGI之路 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 大家好,我是大圣,一个致力于使用 AI 技术将自己打造为超级个体的程序员。 对于知识库大家并不陌生,一系列的信息和知识聚集在一起就可以构成知识库。 比如我最心爱的 🌈 通往AGI之路就是一个使用飞书软件搭建的 AI 知识库。 🌈 通往AGI之路 当你需要了解 AI 某一领域知识的时候,你只需要在 AGI 的飞书大群中,跟机器人对话就能获取对应的资料。 而在我的 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 也是以 AI 时代的知识库作为例子进行了讲解。 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 这篇文章的目的就是帮助非编程人士来理解 AI 时代的知识库,读完本文你会收获: 1. AI 时代的知识库的概念、实现原理以及能力边界 2. 通往 AGI 之路大群中的通过对话就能获取知识库中资料的原理 3. 更好的使用 Coze 等 AI Agent 平台中的知识库组件,打造更加强大的智能体 请允许我自卖自夸:我这篇文章可以说是知识库文章中 Coze 讲的最好的,讲 Coze 的文章中知识库讲的最好的。 另外做个预告,我正在规划一个关于 AI 时代你应该具备的编程基础系列,大纲如下: • 数据库|让 Coze 拥有了记忆的组件 1 • 知识库|让 Coze 拥有了记忆的组件 2 • 变量|让 Coze 拥有了记忆的组件 3 • JSON|让你更好的使用 Coze 插件 • API|外部应用程序该如何接入 Coze • 操作系统与服务器|那些接入了 Coze 的微机器人都是运行在哪里的 • Docker|让你用最简单的方式部署微信机器人 先来聊聊知识库 传统意义的知识库 对于传统意义上的知识库,我相信大家都不陌生。比如上面提到的 🌈 通往AGI之路。 🌈 通往AGI之路 再比如我使用的飞书搭建自己的通往超级个体之路的知识库,里面存放了我打造超级个体过程中的所有知识和分享 知识库是我们个人或者企业的一些信息和知识的集合,一般有这么两类: • 个人搭建的某一领域知识库,比如 AI 知识库,里面存放了你日常收集了你日常整理的 AI 信息和知识 • 企业搭建的产品资料知识库,里面存放了关于公司售卖的产品的详细资料 这里多说一句,如果你想搭建自己的知识库,但是还没有行动,我建议你看下我的分享。 两篇文档配套 1 个半小时的直播分享,让你轻松打造自己的知识管理体系 03|利用飞书搭建自己的知识库 04|PARA方法论,打造持续升级的知识管理体系 https://www.bilibili.com/video/BV1jn4y197wu/?spm id from=333.999.list.card archive.click&vd source=e94f42ead4c2e95f4b13bec257d95670 毫无保留!分享我在AI时代是如何搭建自己的知识管理体系 哔哩哔哩 bilibili 学AI始终不得要领?可能问题并不是出在AI的学习资料不够丰富上!你是否正在面临如下的困境:每天都在接受微信公众号的文章轰炸,我们点赞、转发,收藏,但是在需要的时候却不知从哪里找起阅读了许多书籍和文章,当时觉得受益匪浅,但事后却记不清具体内容,无法在工作或生活中实际应用曾经在不同的笔记本、应用程序或文件夹中保存了大量的学习笔记和资料,但需要用的时候却找不到?我们好像懂得了很多东西,但是别人一问,我们 03|利用飞书搭建自己的知识库 04|PARA方法论,打造持续升级的知识管理体系 这里多说一句,如果你想搭建自己的知识库,但是还没有行动,我建议你看下我的分享。 两篇文档配套 1 个半小时的直播分享,让你轻松打造自己的知识管理体系 03|利用飞书搭建自己的知识库 03|利用飞书搭建自己的知识库 04|PARA方法论,打造持续升级的知识管理体系 04|PARA方法论,打造持续升级的知识管理体系 https://www.bilibili.com/video/BV1jn4y197wu/?spm id from=333.999.list.card archive.click&vd source=e94f42ead4c2e95f4b13bec257d95670 毫无保留!分享我在AI时代是如何搭建自己的知识管理体系 哔哩哔哩 bilibili 学AI始终不得要领?可能问题并不是出在AI的学习资料不够丰富上!你是否正在面临如下的困境:每天都在接受微信公众号的文章轰炸,我们点赞、转发,收藏,但是在需要的时候却不知从哪里找起阅读了许多书籍和文章,当时觉得受益匪浅,但事后却记不清具体内容,无法在工作或生活中实际应用曾经在不同的笔记本、应用程序或文件夹中保存了大量的学习笔记和资料,但需要用的时候却找不到?我们好像懂得了很多东西,但是别人一问,我们 我们日常对于传统知识库的使用很简单,当我们遇到问题时,我们可以通过知识库的目录找到对应的文章,通过阅读之前收集的信息或者写作的文章来为自己答疑解惑。 但是这里面会有两个痛点 • 随着知识库中信息的增多,如果分类不合理,我们很难再找到当初我们搜集的文章放在哪里 • 问题的答案可能是一篇文章中的某一段落,但是我们每次都需要重新阅读这篇文章才能找到答案 那 AI 时代来临后,是否可以改善这个痛点呢? AI 时代的搜索 为了让大家更好的理解 AI 知识库,我用更贴近我们日常生活的搜索引擎为例来说明 AI 的作用。 如果你已经接触到以下两款软件,我相信你可能已经很久没有打开百度了吧 • Kimi.ai 帮你看更大的世界 Kimi.ai 帮你看更大的世界 • 秘塔 AI 搜索,没有广告,直达结果 秘塔 AI 搜索,没有广告,直达结果 你有没有想过为什么? 互联网的所有信息其实就是一个巨大的知识库,为了让所有人利用好这个知识库,我们发明了百度等传统搜索引擎。 我们使用传统搜索引擎的痛点跟使用传统知识库是一样的: • 当我们搜索一些资料时,我们需要点进去一个个去找符合我们需求的文章 • 解决我们问题的答案可能在文章中的某一个段落中,但是我们要通读整篇文章才能找到答案 但是 Kimi 或者 ChatGPT 等 AI 对话软件却可以帮助你解决以上两个痛点,他会根据你的问题精准给出问题的答案。 Kimi 或者 ChatGPT 等大模型的原理我这里不赘述,想要了解的小伙伴请参考以下两个视频: • 终于有人把 chatGPT 说清楚了——全网最深入浅出的 chatGPT 原理科普,包你看懂 哔哩哔哩 bilibili • 【渐构】万字科普 GPT4 为何会颠覆现有工作流;为何你要关注微软 Copilot、文心一言等大模型 哔哩哔哩 bilibili 终于有人把 chatGPT 说清楚了——全网最深入浅出的 chatGPT 原理科普,包你看懂 哔哩哔哩 bilibili 【渐构】万字科普 GPT4 为何会颠覆现有工作流;为何你要关注微软 Copilot、文心一言等大模型 哔哩哔哩 bilibili • 终于有人把 chatGPT 说清楚了——全网最深入浅出的 chatGPT 原理科普,包你看懂 哔哩哔哩 bilibili 终于有人把 chatGPT 说清楚了——全网最深入浅出的 chatGPT 原理科普,包你看懂 哔哩哔哩 bilibili • 【渐构】万字科普 GPT4 为何会颠覆现有工作流;为何你要关注微软 Copilot、文心一言等大模型 哔哩哔哩 bilibili 【渐构】万字科普 GPT4 为何会颠覆现有工作流;为何你要关注微软 Copilot、文心一言等大模型 哔哩哔哩 bilibili 简单来讲,就是是大模型做了两件事情: • 他学习了全网公开的所有知识(不考虑训练数据的时效) • 他能根据你的问题快速找到对应的知识点,然后输出给你 而对于 Kimi 和 ChatGPT 而言,把他们当作知识库也有缺点: • 大模型学习的是互联网公开的知识,如果你想让他们针对个人或者企业等私有知识进行问答,他们做不到 • 大模型学习了互联网所有的知识,这里面的内容良莠不齐,可能会影响针对某一个问题回答的准确性 为了解决这些问题,我们进入到下一个话题:AI 时代的私人知识库 AI 时代的私人知识库 私人知识库中内容一般有两种: • 日常从互联网收集的优质信息 • 个人日常的思考以及分享 如果我想基于这套知识库打造个人专属的 ChatGPT 该怎么做呢?这里面常见的会有两种技术方案 1. 训练专有大模型 2. 利用 RAG(检索增强生成)技术 初次听到这两个名词你可能有点懵,不要慌,接下来我会通俗易懂的语言让你了解他们的原理。 训练专有大模型 KimiChat 和 ChatGPT 等 AI 聊天软件为什么能够精准的回答问题,因为他们使用了整个互联网的语料进行了训练,从而拥有了整个互联网的知识。 看到这里你应该知道我想要讲什么了,对,既然能用整个互联网的知识训练出 KimiChat 和 ChatGPT 等大模型,那我能不能使用我的知识库来训练一个专有的大模型呢? 当然可以!而且这样的效果是最好的。 但是这并不是当下主流的方案,因为他有以下几个缺陷: • 高成本:训练和维护一个大型专有模型的成本非常高,需要大量的计算资源和专业知识。 • 更新难度:如果需要更新模型的知识,需要重新训练或微调模型,这可能是一个复杂且耗时的过程 下面让我们来看另一个方案:RAG(检索增强生成) RAG(检索增强生成) 这里我们先不讨论技术原理,我们可以通过“RAG”的名字来通俗易懂地解释一下检索增强生成 • R:Retrieval(检索) 想象一下,当你在一个图书馆里寻找一本关于某个主题的书。图书馆员会先根据你的描述,从书架上找出一些相关的书籍和文章。这就是 RAG 中的“检索”部分。在这个步骤中,系统会从知识库或文档集合中找到与用户问题相关的内容。 • A:Augmented(增强) 接下来,图书馆员会打开那些找出来的书籍和文章,挑选出最相关的段落和信息,并把它们汇总起来。这就是“增强”部分。这里,大模型会把检索到的信息进行筛选和优化,确保最相关和最有用的信息被选中。 • G:Generation(生成) 最后,图书馆员会把汇总的信息组织成一个连贯的、易于理解的回答,用通俗易懂的语言告诉你。这就是“生成”部分。在这一阶段,大模型将整合的信息生成一个自然流畅的回答,像是一个专家在直接回答你的问题。 综合解释 RAG 就像是一个超级智能的图书馆员: 1. 检索:它会从庞大的知识库中找到与你问题相关的信息。 2. 增强:它会筛选和优化这些信息,确保找到的是最相关的部分。 3. 生成:它会把这些信息整合起来,用通俗易懂的语言给出一个连贯的回答 了解了 RAG 的基本概念,他的优缺点也就显而易见啦! 优点: • 成本效益:相比训练和维护一个大型专有模型,RAG 的实现成本更低 • 灵活性:RAG 可以利用多种数据源,包括结构化数据和非结构化数据。它能迅速适应不同领域和变化的数据 • 可扩展性:可以随时增加或更新知识库中的内容,而不需要重新训练模型 缺点: • 相比于专有模型的方案,他的回答准确性不够 深入理解 RAG 在这篇教程: 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库发布后, 大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库 好多小伙伴都会问我一个问题:“既然 AI 知识库技术这么厉害,我能将我收集的各种文章全部投喂给知识库,打造一个专属于个人的知识库么?” 很遗憾的告诉大家不能,理想是美好的,现实是骨感的。当下 RAG 的技术能力是有边界的。 这一章节我希望可以通过讲解 RAG 的原理来让你有以下几个收获: • 通过了解 RAG 的原理知晓当下 AI 知识库的能力边界在哪里 • AI 知识库目前最适用的场景有哪些? • 如果你要付费为自己的企业搭建知识库,你可以知道你为什么而付费,不会被人牵着鼻子走 所以我希望你可以耐心看完这个章节,而我也会尽我所能将 RAG 讲解的通俗易懂! 下面我们通过 5 个环节来了解 RAG 的主要流程 注意:如果你实在不想看这个章节,请务必阅读:影响 RAG 输出质量的因素 这个章节,那里面有我最想讲的东西。 文档准备与预处理 你要做 AI 知识库,你起码得有知识库吧,所以 RAG 的第一步就是准备知识库数据。 当下技术下 RAG 的能力仍然以处理文本数据为主,例如 PDF、在线云文档,EXCEL 等等 为了保证后续流程的质量,在文本准备时会有一个重要的环节,叫做文本的预处理。 用专业的词汇叫做数据清洗和去噪。他的目的主要有两点 • 清理无效的数据:删除无效、过时或者不相关的数据,提高后续的检索速度 • 统一数据的格式:将不同的数据元转换成统一的格式,便于后续的处理和检索 举个例子:当要整理书桌的时候,我们的第一步通常都是先将桌面上的垃圾给扔掉,然后才是整理桌面上的书本、电脑等物品。扔掉垃圾这一动作就是数据的清洗和去噪 文档切割 在文档准备好之后,就需要将文档进切割为了“文档片”,为什么要进行文档切块呢?主要有以下几个原因 1. 提高后续检索效率和精度 想想我们之前的痛点,如果我想要的问题答案只在某一个段落中,如果为了获取答案每次都要阅读全文,那肯定是效率低下的。 对于程序也是一样的道理,大文档往往包含大量的信息,但是我们的查询通常只涉及其中的一小部分。所以将大文档切割成较小的文档块,可以更快更精准的定位到与查询相关的内容,从而提高效率和准确度 2. 改善模型的生成质量 前面讲到,从知识库中查询出来的内容是要投喂到大模型进行总结的,如果查询出来的文档内容过长,会导致两个核心问题: • 文档过长,容易达到大模型处理的上下文限制,导致生成效果不好 • 文档过长,导致不相关内容过大,容易引起大模型的注意力分散,导致影响回答质量 举例说明: 假设我们有一个关于机器学习的长文档,我们可以将其切割成如下小块: 1. 定义和背景:介绍机器学习的基本定义和背景知识。 2. 算法种类:描述不同类型的机器学习算法,如监督学习、无监督学习和强化学习。 3. 应用场景:列举机器学习在不同领域的应用,如图像识别、自然语言处理等。 4. 发展趋势:讨论机器学习的发展趋势和未来方向。 通过将长文档切割成这些小块,检索系统可以更高效地找到用户查询所需的信息。例如,如果用户询问“机器学习有哪些主要算法?”,系统可以直接检索并返回“算法种类”这个文档块,快速且准确地回答问题。 文档存储 当文档被预处理以及切割成文档片之后,接下来就要将文档进行存储了。 这里的存储需要使用到一种叫做“向量数据库”的特殊数据库,为了更好的理解文档的存储过程,我们需要先理解向量这个概念。 向量 向量是数学和计算机科学中的一个基本概念,它将信息表示为一个有序的数字列表。简单来说,向量是一组数字,这些数字可以用来描述物体的某些特性或属性。 举个例子 假设我们有三个不同的物体:国王、皇帝和苹果。我们可以通过某种方法将这些物体转换为向量,如下所示: • “国王” [1.2, 0.5, 3.1, …] • “皇帝” [1.3, 0.6, 2.9, …] • “苹果” [0.9, 1.2, 0.3, …] 在这些向量中,每个数字表示物体的某个特征。例如,第一个数字可能表示权力,第二个数字可能表示地位,第三个数字可能表示颜色,依此类推。 语义相似性 通过这种方式,我们可以看到“国王”和“皇帝”的向量在某种程度上是相似的,因为它们的特征值接近。这意味着在特征空间中,它们的属性相似。而“苹果”的向量与前两者差异很大,因为它的属性与“国王”和“皇帝”完全不同。 应用 向量的优点在于,它提供了一种将复杂的信息结构化为计算机可以理解和处理的形式。向量之间的相似性可以用于后续的检索 文本嵌入(Embedding) 既然要将文档片存入向量数据库,那总得先将文档片进行向量化吧。 文本嵌入(Embedding)这一环节的目的就是将文档片转换成向量的形式 向量数据库存储 通过文本嵌入技术将文档片转成向量了,接下来就是将这些向量数据存储到一个数据库中,为后续的检索做准备了。 这里存储文本向量的数据库就是向量数据库(Vector Stores) 检索 检索就是根据用户的问题从向量数据库中获取匹配的内容。 要理解检索环节,最主要的是理解检索有那几种方式,这里我们先不用技术语言,我们先来思考下你期望的检索方式是怎样的。 假设你有一个问答对: 问题:你的产品多少钱? 答案:199 元/年 针对这个问答对,你肯定期望只要用户问了跟产品价格相关的问题,都能获取准确的答案。 例如用户的问题可能是: • 你的产品这么卖的呀 • 这个产品是怎么收费的 • 你的产品多贵 • ...... 无论上面是哪个问题,你肯定期望都能够检索出来:199 元/年 这个答案 你期望的这种检索方式使用专业术语来表达就是:语义检索 语义检索 语义匹配关注的是查询和文档内容的意义,而不仅仅是表面的词汇匹配 那语义匹配是怎么做到的呢,这里就要提到前面说的向量。 我们可以通过向量的相似性来判断语义的相似性,这里就不展开了 全文检索 语义检索成本是比较高的,成本较低的方案则是全文检索。 全文检索是基于关键词的检索方式,这里我们还是直接通过例子的方式进行说明: 有一个句子是:“猫的饮食习惯包括吃鱼和鸡肉” 如果用户输入了“猫”、“饮食”、“猫的饮食习惯”、“吃鱼”都可以搜索到这个句子。 但是如果用户搜索了猫喜欢吃什么呀,这个时候是无法搜索到上面这个句子的。 你可以简单的理解为全文检索就是根据关键词进行匹配的。 混合检索 混合模式结合了语义匹配和全文检索的优点,同时利用关键词匹配和语义理解来提高检索效果。 通常,系统先进行全文检索获取初步结果,然后再对这些结果进行语义匹配和排序。 排序 检索阶段会将匹配到的文档片全部获取,紧接着是一个排序的环节。 对于检索的文档片进行排序,确保最相关的片段排在前面。这一步通常基于文档片与输入问题之间的相似度分数来进行排序 利用大模型生成 输出就是最后一个环节了,将输入问题和排序后的文档片一起提交给大模型(LLM),由大模型生成最终答案。这一步包括: • 上下文理解:大模型需要理解输入问题和检索到的片段之间的关系。 • 答案生成:大模型基于输入问题和检索片段生成一个连贯、合理的答案。 • 加入引用来源:非必要 总结 总结就看下面这张图就好啦 如果你已经耐心看到了这里并且理解上这一章节,那么恭喜你,对于非专业人