Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

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

Answer

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

一、了解 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 知识库)。

Content generated by AI large model, please carefully verify (powered by aily)

References

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

如果想要对知识库进行更加灵活的掌控,我们需要一个额外的软件: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大模型的训练参数多,数据更优以及训练算法更好如果你想要更加灵活的掌握你的知识库,请接着往下看

Others are asking
coze搭建智能体,用上传的文件和知识库的文件做对比,分析差异点。
以下是关于在 Coze 中搭建智能体的相关信息: 1. 证件照相关操作: 展示原图上传结果,基本脸型已换,生成效果与上传照片特征有关。 改背景可利用改图功能,一键改图效果更好,输出数据类型为图片。 豆包节点生成的是 URL 地址,与前者不同,在工作流使用有差异,可参考简单提示词。 介绍证件照工作流相关操作,包括通过提示词改背景颜色,设置输出方式为返回变量;讲解消耗 token 及保存结果相关问题;对按钮、表单添加事件并设置参数,限制上传文件数量;还涉及给表单和图片绑定数据,以及每次操作后刷新界面确保设置生效。 围绕操作讲解与优化展开,介绍 for meet 的设置,如表单事件操作、图片上传数量修改等,提及编程基础知识。还讲述成果图连接、绑定数据方法及注意事项。展示基本功能实现情况,分析换性别等问题成因,指出需在工作流优化提示词,也可尝试用视频模型解决,最后进入问答环节。 2. 多维表格的高速数据分析: 创建智能体,使用单 Agent 对话流模式。 编排对话流,创建新的对话流并关联智能体。 使用代码节点对两个插件获取的结果进行数据处理,注意代码节点输出的配置格式。 测试,找到一篇小红书笔记,试运行对话流,在对话窗口输入地址查看数据。 发布,选择多维表格,配置输出类型为文本,输入类型选择字段选择器,完善上架信息,可选择仅自己可用以加快审核。 3. 智能体与微信和微信群的连接: 创建知识库,可选择手动清洗数据提高准确性,包括在线知识库和本地文档。 在线知识库创建时,飞书在线文档中每个问题和答案以分割,可编辑修改和删除。 本地文档中注意拆分内容提高训练数据准确度,如将课程章节按固定方式人工标注和处理。 发布应用,确保在 Bot 商店中能够搜到。
2025-04-18
coze搭建知识库和上传文件做对比分析
以下是关于 Coze 搭建知识库和上传文件的对比分析: 创建文本型知识库: 自动分段与清洗:扣子可对上传的内容进行自动解析,支持复杂布局的文件处理,如识别段落、页眉/页脚/脚注等非重点内容,支持跨页跨栏的段落合并,支持解析表格中的图片和文档中的表格内容(目前仅支持带线框的表格)。操作步骤为在分段设置页面选择自动分段与清洗,然后依次单击下一步、确认,可查看分段效果,不满意可重新分段并使用自定义分段。 自定义:支持自定义分段规则、分段长度及预处理规则。操作时在分段设置页面选择自定义,然后依次设置分段规则和预处理规则,包括选择分段标识符、设置分段最大长度和文本预处理规则,最后单击下一步完成内容分段。 创建表格型知识库: 目前支持 4 种导入类型:本地文档、API、飞书、自定义。 本地文档:选择本地文档从本地文件中导入表格数据,目前支持上传 Excel 和 CSV 格式的文件,文件不得大于 20M,一次最多可上传 10 个文件,且表格内需要有列名和对应的数据。 API:参考特定操作从 API 返回数据中上传表格内容,包括选择 API、单击新增 API、输入 API URL 并选择数据更新频率,然后单击下一步。 飞书:参考特定操作从飞书表格中导入内容,包括选择飞书、在新增知识库页面单击授权并选择要导入数据的飞书账号、单击安装扣子应用(仅首次导入需授权和安装),然后选择要导入的表格并单击下一步。目前仅支持导入“我的空间”下的飞书文档,云文档的创建者必须是自己,暂不支持导入知识库和共享空间下的云文档。 上传文本内容: 在线数据:扣子支持自动抓取指定 URL 的内容,也支持手动采集指定页面上的内容,上传到数据库。 自动采集方式:适用于内容量大、需批量快速导入的场景。操作步骤为在文本格式页签下选择在线数据,然后依次单击下一步、自动采集、新增 URL,输入网站地址、选择是否定期同步及周期,最后单击确认,上传完成后单击下一步,系统会自动分片。 手动采集:适用于精准采集网页指定内容的场景。操作步骤为安装扩展程序,在文本格式页签下选择在线数据,然后依次单击下一步、手动采集、授予权限,输入采集内容的网址,标注提取内容,查看数据确认无误后完成并采集。
2025-04-18
知识库怎么构建
构建知识库的方法主要有以下几种: 1. 使用 Flowith 构建: 选择“Manage Your Knowledge Base”,进入知识库管理页面。 点击左上角的加号添加新的知识库,为其起一个便于分辨的名字。 点击添加文件,建议使用 Markdown 格式的文件。 等待 Flowith 对文件进行抽取等处理,处理完毕后可在知识库管理页面测试检索。 2. 使用 Dify 构建: 准备数据:收集文本数据,进行清洗、分段等预处理。 创建数据集:在 Dify 中创建新数据集,上传准备好的文档并编写描述。 配置索引方式:根据需求选择高质量模式、经济模式或 Q&A 分段模式。 集成至应用:将数据集集成到对话型应用中,配置数据集的使用方式。 持续优化:收集用户反馈,更新知识库内容和优化索引方式。 3. 本地部署大模型并搭建个人知识库(涉及 RAG 技术): 了解 RAG 技术:大模型训练数据有截止日期,RAG 可通过检索外部数据并在生成步骤中传递给 LLM 来解决依赖新数据的问题。 RAG 应用的 5 个过程: 文档加载:从多种来源加载文档,如 PDF、SQL 等。 文本分割:把文档切分为指定大小的块。 存储:包括将文档块嵌入转换成向量形式,并将向量数据存储到向量数据库。 检索:通过检索算法找到与输入问题相似的嵌入片。 输出:将问题和检索出的嵌入片提交给 LLM 生成答案。 文本加载器:将用户提供的文本加载到内存中以便后续处理。
2025-04-15
如何搭建知识库
搭建知识库的方法如下: 使用 flowith 搭建: 选择“Manage Your Knowledge Base”,进入知识库管理页面。 点击左上角的加号添加新的知识库,给知识库起一个便于分辨的名字。 点击添加文件,建议使用 Markdown 格式的文件。 Flowith 会对文件进行抽取等处理,处理完毕后可在知识库管理页面测试检索。 使用 Dify 搭建: 准备数据:收集文本数据,进行清洗、分段等预处理。 创建数据集:在 Dify 中创建新数据集,上传准备好的文档并编写描述。 配置索引方式:提供三种索引方式,根据需求选择,如高质量模式、经济模式和 Q&A 分段模式。 集成至应用:将数据集集成到对话型应用中,配置数据集的使用方式。 持续优化:收集用户反馈,更新知识库内容和优化索引方式。 使用 Coze 智能体搭建: 手动清洗数据: 在线知识库:点击创建知识库,创建 FAQ 知识库,选择飞书文档,输入区分问题和答案,可编辑修改和删除,添加 Bot 并在调试区测试效果。 本地文档:注意拆分内容,提高训练数据准确度,按章节进行人工标注和处理,然后创建自定义清洗数据。 发布应用:点击发布,确保在 Bot 商店中能搜到。
2025-04-14
如何搭建自己的知识库
以下是搭建自己知识库的方法: 1. 选择“Manage Your Knowledge Base”,进入知识库管理页面。 2. 在页面左上角点击加号,添加新的知识库,并为其起一个易于分辨的名字。 3. 点击添加文件,建议使用 Markdown 格式的文件。 4. 等待 Flowith 对文件进行抽取等处理。 5. 处理完毕后,可在知识库管理页面测试检索,输入关键词过滤相关内容。 此外,搭建本地知识库还需了解 RAG 技术: 1. RAG 是一种当需要依靠不包含在大模型训练集中的数据时所采用的主要方法,即先检索外部数据,然后在生成步骤中将这些数据传递给 LLM。 2. 一个 RAG 的应用包括文档加载、文本分割、存储、检索和输出 5 个过程。 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器。 文本分割:把 Documents 切分为指定大小的块。 存储:将切分好的文档块进行嵌入转换成向量的形式,并将 Embedding 后的向量数据存储到向量数据库。 检索:通过某种检索算法找到与输入问题相似的嵌入片。 输出:把问题以及检索出来的嵌入片一起提交给 LLM,生成更合理的答案。 对于基于 GPT API 搭建定制化知识库,涉及给 GPT 输入定制化的知识。由于 GPT3.5 一次交互支持的 Token 有限,OpenAI 提供了 embedding API 解决方案。Embeddings 是一个浮点数字的向量,两个向量之间的距离衡量它们的关联性,小距离表示高关联度。在 OpenAI 词嵌入中,靠近向量的词语在语义上相似。文档上有创建 embeddings 的示例。
2025-04-14
我想做一个,基于我个人知识库的chatbot,以供我随时搜索和提问,且优先搜索知识库内的内容而非联网搜索,你有什么建议吗?
以下是为您提供的关于创建基于个人知识库的 chatbot 的建议: 1. 选择合适的平台和工具:例如可以考虑使用飞书智能伙伴创建平台(Aily)或扣子(https://www.coze.cn/home)等。 2. 数据分段储存:由于大模型的上下文长度有限制,需要将上传的资料根据特定符号或字符长度进行分段,如将 8000 字文档按每 800 字分成一个片段储存。 3. 增强检索:当用户输入问题,大模型会根据相似度检索出若干最相关的数据片段,再据此生成答案,这一技术称为 RAG(检索增强生成)。 4. 配置知识库: 在 Bot 内使用知识库: 登录相关平台。 在左侧导航栏的工作区区域,选择进入指定团队。 在 Bots 页面,选择指定 Bot 并进入 Bot 详情页。 在 Bot 编排页面的知识库区域,单击加号图标,添加指定的知识库。 (可选)添加知识库后,可以在自动调用下拉界面内,调整知识库的配置项,如最大召回数量、最小匹配度、调用方式等。 在工作流内使用 Knowledge 节点: 登录相关平台。 在左侧导航栏的工作区区域,选择进入指定团队。 在页面顶部进入工作流页面,并打开指定的工作流。 在左侧基础节点列表内,选择添加 Knowledge 节点。 5. 注意使用限制:单用户最多创建 1000 个知识库,文本类型知识库下最多支持添加 100 个文档,单用户每月最多新增 2GB 数据,累计上限是 10GB。 此外,知识库可以解决大模型幻觉、专业领域知识不足的问题,提升大模型回复的准确率。您可以将知识库直接与 Bot 进行关联用于响应用户回复,也可以在工作流中添加知识库节点,成为工作流中的一环。
2025-04-14
想问下有没有基于我的文本描述需求自动为我组建表格的ai工具
以下是一些基于文本描述需求自动为您组建表格的 AI 工具: 1. Excel Labs:这是一个 Excel 插件,新增了基于 OpenAI 技术的生成式 AI 功能,可在 Excel 中直接进行数据分析和决策支持。 2. Microsoft 365 Copilot:微软推出的 AI 工具,整合了多种办公软件,通过聊天形式,用户告知需求后,Copilot 会自动完成任务,包括 Excel 中的数据分析和格式创建等。 3. Formula Bot:提供数据分析聊天机器人和公式生成器两大功能,用户能通过自然语言交互式地进行数据分析和生成 Excel 公式。 4. Numerous AI:支持 Excel 和 Google Sheets 的 AI 插件,除公式生成外,还能根据提示生成相关文本内容、执行情感分析、语言翻译等任务。 随着技术发展,未来可能会有更多 AI 功能集成到 Excel 中,进一步提高工作效率和数据处理的智能化水平。但请注意,内容由 AI 大模型生成,请仔细甄别。
2025-02-06
我想组建一个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