保姆级教学-低成本搭建个人/企业AI知识库

技术
概述

大家好,我是安图新!是某科技公司的一位系统架构师。在今年年初开始,我就一直倒腾各种新的 AI 技术,为的也是给自己的日常工作提高效率,同时看看自己有没什么其他好的发展机遇。

从 ChatGPT4.0 的诞生开始,我自己就深深切切感觉到 「下一个“IPhone”时代即将要萌芽开始了,作为一个普通人,不在什么大厂,没有什么厉害的资源,有的只是一直陪伴着我多年的技术和代码,还有一些志同道合的朋友,但起码现在我还发现了对于我这个人生新的机遇——AI大模型!」

为此,除了平常工作时间,其他闲暇时间我都在研究各种 AI 大模型和相关的技术实现以及落地方式,在跌跌撞撞的大半年时间,我发现 AI 的确提高了我很多工作学习上的效率,但我渐渐也发现,与 AI 对话的过程中,我总是要花不少时间去解决以下问题:

  1. 要 AI 更精准地回答你的问题,需要 「花很长时间组织问题的上下文背景进行提问」
  2. 「对话框之间的问题上下文背景不能复用」 ,只能在对应对话框延续对话(导致问题 3 的出现)或者自己人工复制整理重新放到新的对话框提问,导致无效的重复性操作;
  3. 在一个 「对话框过多轮对话后,AI会忘记你一开头你说的问题或内容」 (因为 「AI大模型的短期记忆上下文是有限制的)」

这些的这些,其实都反映了目前的 AI 应用,尤其是 「单纯对话交互式 AI 都有一个通病」 —— 「不能持久化保存和使用相关上下文和背景」

毕竟,像 ChatGPT 这种已经基本上有了全人类知识作为预训练数据的大模型,对于人类现有知识理论的解读是基本没问题的。但有有两个方面的数据, 「AI大模型是永远不能提前预训练」 的:

  • 「实时性事件」 (ChatGPT 的预训练数据最新只有到 2021 年 9 月左右,这个时间后的事情大模型是一概不知道的);
  • 「个人/企业相关数据」 (只有你自己或者企业内部才知道的数据);
什么是 AI 知识库?

这就引出了今天的主题 -** AI知识库**来了。那什么是 AI 知识库呢?以下我就着重高亮我们需要了解的内容即可了。

AI 知识库是一个存储和组织知识的系统,它可以帮助人工智能系统更好地理解和处理信息。在 AI 知识库中,知识通常以结构化的方式组织,例如图表、表格或逻辑规则,使得机器能够有效地查询和利用这些知识。

  1. 「结构化知识」 :AI 知识库通常包含结构化的知识,例如关系数据库中的数据,它们可以清晰地表达不同实体之间的关系和属性。
  2. 「非结构化知识」 :除了结构化知识,AI 知识库也可能包含非结构化的知识,例如文本文档、图像、视频等,它们可以通过自然语言处理技术来分析和理解。
  3. 「知识表示」 :知识库中的知识需要以一种机器可读的方式来表示。常见的知识表示方法包括本体论(Ontologies)、逻辑规则和图结构等。
  4. 「知识获取与更新」「AI知识库不是静态的,它需要通过各种方式来获取新知识和更新现有知识。这可以通过机器学习、人工标注或者从外部数据源中导入数据来实现。」
  5. 「知识推理」「有了知识库,AI系统可以进行知识推理,通过现有的知识来解决问题或生成新的知识。」
  6. 「应用场景」 :AI 知识库广泛应用于各种场景,包括但不限于 「问答系统、推荐系统、自然语言处理和语义搜索等」

好处

