直达「 通往AGI之路 」飞书知识库 →
首页/问答列表/问答详情

如何组建自己的本地知识库

回答

以下是组建自己本地知识库的详细步骤:

一、了解 RAG 技术

因为利用大模型的能力搭建知识库本身就是一个 RAG 技术的应用,所以在进行本地知识库的搭建实操之前,需要先对 RAG 有大概的了解。

RAG 是指检索增强生成(Retrieval Augmented Generation)。当需要依靠不包含在大模型训练集中的数据时,通过检索外部数据,然后在生成步骤中将这些数据传递给 LLM。

RAG 应用可抽象为以下 5 个过程:

  1. 文档加载(Document Loading):从多种不同来源加载文档,如 PDF 等非结构化数据、SQL 等结构化数据以及 Python、Java 之类的代码等。
  2. 文本分割(Splitting):把 Documents 切分为指定大小的块,称为“文档块”或“文档片”。
  3. 存储:
    • 将切分好的文档块进行嵌入(Embedding)转换成向量的形式。
    • 将 Embedding 后的向量数据存储到向量数据库。
  4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。
  5. Output(输出):把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起生成更加合理的答案。

二、通过 Open WebUI 使用大模型

  1. 首先访问相关网址。打开页面时,使用邮箱注册账号。
  2. 登陆成功后,Open WebUI 一般有两种使用方式:
    • 聊天对话。
    • RAG 能力,即让模型根据文档内容回答问题,这是构建知识库的基础之一。

三、本地知识库进阶

如果想要对知识库进行更加灵活的掌控,需要一个额外的软件:AnythingLLM。这个软件包含了所有 Open WebUI 的能力,并且额外支持了以下能力:

  1. 选择文本嵌入模型。
  2. 选择向量数据库。

安装地址:https://useanything.com/download 。安装完成后,会进入到其配置页面,主要分为三步:

  1. 第一步:选择大模型。
  2. 第二步:选择文本嵌入模型。
  3. 第三步:选择向量数据库。

构建本地知识库:

  1. 在 AnythingLLM 中创建自己独有的 Workspace 跟其他的项目数据进行隔离。
  2. 首先创建一个工作空间。
  3. 上传文档并且在工作空间中进行文本嵌入。
  4. 选择对话模式。AnythingLLM 提供了两种对话模式:
    • Chat 模式:大模型会根据自己的训练数据和上传的文档数据综合给出答案。
    • Query 模式:大模型仅仅会依靠文档中的数据给出答案。
  5. 测试对话。当上述配置完成之后,就可以跟大模型进行对话了。

最后,送给大家一句话:看十遍不如实操一遍,实操十遍不如分享一遍。如果对 AI Agent 技术感兴趣,可以联系作者或者加免费知识星球(备注 AGI 知识库)。

内容由 AI 大模型生成,请仔细甄别(powered by aily)

参考资料

手把手教你本地部署大模型以及搭建个人知识库

如果想要对知识库进行更加灵活的掌控,我们需要一个额外的软件: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知识库)

手把手教你本地部署大模型以及搭建个人知识库

因为利用大模型的能力搭建知识库本身就是一个RAG技术的应用。所以在进行本地知识库的搭建实操之前,我们需要先对RAG有一个大概的了解。以下内容会有些干,我会尽量用通俗易懂的描述进行讲解。我们都知道大模型的训练数据是有截止日期的,那当我们需要依靠不包含在大模型训练集中的数据时,我们该怎么做呢?实现这一点的主要方法就是通过检索增强生成RAG(Retrieval Augmented Generation)。在这个过程中,首先检索外部数据,然后在生成步骤中将这些数据传递给LLM。我们可以将一个RAG的应用抽象为下图的5个过程:文档加载(Document Loading):从多种不同来源加载文档。LangChain提供了100多种不同的文档加载器,包括PDF在内的非结构化的数据、SQL在内的结构化的数据,以及Python、Java之类的代码等文本分割(Splitting):文本分割器把Documents切分为指定大小的块,我把它们称为“文档块”或者“文档片”存储(Storage):存储涉及到两个环节,分别是:将切分好的文档块进行嵌入(Embedding)转换成向量的形式将Embedding后的向量数据存储到向量数据库检索(Retrieval):一旦数据进入向量数据库,我们仍然需要将数据检索出来,我们会通过某种检索算法找到与输入问题相似的嵌入片Output(输出):把问题以及检索出来的嵌入片一起提交给LLM,LLM会通过问题和检索出来的提示一起来生成更加合理的答案[heading2]文本加载器(Document Loaders)[content]文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理

