首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >搭建一个本地AI知识库需要用到哪些技术栈?

搭建一个本地AI知识库需要用到哪些技术栈?

作者头像
测试蔡坨坨
发布于 2024-07-01 05:21:00
发布于 2024-07-01 05:21:00
6440
举报

“阅读本文大概需要5分钟。

前言

你好,我是测试蔡坨坨。

随着AI热度愈发火热,越来越多的产品在AI的“赋能”下不断革新和进化。

AI技术的飞速发展不仅改变了人们的生活方式,也大大提升了各行各业的生产效率和创新能力。

在此背景下,我们不妨自己动手丰衣足食,搭建一套属于自己的本地的AI ChatBot?顺便学习下“高大上”的AI技术,亲身体验和把握这股“科技潮流”?

本篇,我们将通过全局的视角来看一下 “基于本地上传的文档进行QA问答” 类似的案例,需要学习哪些知识点以及会用到哪些技术栈。

框架

目前,根据我所了解到的知识,市面上深层次的ChatBot主流实现框架基本都是大同小异。

本地大模型 + LangChain + 前端界面

结合RAG框架:上传本地文件 + 文件切片 + Embedding向量编码 + LLM大语言模型

整体流程图
doc flow 文档处理流程
  1. 首先,从本地加载文档(upload & loader),比如:pdf、txt、csv、md等 从许多不同来源加载文档,LangChain提供了100多种不同的文档加载器。
  2. 加载完成后,对文档进行处理,提取文档信息
  3. 提取完文档信息后,进行文本切分
    • 为什么要切分文本? 因为有时候我们的文档内容比较多,比如一本书,这种情况下不可能一次性去处理,就需要将文本切成一块一块的,分块处理。
    • 如何进行合理切分? 我们通常希望将主题相同的文本片段放在一块。例如,Markdown文件是由h1、h2、h3等多级标题组织的,我们可以根据Markdown标题分割文本内容,把标题相同的文本片段组织在一块。借助LangChain的MarkdownHeaderTextSplitter文本切割器实现。
  4. 文档切割后得到文本块
  5. 对切割完成后的文本块进行Embedding向量编号 Embedding这里我们会用到很多模型,比如可以调用OpenAI的接口(收费),还可以用HuggingFaceHub(免费)等。
  6. 将所有文本的编码全部存储到向量数据库中 例如:Faiss、Pinecone、Chroma、Milvus等。
token flow 用户提问&AI回答
  1. 用户进行提问,输入一个问题
  2. 对用户输入的问题进行Embedding编码
  3. 将用户输入的向量与数据库中所有的向量进行相似性计算,即用户的提问跟数据库里哪些文本的相关性最高
  4. 文本召回,把达到某一个阈值的相关文本全部召回
  5. 将召回的文本结合问题,形成一个上下文的模板
  6. 基于上下文模板向大模型LLM提问
  7. 获取到我们想要的答案
优点

这种实现方式有什么好处呢?

  • 我们可以让大语言模型在回答问题的时候是基于我们提供的文档范围去回答,减少AI幻觉,避免一本正经的胡说八道。
  • 大语言模型可能信息更新不及时,基于我们提供的文档去回答,也解决了信息不及时的问题。

以上,完。