在当前 AI 的发展阶段,确实不是所有的个人或企业都有足够的资源去从头训练大型的模型。但是,通过利用现有的大模型,我们完全可以 「低成本构建出适合个人或企业的 AI 知识库」 。下面是一些通过建立 「AI 知识库可能带来的好处」

  1. 「提高效率」

  2. 「自动化处理数据」 :通过 AI 知识库,可以自动化处理大量的数据和信息,节省人力资源。

  3. 「快速检索」 :AI 知识库可以帮助快速检索到所需的信息,提高决策效率和执行速度。

  4. 「增强决策支持」

  5. 「数据驱动决策」 :基于 AI 知识库的深度分析,可以为决策提供数据支持,使决策更加精准和有效。

  6. 「预测分析」 :利用知识库中的历史数据和模型,可以进行预测分析,为未来的决策提供参考。

  7. 「改善沟通」

  8. 「共享知识」 :通过建立统一的 AI 知识库,可以实现知识的共享和传递,减少沟通成本。

  9. 「语义理解和自然语言处理」 :利用现有大模型,AI 知识库可以帮助理解和处理自然语言,提高沟通效率和质量。

  10. 「降低成本」

  11. 「减少重复劳动」 :通过自动化和智能化的处理,可以减少重复的人工劳动,降低运营成本。

  12. 「长期知识积累和管理」

  13. 「知识的持续积累」 :AI 知识库可以帮助个人和企业持续积累和管理知识,形成长期的竞争优势。

  14. 「知识的保护和传承」 :通过系统的知识管理,可以保护知识资产,实现知识的传承和利用。

搭建 AI 知识库

废话就不说那么多了,今天我们就来主要说说如何搭建属于自己的 AI 知识库吧。这次的搭建,我们主要会用到以下两个东西:

  • 「FastGPT」 (一个国内自研开源的 AI 知识库解决方案);
  • 「OpenAI API Key」 (使用 OpenAI ChatGPT 服务必需的认证 API Key,没有黑魔法的话,可以用其他平替,等下我会介绍);

小白扫盲 (技术大牛可以跳过)

FastGPT

FastGPT 是一个对国内以及小白交互都非常友好的工具,可用于构建个人或企业内部的 AI 知识库系统。以下是 FastGPT 的一些特点和好处:

  1. 「基于大型语言模型」

FastGPT 基于大型语言模型(LLM)和 Transformers 构建,能够处理复杂的文本生成和问答任务。

picture.image

  1. 「高效的文本处理」

与许多其他知识库问答产品不同,除了常用的一些数据导入方式外,FastGPT 还可以采用 QA(问题-答案)对进行存储,而不仅是文本分块处理。这种方法可以减少向量化内容的长度,使向量能更好地表达文本的含义,从而提高搜索的精度。

picture.image

  1. 「开箱即用」

FastGPT 提供了一些开箱即用的功能,如数据处理和模型调用,它能通过 Flow 可视化进行工作流编排,实现复杂的问答场景。

picture.image

  1. 「易于定制和本地化部署」

FastGPT 允许选择不同的模型,并支持本地化部署。用户可以轻松地上传 PDF、Word、md 等文件,进行自定义的 AI 模型训练。如果用户拥有自己的 OpenAI 账号的密钥,平台本身还完全免费使用。

OpenAI API Key

OpenAI 的 OpenAPI Key 是一个特殊的代码串,它允许用户访问和使用 OpenAI 提供的 API(应用程序接口)。OpenAI 是一个知名的人工智能研究机构,它提供了多种基于云的 AI 服务,这些服务可以帮助开发者构建和运行各种 AI 应用。

这里是一个简单的比喻:想象一下 OpenAI 的 API 是一个大型的智能工具箱,而 OpenAPI Key 就像是打开这个工具箱的钥匙。只有拥有这把钥匙的人,才能打开工具箱,使用里面的工具来构建或运行自己的项目。

  1. 「访问控制」
  • OpenAPI Key 是你访问 OpenAI 服务的凭证,每个 Key 都与一个特定的用户或应用程序关联。
  • 通过这个 Key,OpenAI 可以验证你的身份,确保你有权限使用它们的服务。
  • 「安全性」
  • OpenAPI Key 需要保密,因为任何人拥有你的 Key 都可以使用你的账户来访问 OpenAI 的服务,可能会产生费用。
  • 通常,你应该在服务器端保管你的 Key,而不应该在客户端或公开的代码库中暴露它。
  • 「使用记录和计费」
  • OpenAPI Key 也用于记录你使用 OpenAI 服务的情况,例如你调用了多少次 API,用了多少计算资源等。
  • 根据你的使用情况,OpenAI 会对你的账户进行计费。

通过 OpenAPI Key,开发者可以方便、安全地使用 OpenAI 的资源,为自己的项目或企业带来价值。

搭建方式

这次我先选择以最简单的搭建方式让大家上手,直接使用 「官方 FastGPT公有云服务」 的方式。如果大家之后对 「企业内部私有部署」 ,或者是 「自建内部大模型服务」 ,来进一步 「降低使用成本和提高数据安全性」 有兴趣的话,我会再编写相关的教程分享给大家。

