本地知识库+语言大模型=知域问答

本文介绍如何利用本地知识库和LangChain构建问答系统。内容涵盖本地知识库的构建思路,如文本切分、向量化和保存,以及通过大模型构建问答系统的两种方法。同时提供了离线知识库的搭建教程,并推荐了人工智能相关的在线教程和书籍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本项目实质为本地知识库构建及应用,内容包含:

  1. 本地知识库构建及应用相关知识的介绍
  2. 离线式本地知识库构建及应用
  3. 在线式本地知识库构建及应用

本地知识库构建及应用相关知识的介绍

本地知识库

本地知识库通常是指存储在本地计算机或服务器上的数据库或数据集,用于提供本地环境下的知识和信息。

本地知识库构建思路

  • 收集知识,如txt文件等;
  • 对文本进行切分;
  • 将文本转化为向量;
  • 将向量保存到本地向量数据库或者在线向量数据库;
  • 与LLM联系构建问答应用。

其实算法的整体思路也是这些步骤,明显只靠LLM是不够的,我们还需要一些其他功能将LLM应用起来,langchain就提供了一整套框架帮我们更好的应用LLM。

LangChain介绍

langchain是一个开发基于语言模型应用程序开发框架,链接面向用户程序和LLM之间的中间层。利用LangChain可以轻松管理和语言模型的交互,将多个组件链接在一起,比如各种LLM模型,提示模板,索引,代理等等。
img

langchain-ChatGLM

langchain-ChatGLM项目就是参考了Langchain的思路,实现了本地知识库构建及应用,我们一起看下langchain-ChatGLM搭建本地知识库的流程。
img

解释上图的langchain-ChatGLM项目流程如下:
(1-2)准备本地知识库文档,使用Unstructured Loader类加载文件,获取文本信息。

(3-4)对文本进行分割,将大量文本信息切分为chunks。

(5)选择一种embedding算法,对文本向量化,embedding算法有很多,选择其中一种即可。

(6)将知识库得到的embedding结果保存到数据库,保存到数据库后就不需要在执行上述步骤了。

(8-9)将问题也用同样的embedding算法,对问题向量化。

(10)从数据库中查找和问题向量最相似的N个文本信息。

(11)得到和问题相关的上下文文本信息。

(12)获取提示模板。

(13)得到输入大模型的prompt比如:“结合以下信息:” + 上下文文本信息 + “回答” + question + “输出规范:不要回答‘根据给出的信息、以上仅供参考、可以去哪里了解更多信息之类的’”。

(14)将prompt输入到LLM得到答案。

环境安装

In [ ]

# 创建持久化安装路径
!mkdir /home/aistudio/packages
!pip install langchain -t /home/aistudio/packages
# 加载文档
!pip install unstructured -t /home/aistudio/packages
# 解析表格
!pip install tabulate -t /home/aistudio/packages
# 使用sentence_transformers进行embedding
!pip install sentence_transformers -t /home/aistudio/packages
# 向量数据库
!pip install chromadb -t /home/aistudio/packages
!pip install supabase -t /home/aistudio/packages
# EB SDK
!pip install erniebot -t /home/aistudio/packages
# openai
!pip install openai  -t /home/aistudio/packages

In [ ]

# 执行完上面的环境安装部分后,以后再运行该项目只需要执行以下代码即可,无需重复安装环境
import sys
sys.path.append('/home/aistudio/packages')

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值