脚踏实地,仰望星空,和坨坨一起学习软件测试,升职加薪!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试蔡坨坨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
3分钟!教会你用Doris+DeepSeek搭建RAG知识库(喂饭级教程)
❝清晨,我泡上一杯98年的咖啡,打开电脑,收到一条来自Doris用户的消息: "请问有 将doris数据库数据作为deepseek大模型的知识库的方法吗" "好滴,安排!" 于是,和这位Doris用户聊了聊,发现这类需求随着DeepSeek的爆火被无限放大了,但也确实是一个‌引申的机遇与挑战。 也罢,今天就来一探究竟,一起学习学习如何基于Doris+DeepSeek打造你的专属AI助手!
一臻数据
2025/02/26
1.1K1
3分钟!教会你用Doris+DeepSeek搭建RAG知识库(喂饭级教程)
LLMOps实战(一):DeepSeek+RAG 协同构建企业知识库全流程指南
首先解释下什么是 LLMOps,Large Language Model Operations是专注于大语言模型全生命周期管理的工程实践,涵盖从模型开发、部署、监控到持续优化的系统性流程。其核心目标是提升LLM应用的可靠性、效率与可控性,解决大模型在实际落地中的技术与管理挑战。
范赟鹏
2025/03/24
4.6K0
使用​​langchain​​搭建自己的本地知识库系统
RAG 是retrieval-augmented-generation的缩写,翻译为中文的意思就检索增强,以基于最新,最准确的数据建立LLM 的语料知识库。
用户1418987
2024/09/06
8940
使用​​langchain​​搭建自己的本地知识库系统
在 LangChain 尝试了 N 种可能后,我发现了分块的奥义!
分块(Chunking)是构建检索增强型生成(RAG)(https://zilliz.com.cn/use-cases/llm-retrieval-augmented-generation)应用程序中最具挑战性的问题。分块是指切分文本的过程,虽然听起来非常简单,但要处理的细节问题不少。根据文本内容的类型,需要采用不同的分块策略。
Zilliz RDS
2023/11/09
1.1K0
在 LangChain 尝试了 N 种可能后,我发现了分块的奥义!
5 分钟内搭建一个免费问答机器人:Milvus + LangChain
答案是 5 分钟。只需借助开源的 RAG 技术栈、LangChain 以及好用的向量数据库 Milvus。必须要强调的是,该问答机器人的成本很低,因为我们在召回、评估和开发迭代的过程中不需要调用大语言模型 API,只有在最后一步——生成最终问答结果的时候会调用到 1 次 API。
Zilliz RDS
2023/12/26
1.9K0
5 分钟内搭建一个免费问答机器人:Milvus + LangChain
一百行代码实现自己的RAG知识库
本人日常工作需要对接各种第三方合作方,对接过程中的文档繁多、沟通不及时、问题排查繁琐以及工作具有重复性等问题愈发明显。合作方遇到对接问题需要提工单经门户网站-->产品部门接口人-->开发人员问题排查/修复-->产品部门接口人-->合作方收到回复,这种模式联调、验收流程较长。
CoderJia
2024/10/18
4370
一百行代码实现自己的RAG知识库
基于InternLM和LangChain搭建自己的知识库
为了突破LLM的局限性,目前有两种范式可行:RAG(检索增强生成)和Finetune(模型微调)。
阿提说说
2024/03/01
1.1K0
基于InternLM和LangChain搭建自己的知识库
基于LangChain实现RAG的技术原理
老_张
2025/05/17
1770
基于LangChain实现RAG的技术原理
【玩转 GPU】搭建本地知识库--chatGLM+langchain(尝鲜篇)
有一天发现,在腾讯文档中想搜索之前写的东西需要收费了。这钱非花不可吗?好像不用。我们可以利用langchain+chatGLM在本地搭建自己的知识库,除了能搜索到文档这个功能,还能基于知识库内容和你进行对话问答~
languageX
2023/07/03
10.9K0
用 LangChain 搭建基于 Notion 文档的 RAG 应用
如何通过语言模型查询 Notion 文档?LangChain 和 Milvus 缺一不可。
Zilliz RDS
2023/12/01
7140
用 LangChain 搭建基于 Notion 文档的 RAG 应用
用 LangChain 构建文档问答助手
随着大语言模型(LLM)的广泛应用,越来越多企业和个人希望利用它来实现“基于文档的智能问答”功能。例如:
IT蜗壳-Tango
2025/04/09
2500
ChatGPT 引爆向量数据库赛道
最近,为 ChatGPT 等生成式 AI 应用提供向量搜索、向量数据存储、向量嵌入等功能的向量数据库赛道突然走红,两家初创公司 Pinecone 和 Weaviate 共获 10 亿元融资,融资时间仅间隔6天,而 Shopify、Brex、Hubspot 等公司正在将向量数据库和 Embedding 作为其 AI 应用的基础。
程序员树先生
2023/05/10
9650
ChatGPT 引爆向量数据库赛道
测试答疑助手:从需求文档到设计文档、测试用例的完整测试过程
本文将基于 LangChain 实现一个 mini 的实战案例。这次实战主要完成的任务,就是设计一个测试答疑助手,这个测试答疑助手的主要功能为基于本地的文档和数据,回答给出的自然语言问题,比如一些数据的统计,查找、组合。
霍格沃兹测试开发Muller老师
2024/05/09
2130
大模型开发实战:(二)使用 LangChain 构建本地知识库应用
检索增强生成(Retrieval-Augmented Generation,RAG)是一种优化大型语言模型输出的方法,允许模型在生成回答前,从外部知识库中检索相关信息,而非仅依赖模型内部训练的知识。通过引用外部知识库的信息来生成更准确、实时且可靠的内容,并解决知识过时和幻觉的问题。下面将介绍使用 LangChain 和 Ollama 实现一个本地知识库应用。
张高兴
2025/05/21
9160
大模型开发实战:(二)使用 LangChain 构建本地知识库应用
大模型结合知识库问答应用第一次实践(下)
记录一次用大模型LLM和向量数据库,搭建垂直领域的知识库问答实践。上文已经介绍了文本如何转换成向量,存储到向量数据库中。本文将介绍大语言模型LLM+提示工程+向量数据库作为背景知识,回答用户的提问。
用户9295575
2024/09/11
2700
RAG实操教程langchain+Milvus向量数据库创建你的本地知识库
RAG 是retrieval-augmented-generation的缩写,翻译为中文的意思就检索增强,以基于最新,最准确的数据建立LLM 的语料知识库。
用户1418987
2024/09/06
2K0
RAG实操教程langchain+Milvus向量数据库创建你的本地知识库
探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成
由于 RAG 的整体思路是首先将文本切分成不同的组块,然后存储到向量数据库中。在实际使用时,将计算用户的问题和文本块的相似度,并召回 top k 的组块,然后将 top k 的组块和问题拼接生成提示词输入到大模型中,最终得到回答。
汀丶人工智能
2024/01/10
4.2K0
探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成
基于 InternLM 和 Langchain 搭建云端知识库
在InternStudio平台中选择 A100(1/4) 的配置,如下图所示镜像选择 Cuda11.7-conda,如下图所示:
AIGC新知
2024/10/08
1910
基于 InternLM 和 Langchain 搭建云端知识库
一脚踹开 RAG 大门,深入它所面临的挑战
思路:构建几十万量级的数据,然后利用这些数据对大模型进行微调,以将额外知识注入大模型;
掘金安东尼
2024/04/12
5370
一脚踹开 RAG 大门,深入它所面临的挑战
教你快速上手AI应用——吴恩达AI系列教程 第二课
人工智能风靡全球,它的应用已经渗透到我们生活的方方面面,从自动驾驶到智能家居,再到医疗辅助和量化交易等等。他们逐渐改变了我们的生活方式,然而,对于许多人来说,AI仍然是一个神秘且无法理解的领域。
Cloud Studio
2023/09/19
5730
教你快速上手AI应用——吴恩达AI系列教程 第二课
推荐阅读
相关推荐
3分钟!教会你用Doris+DeepSeek搭建RAG知识库(喂饭级教程)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档