开始搭建

注册获取 OpenAI API Key

因为国内想使用 OpenAI 相关服务的话,需要一些黑魔法,所以这里推荐使用国内的一些平替服务,比如接下来我们要使用的 「NextAPI 服务」

  1. 首先在这个 NextAPI 注册一个自己的账号, 「直接点击登录」

picture.image

  1. 直接填写你要注册的邮箱账号,系统会检测你这个账号是否有注册过,没注册过就需要你接收注册邮件进行下一步注册,注册过就直接登录了:

picture.image

  1. 当你注册成功后回到首页,应该会看到类似的页面,这时候就证明你注册成功了!

picture.image

  1. 接下来我们就来创建一个默认的 API Key 吧,下滑到类似以下这个界面,点击创建一个新的密钥:

picture.image

  1. 点击后,里面的所有选项默认即可,然后在密钥备注取个名称,方便以后分类使用,因为你的账号是可以创建多个密钥的。

picture.image

  1. 创建成功后,你就能看到类似下面的界面,你的 API Key 已经创建成功了!点击其中的复制就可以拿着你的 API Key 放在后续的步骤中使用了。

picture.image

  1. 这里的最后一步,在首页这里,顺便复制一下这个平替服务的访问地址,加上 /v1 的路径名,即 https://api.nextweb.fun/openai``/v1,是预留给之后调用 OpenAI 服务时预设配置使用的。

picture.image

注册 FastGPT 知识库账号

  1. 访问 FastGPT 的登录注册界面,先自己注册一个账号,具体访问地址:https://fastgpt.run/login

picture.image

  1. 当你注册成功登录后,看到以下界面,证明你已经账号创建成功了!

picture.image

FastGPT 部署流程

这次的部署流程,我就 「以最简单的使用方式去演示一遍,为的是想先让小白也能轻松上手」 ,相关的高级用法如果大家有兴趣,我下次可以再写相关教程细化来讲讲的。

picture.image

预设 OpenAI API Key

  1. 进入这个账号设置页面,并且点击下图序号 1 的按钮进行预设。

picture.image

  1. 点开后,就看到以下输入栏,按照下图提示填写保存即可。

picture.image

  1. 除此以外,还可以点击子步骤 1 的充值按钮,就可以看到具体模型的调用费用和充值界面,你可以先小面额充值试试手,当然拿着官方送你的 2 块钱先玩玩也是可以的。

picture.image

  1. 至此,预设 OpenAI API Key 就大功告成了。

创建第一个自己的知识库

  1. 点击知识库图标按钮进入知识库列表,点击右上角的创建按钮,出现一个下拉框,再点击“知识库”开始创建第一个自己的知识库吧。

picture.image

  1. 填写以下信息并点击创建。

picture.image

  1. 创建成功后,会自动进入这个知识库的编辑界面,如下图。

picture.image

  1. 点击右上角“新建/导入”按钮,弹出下拉框,选择“文件导入”开始导入我们的数据。

picture.image

  1. 在弹出的文件导入界面,我们可以看到以下功能,接下来一一解读下:

picture.image

  • 「支持的文件导入格式」 - 「支持txt/doc/docx/pdf/md格式」「甚至是网页链接」 也是可以的,导入网页链接的话,系统会去访问你所需的网页链接爬取页面内容进行导入,目前支持一次导入 10 个网页链接。
  • 「直接分段」 - 因为 「数据嵌入模型」 一次是有 「token 长度限制」 的,所以对于导入那么多数据文件的话,系统会自动用 句子分词器 将这些文件内容打散分开成一段段内容再去导入,以满足导入 token 长度限制。
  • 「QA 拆分」 -** FastGPT 特有的数据导入功能**,一样是使用 句子分词器 将文件内容打散,但是 「每一个内容长度会比直接分段的要长得多」 ,因为每一段 「内容在真正导入知识库前会先使用语言大模型(LLM)进行学习转变成多个关于当前内容的问答对,以此提高内容的匹配检索能力」 。但这个 「QA 导入功能随之带来的问题是 Token 的调用成本会比直接分段的高一些,毕竟导入前还要调用下大模型学习」 ,所以自己在导入前可以先衡量一下。
  • 「CSV导入」 - 按上图所示,这个主要是给你之前导出过知识库问答对数据的文件再 「导入到其他知识库或者迁移时候用的」
  1. 基于上述每个导入功能理解,这次我们就直接来使用 QA 拆分的方式进行数据导入,按着上图所示导入你需要领域的资料文档,然后就可以看到导入相关文件预估的调用成本,如果成本觉得没问题,点击“确认导入”即可。

