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

RAG构建本地知识库

回答

RAG(Retrieval Augmented Generation,检索增强生成)是一种利用大模型能力搭建知识库的技术。其主要应用场景是当需要依靠不包含在大模型训练集中的数据时。

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

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

简单来说,RAG就是大模型+知识库,从广泛的知识库数据中检索相关片段,然后由大模型根据这些内容生成答案。这种方式一方面可以减大模型的幻觉,提高其在特定任务上的表现,更加贴合实际应用的需求,另一方面可以明显提高搜索文档信息和生成回答的效率和体验。

LangChain是一个可以实现RAG的开源框架,它提供一些基础的组件和工具,如知识库管理、文本处理、模型加载等,允许开发人员将大语言模型(LLM)与外部数据源相结合,快速搭建自己的应用。

在实际项目中,比如此次的政府政策问答实践,由于政策的复杂性和传统智能问答产品的局限性,选择LangChain-Chatchat框架构建政策文档的本地知识库,实现大模型基于本地知识库内容生成回答,为用户提供政策问答和解读服务,节省查找和理解政策的时间。

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

参考资料

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

因为利用大模型的能力搭建知识库本身就是一个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]文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理

开发:产品视角的大模型 RAG 应用

为了方便理解后面的内容,这里先对LangChain-Chatchat框架和实现原理做一个简单的介绍。由于本文非技术向梳理,详细介绍就不展开,感兴趣可参考:https://www.langchain.com.cn/[heading3]1、名词解释[content]RAG:即Retrieval-Augmented Generation,搜索增强生成,简单来说就是大模型+知识库,从广泛的知识库数据中检索相关片段,然后由大模型根据这些内容生成答案。这种方式,一方面可以减大模型的幻觉,提高其在特定任务上的表现,更加贴合实际应用的需求,另一方面可以明显提高搜索文档信息和生成回答的效率和体验,因此称为搜索增强生成。LangChain:是一个可以实现RAG的开源框架,它提供一些基础的组件和工具,如知识库管理、文本处理、模型加载等,允许开发人员将大语言模型(LLM)与外部数据源相结合,快速搭建自己的应用。LangChain-Chatchat:原Langchain-ChatGLM,是在LangChain基础上构建的一个具体应用,使用了LangChain的组件和工具,并结合了其他一些技术和库(如FastAPI、Streamlit等),来构建基于LLM的本地知识库问答系统,其目标是建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。

开发:产品视角的大模型 RAG 应用

此次实践做的是政府政策问答。对政策面向对象而言,从最开始的判断自身可申报的政策、找到政策原文、到解读政策、准备材料进行申报等各个节点,都存在一定的困难。因此,市面上也有许多提供政策咨询和申报服务的中介机构。由于政策之间关系复杂、政策条文拆解门槛高、政策语义理解难度大、用户面向政策咨询的问法多等多种原因,传统的智能问答产品很难实现政府政策的智能问答。而大模型能学习大量文本数据、能捕捉和理解问题的上下文,具有超强的泛化和生成自然语言的能力。同时区别于传统的智能问答系统,大模型通过预训练和微调的方式,减少了对人工标注数据的需求,这也大大增加了落地应用的可行性。大模型的出现,似乎为政策问答带来了新的曙光。因此,我们选择LangChain-Chatchat框架,构建政策文档的本地知识库,实现大模型基于本地知识库内容生成回答,为用户提供政策问答和解读服务,节省查找和理解政策的时间。

