以下是一些可用于搭建个人知识库的软件及相关信息:
终于到了我最想讲的一段了,因为自从我发布了这个教程[大圣:胎教级教程:万字长文带你使用Coze打造企业级知识库](https://waytoagi.feishu.cn/wiki/CT3UwDM8OiVmOOkohPbcV3JCndb)之后,我收到的最多问题之一就是:为什么我将我的笔记全部投喂给Coze之后,他的回答很不准确呢?为了回答这个问题,我每次都要语音个10-20分钟,这也是我写这篇文章的目的,毕竟坑是自己埋下的,含着泪也要填完如果你是要利用Coze或者FastGPT等工具来搭建知识库,那么在当下的技术条件下,你一定要有个预期,当下这些平台的RAG能力仅仅对问答这种场景是友好的,其他的场景效果都差强人意~如果你需要企业级的复杂知识库场景,你可能需要找专业的团队了,他们的收费在几万到几十万不等(可以联系我,我这边有靠谱的资源)如果你想使用专门搭建个人知识库的软件,我推荐你看下的另一篇文章:[手把手教你本地部署大模型以及搭建个人知识库](https://waytoagi.feishu.cn/wiki/ZKGmwsQhTihYZ8kdu7uccF1lnQc?from=from_copylink)这篇文章你忽略本地部署大模型这一环节,你直接看其中推荐的一个软件这款软件据说效果不错(但是需要你自己对接一些额外的API),并且我建议你先了解RAG的原理再去使用,否则你可能会头大。我目前还没有深度使用,等后续使用了,我再了些教程!
如果想要对知识库进行更加灵活的掌控,我们需要一个额外的软件:AnythingLLM。这个软件包含了所有Open WebUI的能力,并且额外支持了以下能力选择文本嵌入模型选择向量数据库[heading2]AnythingLLM安装和配置[content]安装地址:https://useanything.com/download当我们安装完成之后,会进入到其配置页面,这里面主要分为三步1.第一步:选择大模型1.第二步:选择文本嵌入模型1.第三步:选择向量数据库[heading2]构建本地知识库[content]AnythingLLM中有一个Workspace的概念,我们可以创建自己独有的Workspace跟其他的项目数据进行隔离。1.首先创建一个工作空间1.上传文档并且在工作空间中进行文本嵌入1.选择对话模式AnythingLLM提供了两种对话模式:Chat模式:大模型会根据自己的训练数据和我们上传的文档数据综合给出答案Query模式:大模型仅仅会依靠文档中的数据给出答案1.测试对话当上述配置完成之后,我们就可以跟大模型进行对话了[heading1]六、写在最后[content]我非常推崇的一句话送给大家:看十遍不如实操一遍,实操十遍不如分享一遍如果你也对AI Agent技术感兴趣,可以联系我或者加我的免费知识星球(备注AGI知识库)
要搭建基于GPT API的定制化知识库,涉及到给GPT输入(投喂)定制化的知识。但GPT-3.5,也就是当前免费版的ChatGPT一次交互(输入和输出)只支持最高4096个Token,约等于3000个单词或2300个汉字。这点容量对于绝大多数领域知识根本不够。为了使用GPT的语言能力来处理大量的领域知识,OpenAI提供了embedding API解决方案。参考OpenAI embedding documents。[heading2]理解embeddings[content]embeddings(直译为嵌入)是一个浮点数字的向量(列表)。两个向量之间的距离衡量它们的关联性。小距离表示高关联度,大距离表示低关联度。进一步解释:向量(列表):向量是数学中表示大小和方向的一个量,通常用一串数字表示。在计算机科学和数据科学中,向量通常用列表(list)来表示。列表是一种数据结构,它包含一组有序的元素。例如,一个二维向量可以表示为[2,3],这意味着沿着两个轴的分量分别为2和3。在这里,"list"是一种编程术语,意味着一系列有序的数据。向量之间的距离:向量之间的距离是一种度量两个向量相似性的方法。有多种方式可以计算两个向量之间的距离,最常见的是欧几里得距离。欧几里得距离计算方法是将两个向量的对应元素相减,然后取平方和,再开平方。例如,向量A=[1,2]和向量B=[4,6]之间的欧几里得距离为sqrt((4-1)^2+(6-2)^2)=5。较小距离意味着高相关性,因为向量间相似度高。在OpenAI词嵌入中,靠近向量的词语在语义上相似。例如,“猫”和“狗”距离近,它们都是宠物,与“汽车”距离远,相关性低。文档上给了创建embeddings的示例上面的命令访问embeddings API接口,将input语句,转化成下面这一串浮点数字。