picture.image 7. 关于导入的内容,可以是你自己一直学习记录的笔记文件,也可以是你公司不同部门的相关业务资料文档,这样做的目的,为的就是让你可以 「通过强大的大模型AI能力结合你现在的知识库,在你提问时,更精准有效地输出你想要的答案。放在个人使用,可以提高你的个人工作学习效率,而放在整个公司团队使用,可以提高的就是整个团队的协作/信息同步效率,这可是 1+1>2 的效果」 。至此,你的第一个知识库就已经创建成功了!

创建第一个自己的 AI 对话应用

  1. 基于上一部分创建的第一个 AI 知识库,接下来我们就可以基于它来创建自己的第一个 AI 对话应用吧。首先回到主界面,点击左边栏的应用图标按钮,然后再点击右上角的“新建”按钮。

picture.image

  1. 点击“新建”按钮后会出现以下的表单框,为这个应用起个名字,这次我们选择默认的 「知识库 + 对话引导」 的模板即可,这个目前更普遍符合大家使用。

picture.image

  1. 创建成功后,我们会去到这个新应用的具体编辑页面,这次我们就继续往简单的来,只需要操作以下图示的步骤即可,关于其他高级用法,我会之后再分享讲解。

picture.image

  1. 完善这个 AI 应用的开场白,按你喜欢的来就行;
  2. 选择不同的 AI 模型进行对话,因为目前不同 AI 模型,效果和优缺点都有一点差异,具体可以上网搜索对比一下,现在就选默认就好。当然你有兴趣可以点开这个下拉框,就可以看到目前支持的所有大语言 AI 模型,当然了,费用也是有所不同的哈哈;picture.image
  3. 这里就是可以直接关联我们刚刚创建的数据库了,点解对应右边的“+ 选择”按钮进行关联即可,关联后的结果类似下图所示:picture.image
  4. 最后修改好上述的设置,记得点击这里保存并开始预览哦。
  5. 保存成功后,你就可以开始试用自己新鲜出炉的 AI 应用了!

使用 AI 知识库应用

经过上述相关的搭建步骤后,你就可以点击主页面的对话图标按钮来使用你的 AI 应用进行对话使用了!

picture.image

  • 比如我演示导入的知识库文件是一个关于 DevOps 部署策略的讲解,我就可以问一下相关的问题,并等待它给出答案:

picture.image

看到上面的答案吗?AI 已经引用了我们的知识库的内容来回答这个问题了,而且底下还有几个值得注意的提示:

  • 「5条引用」 - 这里说明了这次答案AI具体引用了以下内容,你可以直接点击打开看看,这样你就能知道你的知识库内容匹配的精准度够不够高了。

picture.image

  • 「2条上下文」 - 这里显示的内容是AI通过你的知识库匹配到最符合的QA问答对内容后,结合你刚刚提的问题形成一个真正提问给大模型AI的提示词(Prompt)来获取答案,这不就是我们目前大模型AI常说的提示词工程吗!所以大多数AI的概念和逻辑其实是相通的,关于具体深入的技术点,在这次小白教程我就不细说了,先卖个关子哈哈。

picture.image

  • 如果发现AI调用你的知识库的命中率不够高,你当然可以录入更多相关的资料文档到知识库来再次测试,直到你满意为止。当然还有一个更好的方式,那就是基于 「知识库的AI微调」 ,这次就不展开说了,因为也是比较进阶的玩法哈哈,这次教程主要是小白上手嘛,不要跑题了~
下期预告

这次上面的教程看来我还是埋了很多伏笔的哈哈,主要都是些进阶的技术点,所以我就打算放到下一期的分享再慢慢细讲,下期的分享大概可以分以下几个方面:

  • 「微调 AI 知识库的内容;」
  • 「微调AI应用的输出内容;」
  • 「AI应用其他类型的应用场景;」

最后,希望这次教程可以真真切切帮到小白的你们建立属于自己的 AI 知识库 (技术大牛也可以给些建议给小弟改进改进 🙏🏻, 十分感谢),迎着这股 AI 的势能和机遇,共同探索未来的无限可能,为自己和社会创造更多的价值。

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论