其他人在问
rag
RAG(RetrievalAugmented Generation,检索增强生成)是一种结合检索和生成能力的自然语言处理架构。 通用语言模型通过微调可完成常见任务,而更复杂和知识密集型任务可基于语言模型构建系统,访问外部知识源来完成,如 Meta AI 引入的 RAG 方法。RAG 把信息检索组件和文本生成模型结合,可微调,内部知识修改高效,无需重新训练整个模型。它会接受输入并检索相关支撑文档,给出来源,与原始提示词组合后送给文本生成器得到输出,能适应事实变化,让语言模型获取最新信息并生成可靠输出。 大语言模型(LLM)存在一些缺点,如无法记住所有知识尤其是长尾知识、知识易过时且不好更新、输出难以解释和验证、易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有诸多优点,如数据库存储和更新稳定且无学习风险、数据更新敏捷且不影响原有知识、降低大模型输出出错可能、便于管控用户隐私数据、降低大模型训练成本。 在 RAG 系统开发中存在 12 个主要难题,并已有相应的解决策略。
2025-04-15
rag介绍
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. LLM 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. LLM 的知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. LLM 的输出难以解释和验证,存在内容黑盒、不可控以及受幻觉等问题干扰的情况。 4. LLM 容易泄露隐私训练数据。 5. LLM 的规模大,训练和运行成本高。 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器,包括 PDF 在内的非结构化数据、SQL 在内的结构化数据,以及 Python、Java 之类的代码等。 2. 文本分割:文本分割器把 Documents 切分为指定大小的块,称为“文档块”或者“文档片”。 3. 存储:涉及将切分好的文档块进行嵌入转换成向量的形式,并将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-14
什么是RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型本身的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档。 2. 文本分割:把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-14
RAG对话 摘要总结 功能实现
LangChain 和 RAG 的结合具有以下优势: 1. 灵活性:可根据需求和数据源选择不同组件和参数定制 RAG 应用,也能使用自定义组件(需遵循接口规范)。 2. 可扩展性:能利用 LangChain 的云服务部署和运行,无需担忧资源和性能限制,还可借助分布式计算功能加速应用,发挥多个节点并行处理能力。 3. 可视化:通过 LangSmith 可视化工作流程,查看各步骤输入输出及组件性能状态,用于调试和优化,发现并解决潜在问题和瓶颈。 其应用场景多样,包括: 1. 专业问答:构建医疗、法律、金融等专业领域的问答应用,从专业数据源检索信息辅助大模型回答问题,如从医学文献中检索疾病诊治方案回答医疗问题。 2. 文本摘要:构建新闻或论文摘要应用,从多个数据源检索相关文本帮助大模型生成综合摘要,如从多个新闻网站检索同一事件报道生成全面摘要。 3. 文本生成:构建诗歌、故事生成等应用,从不同数据源检索灵感协助大模型生成更有趣和创意的文本,如从诗歌、歌词或小说中检索相关文本生成作品。 此外,还介绍了本地部署资讯问答机器人的实现方式,即基于用户问题从向量数据库检索相关段落并按阈值过滤,让模型参考上下文信息回答,还创建了网页 UI 并进行评测,对不同模型的测试表现进行了对比,得出 GPT4 表现最佳等结论,并总结了使用 Langchain 和 Ollama 技术栈在本地部署资讯问答机器人及相关要点,即上下文数据质量和大模型性能决定 RAG 系统性能上限。
2025-04-11
飞书智能伙伴创建平台 RAG实现
飞书智能伙伴创建平台(英文名:Aily)是飞书团队旗下的企业级 AI 应用开发平台,能提供简单、安全且高效的环境,帮助企业构建和发布 AI 应用,推动业务创新和效率提升,为企业探索大语言模型应用新篇章、迎接智能化未来提供理想选择。 在飞书智能伙伴创建平台上实现 RAG 相关应用有多种方式: 1. 利用飞书的知识库智能问答技术,引入 RAG 技术,通过机器人帮助用户快速检索内容。 2. 可以使用飞书的智能伙伴功能搭建 FAQ 机器人,了解智能助理的原理和使用方法。 3. 本地部署资讯问答机器人,如通过 Langchain + Ollama + RSSHub 实现 RAG,包括导入依赖库、从订阅源获取内容、为文档内容生成向量等步骤。例如使用 feedparse 解析 RSS 订阅源,ollama 跑大模型(使用前需确保服务开启并下载好模型),使用文本向量模型 bgem3(如从 https://huggingface.co/BAAI/bgem3 下载,假设放置在某个路径 /path/to/bgem3,通过函数利用 FAISS 创建高效向量存储)。 使用飞书智能伙伴创建平台的方式: 1. 在 WaytoAGI 飞书知识库首页找到加入飞书群的链接(二维码会定期更新,需在找到最新二维码),点击加入,直接@机器人。 2. 在 WaytoAGI.com 的网站首页,直接输入问题即可得到回答。 创建问答机器人的原因: 1. 知识库内容庞大,新用户难以快速找到所需内容。 2. 传统搜索基于关键词及相关性,存在局限性。 3. 需要用更先进的 RAG 技术解决问题。 4. 在群中提供快速检索信息的方式,使用更便捷。 2024 年 2 月 22 日的会议介绍了 WaytoAGI 社区的成立愿景和目标,以及其在飞书平台上的知识库和社区情况,讨论了相关技术和应用场景,并介绍了企业级 agent 方面的实践。
2025-04-08
RAG是什么
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. LLM 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. LLM 的知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. LLM 的输出难以解释和验证,存在内容黑盒、不可控及受幻觉干扰等问题。 4. LLM 容易泄露隐私训练数据。 5. LLM 的规模大,训练和运行成本高。 而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景如知识问答系统,用户提出问题,RAG 模型从大规模的文档集合中检索相关的文档,然后生成回答。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器。 2. 文本分割:文本分割器把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-03
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
comfyui动画片工作流怎么构建
构建 ComfyUI 动画片工作流的步骤如下: 1. 打开 Comfyui 界面后,右键点击界面,找到 Comfyui LLM party 的目录。您可以学习手动连接节点来实现最简单的 AI 女友工作流,也可以将工作流文件拖拽到 Comfyui 界面中一键复刻提示词工程实验。 2. 从 ollama 的 github 仓库找到对应版本并下载。启动 ollama 后,在 cmd 中输入 ollama run gemma2 将自动下载 gemma2 模型到本地并启动。将 ollama 的默认 base URL=http://127.0.0.1:11434/v1/以及 api_key=ollama 填入 LLM 加载器节点即可调用 ollama 中的模型进行实验。 3. 若 ollama 连接不上,很可能是代理服务器的问题,请将 127.0.0.1:11434 添加到不使用代理服务器的列表中。 此外,还有以下相关工作流搭建的信息供您参考: 1. 搭建艺术二维码工作流:打开 ComfyUI 导入相应工作流。工作流所用到的节点包括大模型节点(可选择如 AWPainting、primemixanything、xxmix9realistic v40 等,并提供了相应链接)、关键词节点、Lora 节点、ControlNet 节点(选用 qrcode_monster V2 版本,下载链接:https://huggingface.co/monsterlabs/control_v1p_sd15_qrcode_monster/tree/main/v2 )、采样器节点(Step 选择高步数,35 50 即可,采样器默认的 euler a/dpmpp 2m sde )。 2. 搭建 ComfyUI 基础工作流:从零开始搭建时,首先准备加载大模型的节点,在工作区鼠标右键点击,选择 Add Node > 选择 loaders > 选择 Load Checkpoint,并选择对应的模型。然后加载 Conditioning(条件),在工作区鼠标右键点击,选择 Add Node > 选择 Conditioning > 选择 CLIP TEXT Encode,输入正反向提示词。添加采样器时,部分参数设置与 WEB_UI 有所不同,如 seed 值只有固定、随机、每次增加、每次减少这四个选项,采样器和调度器是分开的。
2025-04-13
flowith根据自然语言构建一个直接使用的工作流吗,如何向flowith提出要求
Flowith 可以根据自然语言构建工作流。即使没有专业编程技能,只要能用清晰的自然语言描述出想要的各个 Agents 具备的行为和功能,就可以快速制作多 Agents 应用或创建代理式工作流。 使用工作流的步骤如下: 1. 配置工作流: 在 Code 节点内使用 IDE 工具,通过 AI 自动生成代码或编写自定义代码逻辑,来处理输入参数并返回响应结果。 该节点支持 JavaScript、Python 运行时,需注意不同运行时的特定事项。 可在 IDE 底部单击尝试 AI,并输入自然语言设定代码逻辑,也可选中代码片段通过快捷键唤起 AI 并输入自然语言让其修改代码。 2. 通过工作流数据库节点操作数据表: 在工作流中添加数据库节点对数据表进行操作,可通过 NL2SQL 方式和代码方式进行调用,支持完整读写模式。 参考以下操作添加并配置工作流节点: 单击页面顶部的工作流页签,然后单击创建工作流。 输入工作流名称和使用描述,然后单击确认。 在基础节点页签下,将数据库节点拖入到工作流配置画布区域。 根据相关信息配置数据库节点,包括输入添加 SQL 执行中需要的参数,输入要执行的 SQL 语句,可单击自动生成使用大模型生成 SQL。 需注意不支持 Select语法、多表 Join 操作,最多返回 100 行数据。在配置数据库节点前,要确保已经搭建了一个 Bot,并在这个 Bot 中创建好了数据表。
2025-03-26
构建知识库有什么要注意的?
构建知识库时需要注意以下几点: 1. 在使用在线检索流程生成结果时: 重排序的结果通常因大模型上下文有限制而不会都被使用,可以设置阈值进行截断,如只使用前 3 5 个文档,或只取相关性分数大于某个值的文档。 一些先进的 RAG 系统会对选中的文档进行摘要或压缩,以在有限空间内包含更多相关信息。 2. 对于后置处理,可能包括敏感内容检测和移除、格式化输出等。 3. 创建智能体的知识库时: 手动清洗数据可提高准确性,如创建画小二课程的 FAQ 知识库时,飞书在线文档中每个问题和答案以分割。 对于本地文档,不能一股脑全部放进去训练,应先放入大的章节名称内容,再按固定方式细化处理。 4. 使用 Coze 搭建知识库时: 文档的分片策略会严重影响查询结果,RAG 方案存在跨分片总结和推理能力弱、文档有序性被打破、表格解析失败等问题。 希望以上内容对您有所帮助。
2025-03-25
如何构建知识库
构建知识库的方法主要有以下两种: 使用 flowith 构建知识库: 1. 选择“Manage Your Knowledge Base”,进入知识库管理页面。 2. 点击左上角的加号,添加新的知识库,并为其起一个易于分辨的名字。 3. 点击添加文件,建议使用 Markdown 格式的文件。 4. Flowith 会对文件逐个进行抽取等处理,无需操心具体过程,等待处理完毕。 5. 处理完毕后,可以在知识库管理页面测试检索,输入关键词过滤相关内容。 使用 Dify 构建知识库: 1. 准备数据:收集需要纳入知识库的文本数据,包括文档、表格等格式,并对数据进行清洗、分段等预处理,确保数据质量。 2. 创建数据集:在 Dify 中创建一个新的数据集,并将准备好的文档上传至该数据集,为数据集编写良好的描述。 3. 配置索引方式:Dify 提供了三种索引方式供选择,包括高质量模式、经济模式和 Q&A 分段模式,根据实际需求选择合适的索引方式。 4. 集成至应用:将创建好的数据集集成到 Dify 的对话型应用中,作为应用的上下文知识库使用,在应用设置中配置数据集的使用方式。 5. 持续优化:收集用户反馈,对知识库内容和索引方式进行持续优化和迭代,定期更新知识库,增加新的内容以保持时效性。 总的来说,Dify 提供了一个可视化的知识库管理工具,关键步骤包括数据准备、数据集创建、索引配置,以及将知识库集成到应用中并持续优化。
2025-03-20
我是新手小白,如何用最简单的方式构建多智能体
对于新手小白构建多智能体,以下是一种较为简单的方式: 1. 快速搜索补充参考信息:根据用户的任务调研市场上主流的开源搜索引擎技术架构,使用搜索工具 API WebSearchPro 补充更多信息,具体可参考。 2. 用模型规划和分解子任务:使用大模型如 GLM40520 帮助规划,把用户问题拆分成若干子搜索任务,并转换为 JSON 格式。JSON 格式处理可参考。 3. 用搜索智能体完成子任务:AI 搜索智能体具备联网搜索和自主分析并进行多轮搜索任务的能力。智能体 API 的调用方式可参考。智能体 id 为 659e54b1b8006379b4b2abd6,简介为连接全网内容,精准搜索,快速分析并总结的智能助手。 4. 总结子任务生成思维导图:智能体能调用各种插件,如思维导图、流程图、PPT 工具等,可根据工作需要选择。智能体 API 的调用方式可参考。智能体 id 为 664e0cade018d633146de0d2,简介为告别整理烦恼,任何复杂概念秒变脑图。 另外,OpenAI 官方开源的多智能体框架「Swarm」具有一定优势,其「Handoffs」处理了不同智能体之间交接的逻辑。例如构建客服多智能体,可能只需要准备普通接线客服和宽带客服两个 Agent 。 在实际操作中,如创建 Coze 智能体获取笔记和评论信息,要创建智能体并使用单 Agent 对话流模式,编排对话流,进行测试和发布等步骤。发布时要注意相关配置,如输出类型、输入类型等。
2025-03-20