手把手教你本地部署大模型以及搭建个人知识库

1.首先访问如下网址当你打开这个页面的时候,会让你登陆,这个时候我们随便使用一个邮箱注册一个账号即可1.和本地大模型进行对话登陆成功之后,如果你已经使用过ChatGPT等类似的大模型对话网站,我相信你对这个页面并不陌生。Open WebUI一般有两种使用方式第一种是聊天对话第二种是RAG能力,也就是可以让模型根据文档内容来回答问题。这种能力就是构建知识库的基础之一如果你的要求不高的话,我们已经搭建了一个本地大模型了,并且通过Web UI实现了和大模型进行对话的功能。相信通过这么一通折腾,你就理解了ChatGPT的信息流,至于为什么ChatGPT的访问速度比我们自己的要快,而且回答效果要好,有两个原因快:是因为GPT大模型部署的服务器配置高好:是因为GPT大模型的训练参数多,数据更优以及训练算法更好如果你想要更加灵活的掌握你的知识库,请接着往下看

其他人在问
如何将传统知识库通过LLM能力转化成更智能与精细化的知识库?包括但不限于分段、QA问答和图片解析描述和总结
将传统知识库通过 LLM 能力转化为更智能和精细化的知识库是一个复杂但可行的过程,以下是一些关键步骤和方法: 1. 数据预处理:对传统知识库中的内容进行清理、格式化和标准化,确保数据的质量和一致性。 2. 内容分段:根据主题和逻辑结构,将长篇的知识内容合理分段,使信息更易于理解和处理。 3. 提取关键信息:从文本中提取重要的概念、实体和关系,为后续的问答和总结做准备。 4. 构建 QA 问答对:分析知识库中的内容,设计有针对性的问题和准确的答案,形成问答对,以方便用户快速获取所需信息。 5. 图片解析描述:对于包含图片的内容,使用图像识别技术提取关键元素,并进行详细的描述和解释。 6. 总结归纳:对分段后的内容进行总结,提炼核心要点,帮助用户快速了解主要内容。 在实施过程中,需要不断优化和调整方法,以确保转化后的知识库能够满足用户的需求,提供更高效和准确的服务。
2024-11-18
你的知识库主要容纳哪些能力和知识
以下是关于知识库的能力和知识的介绍: 1. 扣子的知识库功能强大,能够上传和存储外部知识内容,提供多种查找知识的方法。它可以解决大模型有时出现的幻觉或某些专业领域知识不足的问题,让回复更准确。 2. 可以使用多种功能定制 AI Bot,如提示词(设定 Bot 的身份、目标和技能)、插件(通过 API 连接集成各种平台和服务)、工作流(规划和实现复杂功能逻辑)、记忆库(保留和理解对话细节,添加外部知识库)。 3. Coze 的知识库包括两大核心能力:存储和管理外部数据,增强检索能力。支持从多种数据源上传文本和表格数据,自动切分知识内容并允许自定义分片规则,提供多种检索方式高效检索内容片段,生成最终回复内容。 4. 知识库适用于多种应用场景,如创建虚拟形象交流时保存相关语料,客服场景中解答用户常见问题,特定行业应用中提供精确信息等。
2024-11-17
如何创建个人专属知识库
以下是创建个人专属知识库的相关内容: 私人知识库中的内容通常包括从互联网收集的优质信息以及个人日常的思考和分享。 基于私人知识库打造个人专属的 ChatGPT 常见有两种技术方案: 训练专有大模型:可以使用个人知识库训练专有大模型,但此方案并非当下主流,存在高成本、更新难度大等缺陷。 利用 RAG(检索增强生成)技术:先将文本拆分成若干小文本块并转换为 embeddings 向量,保存在向量储存库中。当用户提出问题时,将问题转换为向量与储存库中的向量比对,提取关联度高的文本块与问题组合成新的 prompt 发送给 GPT API。 搭建基于 GPT API 的定制化知识库时,由于 GPT3.5 一次交互支持的 Token 有限,OpenAI 提供了 embedding API 解决方案。embeddings 是一个浮点数字的向量,向量之间的距离衡量关联性,小距离表示高关联度。
2024-11-16
如何创建coze知识库
以下是创建 Coze 知识库的步骤: 1. 来到个人空间,找到知识库导航栏,点击创建知识库。 知识库是共享资源,多个 Bot 可以引用同一个知识库。 选择知识库的格式并填写相关信息。目前(2024.06.08)Coze 支持三种格式:文档、表格(CSV、Excel 等)、图片(上传图片并填写图片文字说明)。格式不重要,重要的是要了解影响 RAG 输出质量的因素。 例如选择本地文档(问答对可选择表格),还可选择自定义的文档切割,数据处理完成后,一个问答对会被切割成一个文档片。 2. 在线知识库: 点击创建知识库,创建一个如画小二课程的 FAQ 知识库。 选择飞书在线文档,每个问题和答案以分割。 选择飞书文档、自定义,输入,可点击编辑修改和删除,然后添加 Bot,并在调试区测试效果。 3. 本地文档: 本地 word 文件要注意拆分内容以提高训练数据准确度,例如对于画小二课程,要先将大章节名称内容放入,再按固定方式细化章节内详细内容。 然后选择创建知识库自定义清洗数据。 4. 发布应用:点击发布,确保在 Bot 商店中能够搜到。 关于使用知识库,您可以查看教程: 。
2024-11-15
你的知识库来源于哪里
我的知识库来源较为广泛,包括以下方面: 符号人工智能的早期成就之一——专家系统,其基于从人类专家提取的知识库,并包含推理引擎进行推理。专家系统包含问题记忆、知识库、推理引擎等部分。 “通往 AGI 之路「WaytoAGI」,这是一个由开发者、学者和有志人士等参与的学习社区和开源的 AI 知识库。 扣子的知识库,功能强大,可上传和存储外部知识内容,并提供多种查找知识的方法,能解决大模型的某些问题,使其回复更准确。
2024-11-13
什么是知识库,以及他的运作原理是什么,请用小白也能理解的语言进行说明
知识库可以用比较通俗的方式来理解: 想象一个大语言模型就像一个非常聪明、读过无数书的人,但对于一些特定的工作场景中的细节,比如见到老板娘过来吃饭要打三折,张梦飞过去吃饭要打骨折,它可能并不清楚。这时候,知识库就像是给这个聪明的人发的一本工作手册。 从更专业的角度来说,知识库的运作原理通常包括以下几个步骤: 1. 文档加载:从各种不同的来源,比如 PDF、SQL 数据、代码等加载相关的文档。 2. 文本分割:把加载的文档分割成指定大小的块,称为“文档块”或“文档片”。 3. 存储:这包括两个环节,一是将分割好的文档块进行嵌入,转换成向量的形式;二是将这些向量数据存储到向量数据库中。 4. 检索:当需要使用数据时,通过某种检索算法从向量数据库中找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给大语言模型,大语言模型会根据问题和检索出来的提示一起生成更合理的答案。 以车型数据为例,每个知识库的分段中保存了一种车型的基础数据。当用户问宝马 X3 的售价是多少时,就能匹配到对应车型的分段,然后从其中获取到售价信息。 海外官方文档:https://www.coze.com/docs/zh_cn/knowledge.html 国内官方文档:https://www.coze.cn/docs/guides/use_knowledge
2024-11-13
我想组建一个ai撰稿,关键词要怎么写
以下是关于组建 AI 撰稿关键词的一些建议: 对于一般的图片内容,分为二维插画和三维立体两种主要表现形式。在生成想要的图片时,关键词通常包含以下几个方面: 1. 主题描述: 可以描述场景和故事及其组成元素、物体或人物的细节、搭配。比如一个动物园,里面有老虎、狮子、长颈鹿、大树、围栏等;或者一个小女孩在森林里搭帐篷,她穿着红色的裙子以及戴着白色的帽子。 描述场景中的人物时,要独立描述,不要用一长串文字表达。比如一个穿着红色盔甲的男孩站在山顶,最好拆分为:一个男孩、穿着红色盔甲、站在山顶。 2. 设计风格: 3. 具体画面: 例如在视频镜头方面,不管是文生视频还是图生视频,掌握好关键词的描述,皆可生成优秀的视频画面。 在进行 AI 撰稿时,以制作“冬”字融入雪地场景的图片为例,大模型选择 realisticVisionV40 ,正面关键词可以是 masterpiece, best quality, snowy ground, snowflake 等,反面关键词可以是 lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry 。同时,还可能会用到 controlnet 的语义分割 seg 模型,预处理器选择 invert 。 另外,像“春”的正面关键词可以是 realistic, 8k, masterpiece, best quality, meadow, flower, butterfly, blue sky ;“夏”的正面关键词可以是 realistic, 8k, masterpiece, best quality, lotus, dew, water droplets 。
2024-08-14