基于Langchain-chatchat搭建本地智能知识问答系统


搭建本地智能知识问答系统:基于Langchain-chatchat的实践指南

引言

在数字化时代,企业对知识管理的需求日益增长。本地化的知识问答系统不仅能提升数据安全性,还能实现私域化部署,满足企业对数据保密和快速响应的需求。本文将介绍如何基于Langchain-chatchat搭建一个本地智能知识问答系统。

项目概述

基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型API 的接入。
本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 -> 匹配出的文本作为上下文和问题一起添加打包-> 提交给LLM,最后生成回答。
强烈推荐使用 Python3.11,创建一个虚拟环境,并在虚拟环境内安装项目的依赖。需要注意电脑显存要大于12G,不然该项目跑不动。
该项目是一个可以实现完全本地化推理的知识库增强方案, 重点解决数据安全保护,私域化部署的企业痛点。本开源方案采用Apache License,可以免费使用,无需付费。

以下是搭建基于Langchain-chatchat的本地智能知识问答系统的流程图:

成功
失败
开始
环境检查
结束
是否安装Anaconda?
创建并激活Anaconda环境
安装Anaconda
检查Anaconda安装
安装pip
克隆Langchain-Chatchat仓库
安装依赖
下载模型资料包
初始化配置
启动系统
演示系统
结束

环境安装

Anaconda

Anaconda是一个流行的Python数据科学和机器学习平台,它通过提供集成的发行版和包管理器conda,简化了数据科学项目的设置和管理。Anaconda的主要功能包括包管理、环境管理、数据科学工具和库的预装以及跨平台支持。

# 创建新的环境
conda create--name环境名称
# 创建指定 Python 版本的环境
conda create--name环境名称python=版本号# 查看环境
condaenvlist
# 激活环境
conda activate 环境名称
# 删除环境
conda remove-n环境名称--all
# 安装指定包:
condainstall包名称
# 安装指定版本的包
condainstall包名称=版本号
# 安装多个包
condainstall包名称1 包名称2 包名称3 # 查看当前环境的所有包
conda list
# 卸载包
conda remove 包名称

pip

pip是一个现代的、通用的Python包管理工具,用于查找、下载、安装和卸载Python包。

# 安装库
pipinstallpackage-name
# 查看已安装的库
pip list
# 卸载库
pip uninstall package_name

项目安装步骤

  1. 通过Git克隆Langchain-Chatchat仓库。
  2. 进入目录并安装全部依赖。
  3. 使用git lfs安装模型下载资料包。
  4. 初始化配置和数据库。
# 拉取仓库
$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 进入目录
$ cd Langchain-Chatchat
# 安装全部依赖
$ pip install -r requirements.txt
$ pip install -r requirements_api.txt
$ pip install -r requirements_webui.txt
# 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。
  • 模型下载:
资料包
$ git lfs install
$ git clone https://huggingface.co/THUDM/chatglm3-6b $ git clone https://huggingface.co/BAAI/bge-large-zh 初始化
$ python copy_config_example.py
$ python init_database.py --recreate-vs
$ python startup.py -a

大语言模型(LLM)的重要性

LLM是利用机器学习技术理解和生成人类语言的AI模型。它们使用基于神经网络的模型和自然语言处理(NLP)技术,能够执行文本分析、情绪分析、语言翻译和语音识别等任务。

结语

基于Langchain-chatchat搭建的本地智能知识问答系统,不仅提供了一个开源的解决方案,还通过Apache License允许免费商用,无需付费。这为企业提供了一个高效、安全且成本效益高的知识管理工具。


  • 22
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值