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

本地知识库

Answer

以下是关于本地知识库的相关内容:

一、本地知识库进阶 如果想要对知识库进行更加灵活的掌控,需要使用额外的软件 AnythingLLM,它包含了所有 Open WebUI 的能力,并额外支持选择文本嵌入模型和向量数据库。 安装地址:https://useanything.com/download 。安装完成后进入配置页面,主要分为三步:

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

二、构建本地知识库 AnythingLLM 中有 Workspace 的概念,可以创建自己独有的 Workspace 与其他项目数据隔离。

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

三、RAG 是什么 利用大模型的能力搭建知识库是 RAG 技术的应用。在进行本地知识库搭建实操前,需先了解 RAG。 RAG 实现方法是检索增强生成(Retrieval Augmented Generation),过程包括:

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

四、Obsidian 加 Cursor 构建本地知识库 因为 Obsidian 浏览器剪藏插件强大开始玩 Obsidian 构建本地知识库,安装的几个 Obsidian 的 AI 插件配置复杂,体验不佳。 发现可以用 Cursor 等 AI IDE 解决问题,主要有三类作用:

  1. 帮助用模糊的问题检索笔记库,而非关键字。
  2. 帮助基于笔记库进行研究,可结合多个笔记软件给出建议。
  3. 帮助生成和修改笔记,比如生成整个笔记文件或者修改写的笔记文案。
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]文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理

Obsidian加Cursor就是最强AI知识库!藏师傅教你从零学习 Obsidian 01

这几天因为看到了Obsidian的浏览器剪藏插件的强大(这个下节讲)所以开始玩Obsidian,想要搞一个符合自己要求的本地知识库再加上AI的加持。也装了几个Obsidian的AI插件,结果发现配置非常复杂,体验不太行,想要顺畅使用的话得看文档,甚至还有看文档都无法结局的恶性Bug,我得搜Github其他人的问题才能搞定。这些插件的作用主要是内置在Obsidian里面的AI助手,可以帮你检索你的笔记和基于笔记生成新的内容。然后我就想能不能用Cursor这些AI IDE解决这个问题,反正他解决的也是类似的问题,检索代码,回答代码问题,生成新的代码,HTML是标记语言,Markdown也是标记语言是吧。结果发现还真能用,而且非常顺滑,主要是三类作用:帮助你用模糊的问题检索你的笔记库,而不是关键字帮助你基于笔记库进行研究,可以结合多个笔记软件给出建议帮你生成和修改笔记,比如生成整个笔记文件或者修改你写的笔记文案教程里为了照顾大多数人我会用默认中文而且免费的Trae演示,但是由于现在AI IDE都大同小异所以你用Cursor或者Windsurf也可以看懂甚至,快捷键和按钮位置都一样的。

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